What's new
What's new

Understanding Lathe/Mill Cutter Comp Startup Moves

A little better drawing for clarity :

geometry.jpg

The tremendous amount of work involved is :

Add point A to the g01 move along the face.
Trig point B. Any cheap or free 2d cad program will do that in 30 seconds
Add an arc between A and B

Thank god for nose radius comp, without it I'd be slaving away for hours, trying to understand this advanced, difficult problem ! omigod !

By adding the tool nose, I hope it is clear what goes on when the tool roounds the corner. With an arc, it never leaves the part surface. Without, it goes past the face, then charges on to the chamfer. Burr.

anyway, up to the person making the program. If "good enough" is good enough for you, congratulations. All this talk here about "quality" but when the rubber meets the asphalt .......

Seymour Dumour said:
Please, do tell us how programming a connecting radius without comp is any different than doing so with comp?
In other words, program a tiny radius on all corners so that the stupid control will actually follow the correct path. Wow, that's smart. Use cutter comp because it is easier, then add a bunch of features so that it doesn't fuck up the part -- instead of just doing it the right way in the beginning, which is actually less work.

Oh, can't divide by two ? can't add .0312" to an x number ? I feel for you.

Carbide Bob said:
(actually a third outside circle trip also)
Good for woodworking, I learned that from Sandy. In wood, if the 80,000 rpm bit stays in contact with the wood for any time at all, it burns. So woodworking cam swoops around outside the arc instead of doing a tight turn at the corner. Kinda nifty thing to know, if you ever cut any wood.

p.s. One good thing - title of the thread is "understanding tool nose radius comp" ... so instead of just talking about g41 g42, how far away do i need to turn it on; for a change the thread actually talks about how it works, what's really going on.
 
Last edited:
Use cutter comp because it is easier, then add a bunch of features so that it doesn't fuck up the part -- instead of just doing it the right way in the beginning, which is actually less work.

And this, all in the same post:

Add point A to the g01 move along the face.
Trig point B. Any cheap or free 2d cad program will do that in 30 seconds
Add an arc between A and B

Priceless!!!
 
Priceless!!!
Yeah, it's good you are amused. You go around adding a radius to every corner on a part whether they are supposed to be there or not to make this great "feature" work right : you deal with programming changes between g41/2 and non-g41/2, add on-off moves, deal with all that stupid quadrant crap, have a turret that hops around like a bunny rabbit, and you think adding two numbers* per corner to a toolpath is a major deal. Yeah, cutter comp is such a big help !

Fuck me, people can be so silly sometimes.

*Actually, you can just use one radius - the only reason we use chamfers is because in the old days, on an engine lathe, they were the easy way to break corners. And no, stupid fucking cutter comp doesn't make a single radius any easier either. It's actually an additional step, with some complications. But if sines and cosines are too difficult, sure, go for it.
 
You go around adding a radius to every corner on a part whether they are supposed to be there or not to make this great "feature" work right

You
Are
An
IDIOT!!!

Your post:


A little better drawing for clarity :

View attachment 420534

The tremendous amount of work involved is :

Add point A to the g01 move along the face.
Trig point B. Any cheap or free 2d cad program will do that in 30 seconds
Add an arc between A and B

Have a Merry Christmas!!!
 
Most people here arguing, e.g. Donkey, don't even know this is happening. The control CAN do an arc or it CAN just extend the lines of the part. Extending part surface lines is not as good.
Thank you for the thorough drawing and explanation but, I'm well aware of the gaps on outside features. I guess we've argued this down to that momentary loss of contact at those points? Okay...

Truth of the matter is I almost always use the thing I was told not to because lazy machinists told me they added cost: a radius. So this hasn't been an issue for me. In lathe programming the only place I use chamfers is for lead-in for threads and (again) the edge of a fastener hex. In both cases, there is a subsequent operation coming through there that is going to touch those surfaces again anyway (milling flats or cutting threads over the chamfer). Threaded parts are covered in nasty edges so they're getting tumbled and whatever micro-burr on a chamfer has never been noticed.

Conversely: I can program the part like this...

(preparatory lines here)
G71 P100 Q200 U0.010 W0.010 D0.15 F0.015 (rough the part)
T1 (0.032 TNR turning tool)
N100 G42 etc, etc (establish cutter comp and cut the profile)
(zigs and zags go here)
N200 G40 (cancel cutter comp)
G70 P100 Q200 F0.002 (finish pass)
M30

And then I change my mind and say, "Donkey, these parts really would benefit from a finisher. You might be an ass but, you don't have to be a lazy ass."

