What's new
What's new

G41 for wear only?

Toolbert

Stainless
Joined
Nov 29, 2003
Location
Vashon Island, WA
Thanks ... Edited - I mis-spoke here and misrepresented what Jim Harvey explains in his book. For some reason it didn't make sense the first 3 times I read it but indeed he is saying to let the CAM do the cutter radius compensation and use G41 for wear. The "not my cup of tea" part refers to programming the part outline and letting the control do the radius offset.

So it's pretty much ... nevermind. Good to have a reality check.


With modern CAM providing "system compensation" for cutter radius, instead of using G41 with a radius offset in a D register, there sure is a range of opinion about the merit of using G41 at all.

Both the Jim Harvey "CNC Trade Secrets" book, and my local mentor, a 68yo lifetime cnc machinist, have a strong opinion to let the CAM compensate, use new end mills (not resharps), and never use G41. Mr. Harvey says "it's not my cup of tea" and does not elaborate further. When my mentor needs to dial in a closer diameter, he adjusts the side allowance on a feature-by-feature basis in the CAM and regenerates the gcode.

My sense is this is the attitude for expedient, lower precision work, and pretty obviously, anyone doing in-machine gaging uses G41 and regards the alternative as ridiculous.

My CAM appears to support combining system compensation for cutter radius with G41 for only a wear offset, not actual radius compensation. I.e. the D register for a cutter would have 0 for radius and a small positive or negative offset in the wear register.

Do folks actually do this? Do controls generally accept this, i.e. G41 with a 0 or negative radius cutter? Kinda wondering what the real world use of G41 is specifically for CAM generated gcode.

thanks
 
Last edited:
Whether it's full dia or just wear comp, it really does not matter, nor does the control care.
You can put a negative offset in the diameter field or the wear field, it also doesn't matter nor does the control care.
You still MUST use the D word as it is the only method of invoking the offset amount, and remember, the D is the sum of dia (radius) and wear field.

I for one only use full dia comp ( meaning the actual diameter is in the control's offset ) because that is just how I prefer it and will accept no exceptions.
Even the roughing paths are cutter comped, period, end.

Now as to your Mentor and to Jim Harvey... I hope they are now comfortably retired and stopped indoctrinating youngsters with idiotic stupidity.
 
With modern CAM providing "system compensation" for cutter radius, instead of using G41 with a radius offset in a D register, there sure is a range of opinion about the merit of using G41 at all.

Both the Jim Harvey "CNC Trade Secrets" book, and my local mentor, a 68yo lifetime cnc machinist, have a strong opinion to let the CAM compensate, use new end mills (not resharps), and never use G41. Mr. Harvey says "it's not my cup of tea" and does not elaborate further. When my mentor needs to dial in a closer diameter, he adjusts the side allowance on a feature-by-feature basis in the CAM and regenerates the gcode.

My sense is this is the attitude for expedient, lower precision work, and pretty obviously, anyone doing in-machine gaging uses G41 and regards the alternative as ridiculous.

My CAM appears to support combining system compensation for cutter radius with G41 for only a wear offset, not actual radius compensation. I.e. the D register for a cutter would have 0 for radius and a small positive or negative offset in the wear register.

Do folks actually do this? Do controls generally accept this, i.e. G41 with a 0 or negative radius cutter? Kinda wondering what the real world use of G41 is specifically for CAM generated gcode.

thanks

What a huge way to waste time.
Write a whole new program instead of just adding
a single line of code.(G1 G41 D1 X? Y?)

What yo describe is the way most machinist do use full comp or wear offsets.
I use mostly wear offsets.
 
generally is ok, unless you are satisfied how the machine moves in comp mode ...

another issue is taking corners when tool vibrates near them : if the tool is new, thus there is no wear, you may simply plunge in the mill at corners, and after that you will do the loop, and all will be ok

if there is wear, than such a trick requires more coding to achieve, otherwise, tool vibration will be increasing near the corners, especially if wear appears

if the toolpath is pretty smooth, thus no sharp corners, than this phenomen does not appear :)
 
depends how you comprehend compensation :) and also depends on machine restrictions ..

i dont know how to answer to your question ... please, if you can be more specific : cnc+tool+operation ? and i may give you a specific answer

maybe is just me, but your question is too general :) kindly !
 
this may help visualize the life spam; for example :
... you touch the tool at the senzor
... you input a wear correction, so to make the new tool deliver the required dimension
...... thus 1st corection is there to hit the dimensions that are required
......... if machine is ok, and program is just fine, etc, than this corections is pretty low
......... if tolerances are big, than no corection may be required
............ thus, this is the start-up corection :)

