What's new
What's new

Cutter Comp in small holes Fanuc Control

Machinistsss

Plastic
Joined
Sep 25, 2019
Machine is a Doosan DNM750 with the Fanuc Oid control
Programmed with mastercam

Today I was trying to use cutter comp to threadmill 1/4-20 holes.
Threadmill is .180"D x .500" LOC 3 flute
There is so little room to sweep gently into the cut on this small of hole.

Here is a sample of the code that causes this alarm (PS0034 ONLY G00/G01 ALLOWED IN STUP/EXT BLK)
I know this is because cutter comp can only be turned on with a linear move.
Is it possible to turn on cutter comp 1 time above the hole make all the passes?
If I don't sweep gently into the cut I will lose threadmills left and right.


G20
G0 G17 G40 G49 G80 G90

(4 ROUGH PASSES, 1 FINISH PASS, 1 SPRING PASS)
(1/4-20 THREADMILL .180 CUT DIA LAKESHORE)
T1 M6
G0 G90 G54 X-2. Y0. S3820 M3
G43 H1 Z.25
G1 Z-.5 F20.
G3 X-1.9926 Y-.0074 Z-.4938 I.0074 J0. F7.
G41 D1 X-1.9852 Y0. Z-.4875 I0. J.0074
X-2. Y.0148 Z-.475 I-.0148 J0.
X-2.0148 Y0. Z-.4625 I0. J-.0148
X-2. Y-.0148 Z-.45 I.0148 J0.
X-1.9852 Y0. Z-.4375 I0. J.0148
X-1.9926 Y.0074 Z-.4313 I-.0074 J0.
G40 X-2. Y0. Z-.425 I0. J-.0074
G1 Z-.5 F20.
G41 D1 Y-.001 F7.
G3 X-1.9895 Y-.0105 Z-.4939 I.0105 J.001
X-1.979 Y0. Z-.4875 I0. J.0105
X-2. Y.021 Z-.475 I-.021 J0.
X-2.021 Y0. Z-.4625 I0. J-.021
X-2. Y-.021 Z-.45 I.021 J0.
X-1.979 Y0. Z-.4375 I0. J.021
X-1.9895 Y.0105 Z-.4311 I-.0105 J0.
X-2. Y.001 Z-.425 I0. J-.0105
G1 G40 Y0.
Z-.5 F20.
G41 D1 Y-.0073 F7.
G3 X-1.9873 Y-.0146 Z-.495 I.0127 J.0073
X-1.9728 Y0. Z-.4875 I0. J.0146
X-2. Y.0272 Z-.475 I-.0272 J0.
X-2.0272 Y0. Z-.4625 I0. J-.0272
X-2. Y-.0272 Z-.45 I.0272 J0.
X-1.9728 Y0. Z-.4375 I0. J.0272
X-1.9873 Y.0145 Z-.43 I-.0145 J0.
X-2. Y.0073 Z-.425 I0. J-.0145
G1 G40 Y0.
Z-.5 F20.
G41 D1 Y-.0135 F7.
G3 X-1.986 Y-.0194 Z-.4958 I.014 J.0135
X-1.9665 Y0. Z-.4875 I0. J.0194
X-2. Y.0335 Z-.475 I-.0335 J0.
X-2.0335 Y0. Z-.4625 I0. J-.0335
X-2. Y-.0335 Z-.45 I.0335 J0.
X-1.9665 Y0. Z-.4375 I0. J.0335
X-1.986 Y.0195 Z-.4292 I-.0195 J0.
X-2. Y.0135 Z-.425 I0. J-.0195
G1 G40 Y0.
Z-.5 F20.
G41 D1 Y-.015 F7.
G3 X-1.9857 Y-.0207 Z-.4959 I.0143 J.015
X-1.965 Y0. Z-.4875 I0. J.0207
X-2. Y.035 Z-.475 I-.035 J0.
X-2.035 Y0. Z-.4625 I0. J-.035
X-2. Y-.035 Z-.45 I.035 J0.
X-1.965 Y0. Z-.4375 I0. J.035
X-1.9857 Y.0207 Z-.4291 I-.0207 J0.
X-2. Y.015 Z-.425 I0. J-.0207
G1 G40 Y0.
Z-.5 F20.
G41 D1 Y-.015 F7.
G3 X-1.9857 Y-.0207 Z-.4959 I.0143 J.015
X-1.965 Y0. Z-.4875 I0. J.0207
X-2. Y.035 Z-.475 I-.035 J0.
X-2.035 Y0. Z-.4625 I0. J-.035
X-2. Y-.035 Z-.45 I.035 J0.
X-1.965 Y0. Z-.4375 I0. J.035
X-1.9857 Y.0207 Z-.4291 I-.0207 J0.
X-2. Y.015 Z-.425 I0. J-.0207
G1 G40 Y0.
G0 Z.25
M5
G91 G28 Z0.
G30 X0. Y0.
M30
%
 
