CNCzone.com-The Largest Machinist Community on the net!



Home Page Mark Forums Read Today's Posts My Replies Classifieds Reviews Photo Gallery Web Links Share Files Advertise With Us Ad List
Go Back   CNCzone.com-The Largest Machinist Community on the net! > Machine Controllers Software and Solutions > G-Code Programing > Parametric Programing


Parametric Programing (custom macro b, fadal macro, okuma user task)


This forum is sponsored by:

Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Ban this user!
Old 02-04-2009, 03:22 PM
Tuz Tuz is offline
 
Join Date: Jan 2009
Location: USA
Posts: 11
Tuz is on a distinguished road
Parametric Programming

Can anyone here help me with writing a Parametric program for a One piece MDF door I am making?
I guess you can call it a pocket route.
I am using a 2.75 fly cutter to hog out the middle. Basically I want to tell the program X= a certain length, and Y = a certain length. My stiles and rails are 2.3125 and have it clean out the middle at a specified depth.
I have a Heian Router, with a fanuc controller.
Any help would be greatly appriciated.
This is how far I have gotten so far... I just can't figure out the middle part.
I am also using a 1/2" and 1/8" bit to clean the corners....
N10G0G17G20G40G49G80G90Z0
M211
M400
M402
T10M6
#1=3.6875(FLY CUTTER)
#2=.375 (Z DEPTH)
#3=2.5625 (1/2" CUTTER)
#4=2.375 (1/8" CUTTER)
G08P1
N20G55M91S15000X[#500/2]Y#1
N30G43H42Z.25
N40G1G90G1Z-#2F200.G61
X#1F300.
N50Y[#501-#1]
N60X[#500-#1]
N70Y#1
N80X#1
N90G40G49G0G64Z0M95
M400
M401
T9M6
N100G54M91S20000X[#500/2]Y#3
N110G43H9Z.25
N120G1G90Z-#2F162.5G61
X#3F325.
N130Y[#501-#3]
N140X[#500-#3]
N150Y#3
N160X#3
Z1.0
N170G40G49G0G64Z0M95
M400
M402
T11M6
G55M91S18000X[#500/2]Y#4
N190G43H43Z.25
N200G1G90Z-#2F25.G61
X#4F200.G61
N210Y[#501-#4]
N220X[#500-#4]
N230Y#4
N240X#4
Z1.0
G0G40X6.Y6.
N250G0G49G64Z0M95
M12
M22
G53Y0
N260G08P0
M212
M99
%
Tweet this Post!Share on Facebook
Reply With Quote

  #2   Ban this user!
Old 02-04-2009, 08:12 PM
neilw20's Avatar  
Join Date: Jun 2007
Location: Australia
Age: 62
Posts: 2,189
neilw20 is on a distinguished road
Please explain.

The middle bit?
Please add a few comments to your code so we know what the problem is.
I ran the code with an emulator and get 3 rectangles with tool changes.
Your imagination is better than my conceptualizing.
__________________
Super X3. 3600rpm. Two possible way to fix things: The right way or the other way.
Tweet this Post!Share on Facebook
Reply With Quote

  #3   Ban this user!
Old 02-05-2009, 09:40 AM
Tuz Tuz is offline
 
Join Date: Jan 2009
Location: USA
Posts: 11
Tuz is on a distinguished road

Yes, three rectangles is correct. What I am looking at doing, is cleaning out the middle of the rectangle with the first fly cutter. That is what I am calling the middle of the program. Let's say my door is 12.0 = #501 and 14.0 = #500
After running my current program there will be a 2" in the "Y" direction and a 4" piece in the "X" direction left in the middle.
I want the cutter to know that based on the size of the door, the size of my stiles and rails, the diameter of the cutter, that there is still more material to be cleaned out. No matter the variables in #500 and #501

I tried attatching a picture, but it failed to upload??

O453(PRODUCTION SHAKER LEFT)
N10G0G17G20G40G49G80G90Z0
M211
M400
M402
T10M6
#1=3.6875(FLY CUTTER)
#2=.375 (Z DEPTH)
#3=2.5625 (1/2" CUTTER)
#4=2.375 (1/8" CUTTER)
G08P1
N20G55M91S15000X[#500/2]Y#1
N30G43H42Z.25
N40G1G90G1Z-#2F200.G61
X#1F300.
N50Y[#501-#1]
N60X[#500-#1]
N70Y#1
N80X#1


(HERE)



N90G40G49G0G64Z0M95
M400
M401
T9M6
N100G54M91S20000X[#500/2]Y#3
N110G43H9Z.25
N120G1G90Z-#2F162.5G61
X#3F325.
N130Y[#501-#3]
N140X[#500-#3]
N150Y#3
N160X#3
Z1.0
N170G40G49G0G64Z0M95
M400
M402
T11M6
G55M91S18000X[#500/2]Y#4
N190G43H43Z.25
N200G1G90Z-#2F25.G61
X#4F200.G61
N210Y[#501-#4]
N220X[#500-#4]
N230Y#4
N240X#4
Z1.0
G0G40X6.Y6.
N250G0G49G64Z0M95
M12
M22
G53Y0
N260G08P0
M212
M99
%
Tweet this Post!Share on Facebook
Reply With Quote

  #4   Ban this user!
Old 02-05-2009, 10:00 AM
neilw20's Avatar  
Join Date: Jun 2007
Location: Australia
Age: 62
Posts: 2,189
neilw20 is on a distinguished road
Picture shrinking

To make the .jpg smaller, open it with MS PC paint, ignore how it looks, and 'save as' the same .jpg file. Beware that if PC crashes, while saving (and mine has from time to time) it can destroy the original jpg file(s), so use a different name if it is your only picture file. Dunno why it destroys them but happens when I try to do too many files at once.
Some sort of memory leak?? Who cares. Just be defensive.
You probably hit the 500K jpg size limit.
Bigger files can be uploaded to photobucket or similar, and inlude the link.
__________________
Super X3. 3600rpm. Two possible way to fix things: The right way or the other way.
Tweet this Post!Share on Facebook
Reply With Quote

  #5   Ban this user!
Old 02-05-2009, 10:15 AM
Tuz Tuz is offline
 
Join Date: Jan 2009
Location: USA
Posts: 11
Tuz is on a distinguished road

Here is the picture
Attached Thumbnails
Click image for larger version

Name:	DSC00085.jpg‎
Views:	60
Size:	36.7 KB
ID:	75114  
Tweet this Post!Share on Facebook
Reply With Quote

Sponsored Links
  #6   Ban this user!
Old 02-05-2009, 10:49 AM
neilw20's Avatar  
Join Date: Jun 2007
Location: Australia
Age: 62
Posts: 2,189
neilw20 is on a distinguished road
Cutter sizes?

Do the cutter sizes represent cutter radius?
Where do the numbers 2.5625 and 2.375 come from?
If you make a subprogram that goes around once and decrements an X and Y value by the cutter radius each call, and calculate the number of calls required and put this in as the L[#loops] value, the routine will get called #loop times changing settings each pass, therby clearing out any area you decide upon.
Your program needs to initialize #500 and #501 at the start, so you don't get a big (crash) surprise if you the program a week later.
ALWAYS initialize ALL variables, or at least make a program crash if they are zero.
A dummy line Nxxx 100/[#number] will stop program because of divide by zero error.
IMHO...
Your program would be much easier to read with some spaces in it, and a few more comments.
It will help you later, when you use the program in 3 months time too.

I am not a cabinet maker, so the term stiles and rails have no meaning to me as a programmer.
__________________
Super X3. 3600rpm. Two possible way to fix things: The right way or the other way.
Tweet this Post!Share on Facebook
Reply With Quote

  #7   Ban this user!
Old 02-09-2009, 06:08 AM
 
Join Date: Mar 2008
Location: SA
Posts: 9
maxima.jonathan is on a distinguished road
Hmm

Looks like he is using 3 tools, Normal Sized cutter a 1/2 cutter and a 1/8 cutter (at least from what I can figure)

#1 ; #3 ; #4 all look like toold offsets for them to begin at EG DX-RailWidth (Tool Dimension Included)
Personally I'd code it Like this in Zilog
L Tooldiam1 = 10
L Tooldiam2 = 8
L Tooldiam3 = 4
L BorderWidth = 50

then when I am calling the G0

G0 X= DX-BorderWidth+Tooldiam1
(Now thats easier for a layman to understand, if your language doesn't allow words as variables you could use # numbers)

I agree with the Loops (As I am not familiar with the language you are using, I'll just say what I would do for something like this, more like an algorithm)

Now there really is an easier way to do this than using a NCommand (I'd Use a G1)
L Loopvalue = BorderWidth+(ToolDiam1/2)
.StartLoop
L LoopValue = LoopValue + ToolDiam1/2 (I divide by 2 as it gives a cleaner cut takes longer though)
G0 X= BorderWidth + (Tooldiam1/2) Y=LoopValue Z = Depth T = 101?
G1 X= DX-(Tooldiam1/2)
If LoopValue>= DY-ToolDiam1 then Goto endloop
Goto StartLoop
.EndLoop
//The fiddly bit would be to clean up that final liune with a routing after the program is done
G0 X=BorderWidth+(ToolDiam1/2) Y=DY-BorderWidth-(Tooldiam1/2)
G1 X=BorderWidth - (Tooldiam1/2)


That would be the start of the program at least I would think so...

Then if you are wanting to be really fancy you'd run another router down the line to make Tongue&Grooves within the cleaned area as well (Thats slightly more complicated because you have to allow the T&G tolerance adjustment within the looping frame so you have to first calculate the differences and then run them with an adjustment field to allow it to fit in any size door (EG I want my T&G to be 80mm apart but I'll Accept the value you can fit in the area, when I did that I found the T+G was never more than 1/8 difference between actual and desired and always fitted square.)
Tweet this Post!Share on Facebook
Reply With Quote

  #8   Ban this user!
Old 02-09-2009, 09:27 AM
Tuz Tuz is offline
 
Join Date: Jan 2009
Location: USA
Posts: 11
Tuz is on a distinguished road

thanks,
let me give this a try
Tweet this Post!Share on Facebook
Reply With Quote

Reply




Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Parametric programming. chrisryn Parametric Programing 32 01-26-2009 06:14 AM
New to Parametric Programming weaston G-Code Programing 4 02-27-2007 08:40 AM
Parametric Programming weaston General CAM Discussion 4 02-20-2007 08:25 AM
Parametric Programming widgitmaster BobCad-Cam 7 05-04-2006 02:04 PM
parametric programming Karl_T CamSoft Products 21 05-24-2005 03:58 PM




All times are GMT -5. The time now is 05:12 AM.





Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Content Relevant URLs by vBSEO
Template-Modifications by TMS

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353