... during machining, you adjust the wear, as tool begins to get wear ; generally this are light values
... once the wear reached a value, you may change the tool, and also input by default a wear corection = start up :)

i hope i made some light :) kindly !
 
The procedure you describe is also applicable to simply using Cutter Compensation in the conventional sense. It is not exclusive to using 'Wear' offset in isolation and therefore offers no distinct advantage.

DP
 
do you think of a 3 axis mill, with an endmill on it ?
do you think of a lathe with live tool, and endmill on it ? towards X- ? or towards Z- ?

and you wish to know what is the difference between wear_field and radius_field ?
thus those 2 fields where you input corections ?
 
I understand the concept of a separate 'Wear' offset for both length and radius, where available. I do not see the benefit of setting radius as zero, over setting radius as nominal.

DP
 
1) if you consider programing skils :

... when comp radius = tool radius, than programed toolpath reflects the part, and you can only guess/think how the machine will move

... when comp radius = 0, than programed toolpath is pretty close to how the machine will move in reality
...... you give priority to the machine, thus you may deliver optimized toolpaths; good for complex shapes :)

2) if you consider corections :

... when comp radius = tool radius, corections will be = radius +/- a bit
...... thus always positive

... when comp radius = 0, corections will be = +/- a bit
...... thus positive or negative
...... some controls can not handle negative corections :)

is it ok ? kindly !
 
Surely the actual machine motions will be the same for both methods? In fact, the only difference I can think of would be constant feed rates during internal arcs.

If only 'wear' offset is used, all internal arc feed rate corrections would be negligible (unless of course the actual tool radius is inputed into the 'wear' offset).

DP
 
there may be parameters that make the cnc behave differently while moving in comp, thus moving on different toolpaths, even if the program is not changed

.. different "startup", respectively "different out" of compensation movements
.. different auxiliary movements between 2 geometrical entities that are not tangent

is good to know how your cnc behaves ....but generally, you can craft without such worries :)
 
If you are going to use G41/G42 at all, why not use it as it is intended to be used?
It was intended to be used as a wear offset. Before controls had look-ahead you could get into big trouble by using the radius of the cutter for comp. For instance, with an inside corner and no lookahead, if you programmed with cutter comp from the part surface instead of using the cutter centerline, then the cutter would charge into the intersecting surface at a corner, then back up to go the other way. You'd get undercuts at every inside corner. It didn't see far enough ahead to know it was going to have to stop before getting to the next surface.

So we'd program on cutter centerline, then use wear offsets to account for an undersized cutter. That worked fine because cutters don't generally wear bigger.

It was only when four or five blocks of lookahead became common that using wear compensation for "part surface programming" became popular.

I still like programming to cutter centerline but old habits die hard, yes ? In theory, it's still better. To me, anyhow. But I like APT, too :D

90% (or more) of shops are using G41 for wear/comp only.
and the other 10% are scrapping parts on every set up
Not if you use preset tooling ....
 
I prefer wear as I can turn it on with minimal lead in and in tight places. I haven't used diameter comp in a while and I never looked back. Now fingercamming at the lathe...
 
Ok, so he's the history of tool comp. short and sweet and hopefully this will be the end of it. :willy_nilly:

Back in the old days, meaning NC (tape), tool paths were programmed on the tool center line. The machine was just running off a tape from one location to another. There was no such thing as work offsets, tool numbers, offsets, etc. The machine didn't know if it had a 1/8 em or a 2" em. It started from your Zero (usually an index hole) and if you had your fingers crossed it came back to zero. Some of the old Bendix controls had wear comp, but I never saw one that worked.

Along came CNC and with it came G41/G42. So now, every shop that could afford a CNC could jump into the game. But wait, remember how big and expensive a computer was back in those days? How are you going to program it? If you paid attention in high school algebra, it was easy. For the rest of you, the easy way was to just program the part line dimensions, enter the tool radius as your offset, and let the control do the math for you. This method of programming became very popular with retards who can't do math.
Biggest drawback with part line programming is a missing or incorrect offset value will have disastrous results.
In todays world of CAM software, there's no reason in hell to ever consider it.
 
I use negative values in the offset if I don't want to switch or rewrite the codes going from G41 to G42 other side....I have used even like -4.375....huge negative offsets....I also use it for scaling the part up or down and not rewriting code or wasting mastercam time..G41 is usefull...I make original program to exact size on print....then with positive and negative offsets along with wear you can do many things in short order and still hit target size on print if need be

PS....if inside is a shape and then outside is same contour....then I run the inside and then offset -6.0 for outside or whatever wall thickness is....and in reverse to depending on part
 








 
Back
Top