in MC you only have the options of telling it how much radial "entry / exit arc clearance" # of passes and amount per pass
By balancing these I can get .0045 max cutter comp value (linear move of first pass)
.0035 radial step over of first pass .005 of subsequent passes 7 total passes including a .0005 finish pass

without burying the tool with large engagement at the beginning of each pass, entering the cut with an arc.

entry exit arc clearance .005
multi pass 6 rough x.01 1 finish x.0005
helical entry/exit is on here too
G20
G0 G17 G40 G49 G80 G90
(3/16 FLAT ENDMILL|TOOL - 1|DIA. OFF. - 1|LEN. - 1|TOOL DIA. - .18)
T1 M6
G0 G90 G54 X-2. Y0. A0. S2000 M3
G43 H1 Z.25
Z.1
G1 Z-.5 F4.
G41 D1 Y-.0047 F2.
G3 X-1.9963 Y-.006 Z-.4963 I.0037 J.0047
X-1.9903 Y0. Z-.4875 I0. J.006
X-2. Y.0097 Z-.475 I-.0097 J0.
X-2.0097 Y0. Z-.4625 I0. J-.0097
X-2. Y-.0097 Z-.45 I.0097 J0.
X-1.9903 Y0. Z-.4375 I0. J.0097
X-1.9963 Y.006 Z-.4287 I-.006 J0.
X-2. Y.0047 Z-.425 I0. J-.006
G1 G40 Y0.
Z-.5 F4.
G41 D1 Y-.0097 F2.
G3 X-1.9958 Y-.0106 Z-.4974 I.0042 J.0097
X-1.9852 Y0. Z-.4875 I0. J.0106
X-2. Y.0148 Z-.475 I-.0148 J0.
X-2.0148 Y0. Z-.4625 I0. J-.0148
X-2. Y-.0148 Z-.45 I.0148 J0.
X-1.9852 Y0. Z-.4375 I0. J.0148
X-1.9958 Y.0106 Z-.4276 I-.0106 J0.
X-2. Y.0097 Z-.425 I0. J-.0106
G1 G40 Y0.
Z-.5 F4.
G41 D1 Y-.0147 F2.
G3 X-1.9956 Y-.0153 Z-.498 I.0044 J.0147
X-1.9803 Y0. Z-.4875 I0. J.0153
X-2. Y.0197 Z-.475 I-.0197 J0.
X-2.0197 Y0. Z-.4625 I0. J-.0197
X-2. Y-.0197 Z-.45 I.0197 J0.
X-1.9803 Y0. Z-.4375 I0. J.0197
X-1.9956 Y.0153 Z-.4269 I-.0153 J0.
X-2. Y.0147 Z-.425 I0. J-.0153
G1 G40 Y0.
Z-.5 F4.
G41 D1 Y-.0198 F2.
G3 X-1.9955 Y-.0203 Z-.4984 I.0045 J.0198
X-1.9752 Y0. Z-.4875 I0. J.0203
X-2. Y.0248 Z-.475 I-.0248 J0.
X-2.0248 Y0. Z-.4625 I0. J-.0248
X-2. Y-.0248 Z-.45 I.0248 J0.
X-1.9752 Y0. Z-.4375 I0. J.0248
X-1.9955 Y.0203 Z-.4266 I-.0203 J0.
X-2. Y.0198 Z-.425 I0. J-.0203
G1 G40 Y0.
Z-.5 F4.
G41 D1 Y-.0248 F2.
G3 X-1.9954 Y-.0252 Z-.4987 I.0046 J.0248
X-1.9703 Y0. Z-.4875 I0. J.0252
X-2. Y.0297 Z-.475 I-.0297 J0.
X-2.0297 Y0. Z-.4625 I0. J-.0297
X-2. Y-.0297 Z-.45 I.0297 J0.
X-1.9703 Y0. Z-.4375 I0. J.0297
X-1.9954 Y.0251 Z-.4263 I-.0251 J0.
X-2. Y.0248 Z-.425 I0. J-.0251
G1 G40 Y0.
Z-.5 F4.
G41 D1 Y-.0297 F2.
G3 X-1.9954 Y-.0301 Z-.4989 I.0046 J.0297
X-1.9652 Y0. Z-.4875 I0. J.0301
X-2. Y.0348 Z-.475 I-.0348 J0.
X-2.0348 Y0. Z-.4625 I0. J-.0348
X-2. Y-.0348 Z-.45 I.0348 J0.
X-1.9652 Y0. Z-.4375 I0. J.0348
X-1.9954 Y.0302 Z-.4261 I-.0302 J0.
X-2. Y.0297 Z-.425 I0. J-.0302
G1 G40 Y0.
Z-.5 F4.
G41 D1 Y-.03 F2.
G3 X-1.9954 Y-.0304 Z-.4989 I.0046 J.03
X-1.965 Y0. Z-.4875 I0. J.0304
X-2. Y.035 Z-.475 I-.035 J0.
X-2.035 Y0. Z-.4625 I0. J-.035
X-2. Y-.035 Z-.45 I.035 J0.
X-1.965 Y0. Z-.4375 I0. J.035
X-1.9954 Y.0304 Z-.4261 I-.0304 J0.
X-2. Y.03 Z-.425 I0. J-.0304
G1 G40 Y0.
G0 Z.1
Z.25
M5
G91 G28 Z0.
G28 X0. Y0. A0.
M30
%
 