So I add one tool change line. The extensive rework is bolded:

(preparatory lines here)
G71 P100 Q200 U0.010 W0.010 D0.15 F0.015 (rough the part)
T1 (0.032 TNR turning tool)
N100 G42 etc, etc (establish cutter comp and cut the profile)
(zigs and zags go here)
N200 G40 (cancel cutter comp)
T2 (0.016 TNR finisher)
G70 P100 Q200 F0.002 (finish pass)
M30

That's it. My work is done. I can play with different inserts and tools and let the control do the work.

And since you made me look all this up to check my work: on Haas there is a setting for all the gaps created in comp and it's exactly what I said (there I go defending Haas again, where the heck has @empower been?). It's Yasnac vs Fanuc execution. The Haas will do either.

I've always run it in Fanuc mode and not worried about the chamfers I didn't use. Changing to Yasnac causes it to roll the corners instead of coming off the part. I kinda' remembered that but, figured everyone left it as Fanuc because @Garwood says so. Thanks to this little argument, I'm going to look again at the G7xx canned cycles and what changing to Yasnac might do to roughing cycles and maybe I'll give that a try. I'm open to anything that improves the process so thank you.
 
Last edited:
You
Are
An
IDIOT!!!
Without a doubt.

On the other hand, I can divide by two, then add .0312 to the result. I can actually find the corner of a triangle and, not to be too boastful or anything, but I have occasionally solved the challenging problem of π times diameter = circumference. And 12 inches equals one foot, let's not forget that show-stopper.

All of these skills turn out to be quite useful if you ever want to take the training wheels off and write a real turning program.
 
(preparatory lines here)
G71 P100 Q200 U0.010 W0.010 D0.15 F0.015 (rough the part)
T1 (0.032 TNR turning tool)
N100 G42 etc, etc (establish cutter comp and cut the profile)
(zigs and zags go here)
N200 G40 (cancel cutter comp)
G70 P100 Q200 F0.002 (finish pass)
M30
Its dependent on the control whether TNR comp is effective in a Roughing Cycle. It is with the Okuma LAP cycles, but as your example uses G71, it will be a Fanuc, HAAS, Mitsubishi or other control that uses G71. It's a single block G71, so I suspect that its a HAAS, where TNR Comp is effective.

In early Fanuc controls, TNR Comp wasn't effective, but it was in FS10, 11 and 12T controls, then in later controls it was not. When using TNR Comp by the machine in the G71/G72 Cycle, if the axes movement is monotonous, more material will be left on Taper and Radius feature when G41/G42 is ignored by the control. If G70 is then used with the P to Q address profile of the G71 Cycle the TNR Comp is effective with G41/G42 and the part is cut correctly.

If the profile description in the G71 cycle is Non-monotonous, Taper and Radius features will be profoundly over cut by the trailing edge of the cutting tool insert and part will be trash before the G70 Cycle follows the correct path when TRN Comp is specified by G41/G42.
It's absolutely necessary on the lathe. Heck, it's probably more necessary than on the mill.
I wouldn't agree with that at all. When machining, say, a bore feature, using an end mill with a Milling Machine, the only way to accurately cut the bore to the correct size is by compensating for the radius of the cutter in ether the raw code, or use Tool Radius Comp by the machine. Clearly using TRC by the machine is the most convenient, for it allows changes to the size of the feature by simply altering the size of the Tool Radius registered in the Tool Offset Registry. It's far more easy to chase the feature size by altering a Tool Radius used by TRC by the control, than by having to recalculate coordinates in the part program code.

With a lathe, parallel diameter size of the part is easily adjusted via tool offsets without any consideration given to TNR Comp. TNR Comp only comes into play where Taper or Radius features are part of the part profile. Anyone that grew up with NC and CNC machines in the late 70's, early 80's, where CAD/CAM systems were few and far between. as well as expensive for those that were available, it they did a reasonable amount of hand programming for a lathe, the TNR Comp amounts in X and Z for the frequently used insert TNR and commonly encountered angles, became known off the top of there heads.

Due to the issue mentioned earlier, where some controls ignore G41/G42 in the roughing cycles and the consequences of that, I've never been a fan of using TNR Comp by the Control. Including the Tool Radius Compensation in the Part Program Code for a lathe is not all that difficult and if CAM Software is used to create the program, there is Zero difference, in terms of difficulty, between including the TNR Comp in the Part Program Code and not, with the TNR Comp being taken care of by the control. In fact, it's a little bit more difficult using G41/G42 by the control due to some rules that have to be observed.

