What's new
What's new

Changing tool offset in cut to compensate for taper in a lathe

gregormarwick

Diamond
Joined
Feb 7, 2007
Location
Aberdeen, UK
Or diametric pitch error etc..

Maybe this is common knowledge, but I was previously unaware of it and I've not seen it mentioned on here before so I thought I'd share. Fanuc, of course...

I'm well used to adding a U to a G1 Z... to tweak a taper, sure everyone else is too. Works great, but can become a bit less trivial depending on the geometry, or if you need to hit size on multiple diameters over a long distance.

I found a clue while reading the manual for our new Mori. It mentioned using multiple tool offsets to adjust for taper, but didn't elaborate much or provide a code example, but it prompted me to do some experimenting. I found that this actually works provided the correct syntax and ordering is followed.

eg.

I turn a diameter with tool T707. I find it is .05mm bigger at the chuck end. I copy the geometry and wear offsets of offset #7 into offset #17 verbatim, then I add a -.05mm wear offset to #17.

N10 T707 etc.....
...
..
..
G1 X100.0 Z-1.0 (start of long diameter)
U0. Z-500.0 T717 (interpolates to the destination, everything thereafter is using offset 17)
...
..

Ironically, this won't work on the Mori because of it's elaborate tool management system, but I have tried and succeeded using it on one of our Victors with Oi-TC.

Apologies if I'm just slow and everyone already knew this...
 
It has to be on a seperate line of code though. So an X move or whatever. What would be interesting is if you could do it in the middle of the cut.

An Okuma will read an offset change in the middle of running a part. It takes a pass or two, but it will do it.

R
 
Not sure if there is anything "new" about that?

I would have produced the code line to Uxxx Z-500 and then incorporated the offset 17 into the next line which logically is a X move at the shoulder...

That way is likely easier to follow/understand, BUT - what you have there is easier to edit with tool pressure changes or whatnot.
Just never thought about using it that way.
There are SO many ways to skin cats on code!
I am always amazed at watching Bill respond to all of the different code that folks post.
But then I guess I don't know how long he looked at it before he responds either.

I routinely just make the X moves after this all U moves, but changing the offset is Shirley another option!
Thanks for the reminder!


---------------------

Think Snow Eh!
Ox
 
I get a little jittery about this, as I've seen people have BAD things happen. Be VERY careful with your code.

Yeah, prolly should make a note under the T707 callout that there IS another T code burried in the code and NOT at an N number.


--------------

Think Snow Eh!
Ox
 
Apologies if I'm just slow and everyone already knew this...
Bendix 5 would do this in 1978 .... in fact, every control I've had would do this. Was even described in the American Tool programming manuals (clearest description of g-code programming I've seen anywhere.)

The interesting one was the KT D - it would change the offset as you entered it live. If you had, say, a .050" offset on a tool, while it was cutting you could change it to .065 or whatever and it would pick up the change at your programmed feedrate as it moved along. That was mostly useful in setting up for chamfers, but still kinda cute.
 
I get a little jittery about this, as I've seen people have BAD things happen. Be VERY careful with your code.

Yeah, prolly should make a note under the T707 callout that there IS another T code burried in the code and NOT at an N number.

Yes, the potential for a bad crash is there. I had an old Gildemeister that had an m-code to explicitly disable turret rotation until it was cancelled, would have been a great safety net for this - pretty sure none of my Fanuc lathes have that. All the same there are probably ways to reduce the odds of making a mistake that warrant some investigation. Roll it all into a macro for example. In theory, calling T0017 would change the offset but inhibit turret rotation, however one of my Fanucs has issues calling T0...

Bendix 5 would do this in 1978 .... in fact, every control I've had would do this. Was even described in the American Tool programming manuals (clearest description of g-code programming I've seen anywhere.)

The interesting one was the KT D - it would change the offset as you entered it live. If you had, say, a .050" offset on a tool, while it was cutting you could change it to .065 or whatever and it would pick up the change at your programmed feedrate as it moved along. That was mostly useful in setting up for chamfers, but still kinda cute.

Wasn't my intention to suggest that this was a new feature, simply that it had not occurred to me to use it this way before. Fanucs apply wear offset changes at the next feed move in that axis, the U0 forces it to pick up the offset change with no change in absolute position, which causes it to interpolate from the start position to the end position. It has the exact same result as programming a Uxxx on that line, but everything that comes after is offset too and you only have to change one line of the program.
 