Use or toss this info as you wish.

Unless you're doing a single hole at a single location, ALWAYS program thread mills in incremental. Move to the center of the hole at the clearance plain, call the threadmill sub. One small sub you can keep for future use on any job as long as the feeds and depths work.

On easy materials in fine threads. 1-2 passes.
Course threads - 2-3 passes.

Add one more pass for more difficult materials.

Never ever done more then 4 passes on anything.

Here is a three hole program.

The picture shows the 1/4" hole, the no.7 drill hole, the tool diameter, and in blue the toolpath. That's as gradual a lead in as you can get, and shouldn't throw any cutter comp alarms. For two pass you use two different comps. Your comp to start would possibly be 0.0970(D5) with 2nd pass at 0.090,(D15) and will activate each time during the first minus y move from center. Meaning your tool edge will be at the blue line at 6 o'clock at the edge of the drilled hole when first beginning to cut. The feeds I used are arbitrary. You'll have to figure that out on your own.

(T5 0.180 x 0.5DOC 20 PITCH THREADMILL)

T5M6 (THREADMILL)
G17G20G40G49G54G80G90G98

G0X1.Y0.5
G43Z0.1H5S3500M3T2
/M8
M98P50
X3.25
M98P50
X1.625Y-1.25
M98P50
M9

THREADMILL SUB

O50 (1/4-20 THREADMILL SUB)

G1Z-0.5F75.
G91
G41Y-0.099D5F15.(FIRST COMP)
X0.026Z0.002
G3X0.099Y0.099I0.J0.099Z0.0105
I-0.125J0.Z0.05
X-0.099Y0.099I-0.099J0.Z0.0105
G1X-0.026Z0.002F30.
G40Y-0.099
G1Z-0.075(2ND PASS)
G41Y-0.099D15F15.(2ND COMP)
X0.026Z0.002
G3X0.099Y0.099I0.J0.099Z0.0105
I-0.125J0.Z0.05
X-0.099Y0.099I-0.099J0.Z0.0105
G1X-0.026Z0.002F30.
G40Y-0.099
G90
G0Z0.1
M99