Regards,

Bill
 
Last edited:
....... Anyone that grew up with NC and CNC machines in the late 70's, early 80's, where CAD/CAM systems were few and far between. as well as expensive for those that were available, it they did a reasonable amount of hand programming for a lathe, the TNR Comp amounts in X and Z for the frequently used insert TNR and commonly encountered angles, became known off the top of there heads......
Yes, exactly. I first started lathe programming in 77 or 78 and it's been 15-20 years since I last programmed something for a lathe yet little things like for a .0625" tool radius you comp X .0366" and comp Z .0183 for 45 degree angles on a machine programmed diametrically is stuck in my head. While one could always trig out the comps for other angles, many builder's programming manuals had tables for comp values for common tool radii at .5-1 degree increments.
 
I wouldn't agree with that at all. When machining, say, a bore feature, using an end mill with a Milling Machine, the only way to accurately cut the bore to the correct size is by compensating for the radius of the cutter in ether the raw code, or use Tool Radius Comp by the machine.
100% agree with you. I get pushback on this too.

With a lathe, parallel diameter size of the part is easily adjusted via tool offsets without any consideration given to TNR Comp. TNR Comp only comes into play where Taper or Radius features are part of the part profile.
Exactly and I agree here too. It was integral chamfers and radii that forced me to make my own peace with G7x cycles and cutter comp.

I did some digging into the Yasnac options on the Haas control today. It looks like I'm going to leave it alone for now and keep it set to Fanuc. It does change to radius transitions between external angle moves but it also mucks with G7x retract motions (I already knew this). It also does something with offset handling that I don't feel like relearning for the mere sake of keeping the radius in contact.
 
So can you turn from X0.

sooooo lets say you are using a .032" rad insert. When you move to X.75 Z.12 the "6 o'clock" location of your insert rad will be at X.75 and the "9 o'clock" location of your insert rad will be a X.75+.032(x2)...relative to the centerline of the spindle. So when you do the G1 G42 Z0 move will the machine think you are at X.75 still or X.75+.032(x2)...like what would the POS screen say? By way of example, will this leave a tit?:

X0. Z.100
G1 G42 Z0.
X1.000
blah
blah

If so, and you wanted to turn the entire profile from X0., could you either 1) include an "X0." word in the G42 move or 2) begin below the centerline by at least the radius of the tool?

I assume changing directions with cutter comp on is a nono? For instance:

X2.000 Z.100
G1 G42 Z0.
X0.
X1.000
blah
blah

Thank you, again, for all your help! I'll never look at chamfers/tapers/radii the same way again, haha!
What I recommend is, if wanting to go to X0, position at X.032 Z.1, then engage comp with a G1 G42 Z0. Machine will go to X0.
 
So can you turn from X0.

sooooo lets say you are using a .032" rad insert. When you move to X.75 Z.12 the "6 o'clock" location of your insert rad will be at X.75 and the "9 o'clock" location of your insert rad will be a X.75+.032(x2)...relative to the centerline of the spindle. So when you do the G1 G42 Z0 move will the machine think you are at X.75 still or X.75+.032(x2)...like what would the POS screen say? By way of example, will this leave a tit?:

X0. Z.100
G1 G42 Z0.
X1.000
blah
blah

If so, and you wanted to turn the entire profile from X0., could you either 1) include an "X0." word in the G42 move or 2) begin below the centerline by at least the radius of the tool?

I assume changing directions with cutter comp on is a nono? For instance:

X2.000 Z.100
G1 G42 Z0.
X0.
X1.000
blah
blah

Thank you, again, for all your help! I'll never look at chamfers/tapers/radii the same way again, haha!
In your first example of X.75 Z.12, if the program was constructed as follows:

G00 X0.75 Z0.12
G01 G42 Z0.0
G01 X1.0

then the 6:0 o'clock location of the Insert would be at X.75-.032(x2).(X0.686)

In your second example of the following:

X0. Z.100
G1 G42 Z0.
X1.000
with a 0.032 TNR, the 6:0 o'clock location of the Insert would be at X-0.064 and no tit would be left.
What I recommend is, if wanting to go to X0, position at X.032 Z.1, then engage comp with a G1 G42 Z0. Machine will go to X0.
Assuming the 0.032 TNR insert you specified in your question, Douglas's example code above won't put the tool at X0.0, but at X-0.032.

In your last example of:
X2.000 Z.100
G1 G42 Z0.
X0.
X1.000
that would result in an over cut of the face in Z by 0.064" in the move from X2.000 to X0.0