First of all don't ever not post something you just figured out because you think you're the last one to know. I have had zero formal training, to this day it amazes me the shit I still haven't figured out and folks like you tip me off to. Typically people go with what they know or what has been working for them. I didn't know this!

I read this the other day and never really thought it out. For the sake of conversation this technique of changing or switching offsets is new to me. I think mainly because I would never consider it a safe practice to change offsets while on the part. If I can't come off the part then I lie.

It would seems if there is any variation in the two offsets there should be a step the distance of the difference of the two numbers. Apparently the offset change doesn't takes affect until the next command line. As long as the deviation of the offsets is only in the X and happens on the up move at the shoulder it will appear to happen seamlessly therefore working flawlessly for this application.

Another reason is up till not long ago I didn't know that by applying offsets on a move it did indeed happen seamlessly. Up till then I always thought there was a shift at the T call. It is parameter (5002.6) dependent how a Fanuc control applies the offset. It is either at the T call or the next axis move except during a canned cycle. If its the next axis move then for obvious reasons wear offsets should be limited in size.

I never done the "U" thing when tweaking a taper. I always adjust the ending program number and then right on down the line if need be. Fixing the machine is the proper way to fix a lathe cutting a taper after getting banged around. But since it isn't always the guy at the controls call to do maintenance I've always wished NC lathes had a Dope offset, I realize many things can lead to cutting a taper but if you could figure out how much taper the lathe cuts in a given distance for a given circumstance. Say if it cuts .0045" in a 8" distance you could put .0045" in the Dope offset and still write your program right down the middle but have machine apply .0045" of taper to your middle of the road program. I do a lot of cavity work, angles into angles into angles with radiuses on the both ends of angles. Makes it a bitch to try to sort out taper. Dope offset would be the cats meow for this. Call it Dope, Windage, English, spitting on it, I don't give a fuck what it's called I think it could have a use and I'd use it as a rough tweak when measuring angles into angles is a guess at best.

Brent
 
First of all don't ever not post something you just figured out because you think you're the last one to know. I have had zero formal training, to this day it amazes me the shit I still haven't figured out and folks like you tip me off to. Typically people go with what they know or what has been working for them. I didn't know this!

I read this the other day and never really thought it out. For the sake of conversation this technique of changing or switching offsets is new to me. I think mainly because I would never consider it a safe practice to change offsets while on the part. If I can't come off the part then I lie.

It would seems if there is any variation in the two offsets there should be a step the distance of the difference of the two numbers. Apparently the offset change doesn't takes affect until the next command line. As long as the deviation of the offsets is only in the X and happens on the up move at the shoulder it will appear to happen seamlessly therefore working flawlessly for this application.

Another reason is up till not long ago I didn't know that by applying offsets on a move it did indeed happen seamlessly. Up till then I always thought there was a shift at the T call. It is parameter (5002.6) dependent how a Fanuc control applies the offset. It is either at the T call or the next axis move except during a canned cycle. If its the next axis move then for obvious reasons wear offsets should be limited in size.

I never done the "U" thing when tweaking a taper. I always adjust the ending program number and then right on down the line if need be. Fixing the machine is the proper way to fix a lathe cutting a taper after getting banged around. But since it isn't always the guy at the controls call to do maintenance I've always wished NC lathes had a Dope offset, I realize many things can lead to cutting a taper but if you could figure out how much taper the lathe cuts in a given distance for a given circumstance. Say if it cuts .0045" in a 8" distance you could put .0045" in the Dope offset and still write your program right down the middle but have machine apply .0045" of taper to your middle of the road program. I do a lot of cavity work, angles into angles into angles with radiuses on the both ends of angles. Makes it a bitch to try to sort out taper. Dope offset would be the cats meow for this. Call it Dope, Windage, English, spitting on it, I don't give a fuck what it's called I think it could have a use and I'd use it as a rough tweak when measuring angles into angles is a guess at best.

Brent

Thanks for the encouragement! I posted simply because I hadn't seen it discussed in this context before - I'm sure it has been, not much ground that hasn't been covered on here at some point. I recall a similar thread about changing offsets in cut to control the width of a groove. This just never occurred to me until I read the note about it in the mori manual.