An 2 pass alternate you can use that will leave an unfinished thread at the bottom is this.

O50 (1/4-20 THREADMILL SUB)

G1Z-0.5F75.
G91
G41Y-0.099D5F15.
X0.026Z0.002
G3X0.099Y0.099I0.J0.099Z0.0105
I-0.125J0.Z0.05
I-0.125J0.Z0.05(2ND SPRING PASS)
X-0.099Y0.099I-0.099J0.Z0.0105
G1X-0.026Z0.002F30.
G40Y-0.099
G90
G0Z0.1
M99

Good Luck.
Dave
 

Attachments

  • IMG_2265.jpg
    IMG_2265.jpg
    91.6 KB · Views: 68
Last edited:
I have to ask why you would do this ? I mean, seriously ... you plan to use a half inch thread mill to cut these some day ?

It's a 1/4 inch hole. Why the added complexity for no purpose ?

On a machine without rigid tap that has poor depth control. Complete threads within 1 - 1 1/2 threads from bottom of blind hole. That's why I got started with it. Even #10. The cutter diameters are all relative to hole/thread size. All are easily programmed. In aluminum with one pass it's almost as fast as tapping. Also can be used on holes with poor entry geometry like a small shoulder. Can cut oversize for plating without buying special tap. Just a few reasons.

Dave
 
Also works very well on a CNC router with a high speed spindle that has no low end torque for tapping. Best part of thread milling in soft plastic like acetal or PEEK, you don't get stingy burrs to pick out of your tapped holes.
 
I am assuming ( Gordon-like) that you are referring to cutter comp ....

Today I was trying to use cutter comp to threadmill 1/4-20 holes.

I have to ask why you would do this ?

Because threadmilling with comp lets you get to the finish line faster, specially when shit just don't work out with taps at all.

To the OP: Incremental programming is the way to go here, but cannot help you on how to convince your CAM software to do it.
.180 dia for a 1/4-20 is plenty enough for ramp-on and make multiple passes.
 
Looks like I woopsed. Didn't mean "why use thread milling." I meant why use cutter comp ? It's not like you're going to use a wide variety of thread mills in a hole this size. The comp just adds useless complexity, program for whatever size the cutter is and use an offset to get size.
 
Whenever I get an error and I'm already running very small radius entry/exits, I also will hand program the G41/G42 to a linear move above the part.
 
go to guhrings web page and let them do it for you

N10 M6 T1
N20 G90 G54 G00 X0 Y0
N30 Z0.079 S15486 M3 M8
N40 Z-0.5
N50 G91
N60 G41 G01 X0 Y0.0925 F37.1664
N70 G03 X0 Y-0.2092 I0 J-0.1046 Z0.0075
N80 G03 X0 Y0 I0 J0.1167 Z0.05 F74.3328
N90 G03 X0 Y0.2092 I0 J0.1046 Z0.0075
N100 G40 G01 X0 Y-0.0925
N110 G90
N120 Z-0.5
N130 G91
N140 G41 G01 X0 Y0.0925 F41.8122
N150 G03 X0 Y-0.2133 I0 J-0.1067 Z0.0075
N160 G03 X0 Y0 I0 J0.1208 Z0.05 F83.6244
N170 G03 X0 Y0.2133 I0 J0.1067 Z0.0075
N180 G40 G01 X0 Y-0.0925
N190 G90
N200 Z-0.5
N210 G91
N220 G41 G01 X0 Y0.0925 F46.4580
N230 G03 X0 Y-0.2175 I0 J-0.1088 Z0.0075
N240 G03 X0 Y0 I0 J0.125 Z0.05 F92.9160
N250 G03 X0 Y0.2175 I0 J0.1088 Z0.0075
N260 G40 G01 X0 Y-0.0925
N270 G90
N280 G00 Z0.079 M9
N290 M30
 
