![]() | |
| Home Page | Mark Forums Read | Today's Posts | My Replies | Classifieds | Reviews | Photo Gallery | Web Links | Share Files | Advertise With Us | Ad List |
| |||||||
| G-Code Programing Discuss G-code programing and problems here! |
| This forum is sponsored by: |
![]() |
| | LinkBack | Thread Tools | Search this Thread | Display Modes |
|
#1
| |||
| |||
| Hard core software programmer (C++, Objective C), however I am new to CNC and G code. I am having problems using cutter compensation in a small circular pocket. My challenge is to mill an array of 0.25" circular pockets wilt a 0.188 end mill. I start by setting a radius for my cutter compensation of 0.1 for roughing, my smallest arc uses a radius of 0.1125 which I thought should work however the controller fails. If I set the radius to a small value 0.005" the controller runs with it (of course the pocket becomes too large). I am testing on a Fadal mill with what I believe to be a level 2 controller. I can do a workaround, however I would like to know WHY I am having this problem. Below I have a written a sample program which illustrates the issue (excuse the wasted motions at the start, originally I wrote this as a sub program, so this is an adaptation). % O5737 N10 G0 G17 G20 G40 G49 G80 G90 N20 G54 N30 T3 M6 N40 S3500 M3 N50 G0 X-2.0 Y-1.0 N60 G0 G43 Z1.0 H3 N70 G1 Z0.1 F50 N80 G0 X0 Y0 N90 G0 X0 Y-0.001 N100 G1 G41 X0 Y0 D3 N110 G1 X0.1 Y0 N120 G1 Z-0.05 N130 G3 X-0.125 Y0 I-0.1125 J0 N140 G3 X-0.125 Y0 I0.125 J0 N150 G3 X0.1 Y0 I0.1125 J0 N160 G1 Z0.1 N170 G1 G40 X0 Y0.001 N180 G0 Z1.0 N190 M5 N200 G0 X-2.0 Y-1.0 N210 G0 G28 G49 G90 Z0 N220 M30 % Thanks, - George Lawrence Storm, Kenmore (Seattle), Washington
__________________ George Lawrence Storm, Kenmore (Seattle), Washington Inventor, Machinist, Macintosh Applications Developer, Videographer |
|
#2
| |||
| |||
| keencoyote, Come to the Puget sound BBQ and I will show you in person: http://www.cnczone.com/forums/showth...808#post459808 |
|
#3
| ||||
| ||||
Here is an example with a .030" radius lead in/out, which should keep the tool safely inside the profile. S3500 M03 G00 X0.0012 Y-0.03 Z0.25 Z0.05 G01 S3500 Z-0.05 F4.5 G41 D3 Y-0.1237 F9. G03 X0.125 Y0. I0. J0.1238 X-0.125 Y0. I-0.125 J0. X0.125 Y0. I0.125 J0. X0.0013 Y0.1238 I-0.1238 J0. G01 G40 Y0.03 G00 Z0.25
__________________ First you get good, then you get fast. Then grouchiness sets in. (Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management) |
|
#4
| |||
| |||
| You are using a radius of 0.1 for cutter compensation, and this is larger than your tool radius by 0.006 so you leave a finish allowance. You are milling circular pockets 0.250" diameter so the radius is 0.125" but you use a circle radius of 0.1125. Surely if you are using an oversize tool radius you should be using the correct size circle radius, in other words 0.125? This is the way I do it; do a first cut using a cutter compenstaion entry that is larger than the tool radius. Then do a finish cut using the actual tool radius in the compensation.
__________________ An open mind is a virtue...so long as all the common sense has not leaked out. |
|
#5
| |||
| |||
I did a few experiments this morning, I found that setting the cutter compensation to .0555 worked, but setting it to .0556 failed. It appears to be a mathematical limit, however it is occurring before half of the smallest radius, 0.1125 (.05625), so it brings to question if this threshold is specific to the machine or to G code in general. The funny little jog is working as expected: N80 G0 X0 Y0 N90 G0 X0 Y-0.001 N100 G1 G41 X0 Y0 D3 N110 G1 X0.1 Y0 The failure is occurring on line: N130 G3 X-0.125 Y0 I-0.1125 J0 This is occurring on a Fadal CNC88HS control.
__________________ George Lawrence Storm, Kenmore (Seattle), Washington Inventor, Machinist, Macintosh Applications Developer, Videographer |
| Sponsored Links |
|
#6
| |||
| |||
| I would normally use a G13 for such stuff, if the control does not have that code I would use a sub like this and call it with a G65 or set it up so it is called be a G13. Note, that the line #3=[#[2000+#7]+#[2200+#7]](CUTT-COMP) will need to be changed to match the type and location of the offset table in the control. This example has the cutter radius at a base address of 2000 and the radius wear starting at 2200. Code: O1000(MAIN) G0Z0.1 G0X5.0Y5.0 G1Z-0.1F10.0 G65 P9013 I[0.125-0.002] D2 F10. G65 P9013 I0.125 D2 F10. M30 O9013(G13 TYPE MACRO) IF[#4EQ#0]GOTO810 IF[#7EQ#0]GOTO820 IF[#9EQ#0]GOTO830 #1=#5041(X POS.) #2=#5042(Y POS.) #3=[#[2000+#7]+#[2200+#7]](CUTT-COMP) #5=#4-#3 IF[#5LT0]GOTO840 G3X[#1+#5]Y#2R[#5/2]F#9 G3I-#5 G3X#1Y#2R[#5/2]F[#9*1.5] GOTO900 N810#3000=10(SPECIFY CIRCLE RADIUS) N820#3000=20(SPECIFY CUTTER COMP) N830#3000=30(SPECIFY FEED RATE) N840#3000=40(CUTTER LARGER THAN DIA) N900(END) M99 |
|
#7
| ||||
| ||||
Thanks, - George
__________________ George Lawrence Storm, Kenmore (Seattle), Washington Inventor, Machinist, Macintosh Applications Developer, Videographer |
|
#8
| |||
| |||
|
Okay, thanks.
__________________ An open mind is a virtue...so long as all the common sense has not leaked out. |
|
#11
| ||||
| ||||
| Picture not to scale but shows the ends of the cutter radius not following a path offset to the profile. |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
| Thread Tools | Search this Thread |
| Display Modes | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| G12/G13 Circular pocket help needed | NeoMoses | G-Code Programing | 8 | 09-27-2011 02:53 PM |
| G77 Circular Pocket | Big John T | BobCad-Cam | 3 | 02-27-2007 10:33 AM |
| Cutter Compensation? | Joe Petro | Autodesk Software (Autocad, Inventor etc) | 6 | 03-08-2006 12:04 AM |
| Cutter compensation? | Tonenc | G-Code Programing | 4 | 11-02-2005 11:53 PM |