You have to be careful changing direction when in TRN Comp Mode. For example, lets say that the program was taking a roughing cut, turning the OD of a part at X2.0 towards the chuck with a 0.25" Radfius Button Tool. In this case. TNR Comp would be to the right and therefore, G42. When the cut end point in Z is reached, if you only retracted the tool, say 0.040" in Radius, and left the TNR Comp Mode as G42, the tool would dig into the work by 0.21" in Radius. When reversing direction, the TNR Comp Mode must be changed so as to reflect the correct offset direction for the tool.

Regards,
Bill
 
You have to be careful changing direction when in TNR Comp Mode. For example, lets say that the program was taking a roughing cut, turning the OD of a part at X2.0 towards the chuck with a 0.25" Radius Button Tool. In this case. TNR Comp would be to the right and therefore, G42. When the cut end point in Z is reached, if you only retracted the tool, say 0.040" in Radius, and left the TNR Comp Mode as G42, the tool would dig into the work by 0.21" in Radius. When reversing direction, the TNR Comp Mode must be changed so as to reflect the correct offset direction for the tool.
Whereas, if you just tell it where to go, it will go there. It puzzles me that people are so insistent upon making life hard for themselves.

p.s., a mental puzzle. As you drive across the face of a spinning part, the surface speed gets lower and lower until center, then gets higher and higher but in the opposite direction. That should mean that at one point the part is stationary. But it's spinning 2000 rpm, how can that be?
 
Whereas, if you just tell it where to go, it will go there. It puzzles me that people are so insistent upon making life hard for themselves.
I've been in complete denial up to this moment. The abject terror experienced every single time I press the Do button has probably shortened my life by five years. I admit it. I wake up, sobbing in my pillow at the uncertainty of where the cancel-cutter-comp move will end up after it has retracted into free space. "Oh god, no! It lost contact with the part between the chamfer and the face! And it did something weird right there in free-space, retracted off the part! How will I go on?"

I think I'm going to stop using offsets too. Wayyy too risky. I'll take some careful dimensions of the machine, keep all those numbers right next to me and do some simple addition and subtraction and do everything in machine coordinates. That way I can't ever crash the turret. Otherwise, how will anyone really know where the cutter is going to go?
 
In your first example of X.75 Z.12, if the program was constructed as follows:

G00 X0.75 Z0.12
G01 G42 Z0.0
G01 X1.0



Assuming the 0.032 TNR insert you specified in your question, Douglas's example code above won't put the tool at X0.0, but at X-0.032.

Regards,
Bill
Correct. My error.
 
I've been in complete denial up to this moment. The abject terror experienced every single time I press the Do button has probably shortened my life by five years. I admit it. I wake up, sobbing in my pillow at the uncertainty of where the cancel-cutter-comp move will end up after it has retracted into free space. "Oh god, no! It lost contact with the part between the chamfer and the face! And it did something weird right there in free-space, retracted off the part! How will I go on?"
There's wide receivers who run 40 yards downfield to block, and there's guys who play for the broncos or chargers. It's an individual choice.
 
Last edited:
p.s., a mental puzzle. As you drive across the face of a spinning part, the surface speed gets lower and lower until center, then gets higher and higher but in the opposite direction. That should mean that at one point the part is stationary. But it's spinning 2000 rpm, how can that be?
It's not rotating in different directions either side of centre line; it will either be rotating CW or CCW, but the direction doesn't change. The peripheral speed decreases but not the revs. For there to be zero peripheral speed the diameter would have to be zero and with zero diameter, that part of the component can't exist.

It's like the math and engineering graduate at the end of year ball sitting equidistant either side of an attractive girl, with their strategy being to halve the distance between them and the girl every half hour. After the first half hour the math graduate gave up, contemplating that he will never get there. The engineering graduate persisted, thinking that he will get close enough for practical purposes.
 
Last edited:
It's like the math and engineering graduate at the end of year ball sitting equidistant either side of an attractive girl, with their strategy being to halve the distance between them and the girl every half hour. After the first half hour the math graduate gave up, contemplating that he will never get there. The engineering graduate persisted, thinking that he will get close enough for practical purposes.
I forwarded this exact difference between the two to several of my friends !
 
I forwarded this exact difference between the two to several of my friends !
It's cute but misses the point. In reality, the surface speed relative to a point gets lower and lower and lower then goes up and up and up ... in between going slower and slower then higher and higher there must be a point where it is zero. Yet the shaft is definitely turning. It's an interesting mental puzzle.
 








 
Back
Top