But why would you ? It's not like you're going to be using drastically different sized thread mills in a 1/4-20 hole. It's just more crap in the program that serves no purpose. Program it from CL.

But if you do need to adjust it, there's a lot of hand editing involved.
 
I can't imagine why a person wouldn't use cutter comp for thread milling. You make a cut and tweak the comp right at the control to dial it in. What could be easier? Different depths. Different materials. Different cutter condition or design. All those variables become mute when you can make simple tweaks at the control to compensate. Running back to the programmer and have them output an entire other program with offset adjustments to thread size? Which don't forget will essentially be a guess, and may have to be done a few times until it gages right. Then reloading the new program(s) back into the machine. Honestly this is a production method? I don't see it as complicating things by adding in cutter comp moves to thread milling. The careful lead in and out moves you need for thread milling are practically cutter comp type moves anyway, so why not use it?
 
Have you turned on "Start from center", and set an appropriate radius in Lead In/Out? This should give you a smooth in and out motion.

Paul
 
I meant why use cutter comp ? It's not like you're going to use a wide variety of thread mills in a hole this size. The comp just adds useless complexity, program for whatever size the cutter is and use an offset to get size.

But why would you ? It's not like you're going to be using drastically different sized thread mills in a 1/4-20 hole. It's just more crap in the program that serves no purpose. Program it from CL.

You got tool offsets on that control or didn't it come with them that year ?

Hi Emanuel,

Your no cutter comp thread milling comments have been confusing all week. But it finally clicked today with your last entry. It appears you program thread mills to center line. Not the best if you ask me, but not a problem if as you said, you generally know the basic size of the cutter for that thread size and pitch, so creating an offset tool path for that diameter is what you do. So far so good. Though in the first and last entries above you speak of using tool offsets to get to size. Hmmm... sounds exactly like cutter comp to me. Yet your arguments all week have been leaning against any complexity associated with using comp, and yet you say to use offsets. Huh? What's up? You call it tool offset. Everyone else seems to be calling it comp. To each their own, or am I missing something?

If you're using tool offsets (comp) to tweak CL tool paths, you must be programming a linear move of some kind at the beginning and end of the thread milling tool path, and for that matter, having G41 and G40 appear in your programs. (The complexities being argued against all week.) If not, the "tool offsets" being suggested won't actually appear at the cutter. So what's the point of suggesting them?

The only difference in a CL tool path formula and the others, is comps are going to be small like -0.0005, or 0.0012 or stuff like that. Comps consistent to programming CL. The comps the OP should be using are attuned to the radii of the cutter like normal. In this case 0.090. Either will work.

I apologize if I have this all wrong, but if you're really running back to the CAM software and outputting an entirely new adjusted CL program to correct for size, (like your comments seem to suggest) then there is little place to say that tool offsets set at the control to dial things in after/while using your non-comp method is the answer. The two options can't exist simultaneously... if you know what I mean.

Dave
 
...it finally clicked today with your last entry. It appears you program thread mills to center line.
You're right about the offsets, I had Lathe on the brain that day. (Face palm)

I'd still program to CL and use the diameter of the helical milling command in the program to adjust the size. I'm an antique and don't like what controls do about lead-in lead-off in tiny spaces, where it's so easy to change the program instead.

If it was never a problem then the o.p. would not have begun this thread, n'est-ce pas ?
 
You're right about the offsets, I had Lathe on the brain that day. (Face palm)

I'd still program to CL and use the diameter of the helical milling command in the program to adjust the size. I'm an antique and don't like what controls do about lead-in lead-off in tiny spaces, where it's so easy to change the program instead.

If it was never a problem then the o.p. would not have begun this thread, n'est-ce pas ?

You can still program CL and use Cutter Radius Comp and irrespective of what you might argue, editing the program won't be as easy and convenient as simply changing the offset value for TRC, particularly for a program as listed by the OP if TRC is not used. And as 13engines points out in his Post #14, there are numerous things that affect the size being cut; accordingly, changing the program is not going to be a one off exercise in the life of the job run.
 








 
Back
Top