I run a lot of large, heavy parts supported on the tailstock or subspindle, or in a steady, with a lot of fine tolerances. Not a matter of fixing the lathe, taper is just a fact of life doing this kind of work and you have to deal with it. Also sometimes you need to finish multiple diameters with the same tool, and if there is a large delta between them then they will require different offsets due to imperfect tool centre height and ballscrew error etc.

I absolutely agree that this is not a safe technique, but it's too useful for me to ignore. Just need to figure out some methods to mitigate the risk, try and foolproof it.
 
. Fixing the machine is the proper way to fix a lathe cutting a taper after getting banged around.
The examples in the ATI books were for long shafts that bowed in the middle. So two or more offsets to first, account for the bow, then bring the carriage back to the right number.

It's also good for holding a couple of steps where you want to hold the numbers tight, or the shaft bows different amounts because of different diameters (stress/strain differences), and stuff like that where you'd rather not change the real numbers in the program.
 
i get a little jittery about this, as I've seen people have BAD things happen. Be VERY careful with your code

Yeah, prolly should make a note under the T707 callout

Yes, the potential for a bad crash is there

hello :) less worries with okuma's system variables :

Code:
[COLOR=#008000]    [FONT=courier new]link = 05 ( main offset; 2nd offset is always = main + 20 )
[/FONT]    [FONT=courier new]vtofz [ link + 20 ] = vtofz [ link ] ( update 2nd z )
[/FONT]    [FONT=courier new]vtwox [ link + 20 ] = vtwox [ link ] ( update 2nd x wear )
[/FONT]    [FONT=courier new]vtwoz [ link + 20 ] = vtwoz [ link ] ( update 2nd z wear )
[/FONT]    [FONT=courier new]vnsrx [ link + 20 ] = vnsrx [ link ] ( update 2nd x rad )
[/FONT]    [FONT=courier new]vnsrz [ link + 20 ] = vnsrz [ link ] ( update 2nd z rad )
[/FONT]    [FONT=courier new]vnrpn [ link + 20 ] = vnrpn [ link ] ( update 2nd p quadrant )
[/FONT]    [FONT=courier new]if [ [ abs [ vtofx [ link + 20 ] - vtofx [ link ]  ] ] le 0.5 ] njump
[/FONT]        [FONT=courier new]nloop m0 ( dif >0.5 not allowed )
[/FONT]        [FONT=courier new]goto nloop
[/FONT]    [FONT=courier new]njump noex[/FONT] / kindly :)[/COLOR]
 
Another variation of the same app is when used in Z.

So - you have a dogbone in T2 and you want to use it before and after a shoulder...
Actually - no ... a better example is if you want to cut an OD rad with a dogbone....

G3 X1.25 Z-1. R.25
G1 Z-1. T14 (T214)
G3 X.75 Z-1.25 R.25

I haven't used this in years, but it is an option that keep the code looking like the part profile for green eyes.



EDIT:

Just to clarify - offset 14 is the other (back?) side of the dogbone, so likely a .156 difference.
You would highly likely want to change back to T02 for the next G1 move again.


--------------------

Think Snow Eh!
Ox
 
Last edited:
I've always wished NC lathes had a Dope offset, I realize many things can lead to cutting a taper but if you could figure out how much taper the lathe cuts in a given distance for a given circumstance. Say if it cuts .0045" in a 8" distance you could put .0045" in the Dope offset and still write your program right down the middle but have machine apply .0045" of taper to your middle of the road program.

Brent

Well, may not be called a Dope offset, but Haas calls it Taper offset and it's been there since at least 2001.
The taper offset is a taper amount for each 1" of Z.
So let's say you have a 3" long shaft that is .003 smaller on the back than the front due to flex, then you would put -.001 in the Taper column at the control.

For the right application, works lie a charm.
 
Another variation of the same app is when used in Z.

So - you have a dogbone in T2 and you want to use it before and after a shoulder...

Ox

Ox

When I use a standard grooving tool ( not Full R ) to finish a groove, I ALWAYS!!! pick the same tool up twice and call it twice for
each wall of the groove.
One pickup is Dir 3 and is used for the back wall of the groove.
The other pickup is Dir 4 to be used for the front wall of the groove.
The only difference in the offset page is the Z value, which is equal to the tool width.
 








 
Back
Top