Lathe Programing Tool Radius Compensation
I work at large job shop (60 CNC's). We use Edgecam to generate code for complex parts. Edgecam has a tool path compensation feature that makes the required adjustments for tool nose radius. Iím sure that is standard for most CAD/CAM systems. For simple parts, the set-up guys will sometimes write the program right at the machine. Even when we start with a program from Edgecam, we often need to make edits or adjustments at the machine. We donít use any of the tool nose radius compensation features on the control (all Fanuc). When we make program changes at the machine, obviously we need to manually make all the adjustments when programming G2, G3 or chamfers. Is that standard practice for all of you? Do most of you manually make these kinds of changes at the machine or do you go back to your CAD/CAM and make the changes there? Also wondering if there is an easy way to remember what the adjustments are with out having to sketch it out and do the math each time.
This thread may shed some light on the matter.
Cam As The Master Program
Hope it helps.
Thanks Spelunker, that was a good thread. It answered one of my questions about whether it was standard practice to make edits at the machine vs. on the Cam computer. Still wondering if there is any easy way to remember the required adjustments for TNR when manually programming G2 and G3 at the machine. Thanks!
tool nose comp on a fanuc is a major pain in the ass. I stopped screwing with it because the roughing cycles ignore tool nose radius completely. The finishing cycle will use the tool nose comp in your toolpath.
in my opinion, tool radius comp on a fanuc lathe machine is a feature of limited use.
what I like to do instead is use BobCAD to generate the toolpath, comp'ed. then I'll use the numbers it posts, a quick way to get the comp numbers without using G41 or G42.
I'll have to sit down and work out the rules for flubbing the numbers to get the right radius, chamfers, etc based on your insert radius. I hope someone beats me to it...
Originally Posted by Flash Gordon
It did? What did you conclude from the thread? Seemed to me there was more than one opinion on how it should be done.
Originally Posted by Flash Gordon
Not exactly sure what you are lookinig for here. Pretty sure you aren't asking about 90 degree corners. I made a chart for myself for 45 degree chamfers. This included the Tangency value for the size of the radius going on the chamfer and the X-Z compensation values. It didn't take long to memorize the few that I use all the time.
I normally am swinging a .003R or .005R on the chamfer corners with either a .008R, .016R or .031R insert. For 30 degree chamfers, the W-values is half the R-value. Then memorize the X-incremental move for the different R-values you normally use.
I've never tried to figure an easy way to do the math. Too easy to lay it out on our cad/cam system, and let the computer do the math. I'd be very interested if someone has taken the time to figure a few short-cuts.
Turning movement from right to left outside, always G42.
Turning movement from left to right outside, always G41.
Turning movement from right to left insideside, always G41.
Turning movement from left to right insideside, always G42.
G02 is radius clockwise
G03 is radius counter clockwise
this counts for inside and outside radii
Is this what you wanted to know?
Not talking about G41 and G42. I'm talking about manually programming an arc without G41/G42 and making the corrections to account for tool nose radius. For example, with G3 you must add the tool nose radius to the radius of the arc you are programming and also adjust the start point and end point. For a .12 radius using a .031 tool nose radius your code might look like this:
G01 Z0 F.005
G03 X1.25 Z-.151 R.151
The R value of .151 in the program is .12 radius + .031 tool nose radius.
I'm looking for short cuts on how to remember, i.e. need to add TNR when using G3, need to subtract TNR when using G2. Also how to adjust start points and end points.
Don't forget about fanuc X negative lathes...
AHHH you think you had trouble with and X positive lathe. When the values for diameters are negative then all the 41s, 42s, cut types etc are all reversed. I hope my new seat of Dolphin for the lathe will help alleviate some of my woes. I think my lathe is causing premature balding. I will probably get it tackled when my kids turn teenagers and then I won't have any hair left to loose through their terror years.
Originally Posted by Flash Gordon
I think you're just making life difficult for yourself.
One of the nicest features of CNC's, as opposed to old NC's, is the ability to automatically compensate for tool nose radius. Learn to use it!!!
Yes, I know it can be quirky sometimes. Usually that's due to the programmer not understanding how to correctly invoke CCR.
Originally Posted by GBeaman
This is exactly why cutter comp. should be memorized in the correct way, not just what works for my lathe.
You should always look at it as if you are inside the cutting insert driving down the tool path. Are you on the left side of the cut, then us G41. Are you on the right side? then use g42
While I don't know how your parts are checked, all I can say is that I'd be wasting an incredible amount of time and effort to get programs and toolpaths correct without using cutter comp and get inspection to sign off on them.
While older Fanucs cannot use comp on the roughing passes, you usually do not need them unless you're working on the back side of the part with some intricate profile.
For finishing tough, they do use comp and I think they do it without quirks, or at least with predictable quirks.
My Fanuc OiTc and all the Haas-s I've got use comp, even in the roughing passes without any gotchas.
Of course the point is mute if your company is stuck on non-comped lathe programs. Then the best bet is to use some sort of simple CAD to draw your geometry and get the points from there. I have noticed the the Fanuc manual and the Haas manual both go to great detail in over 20 pages on how to write non-comped programs. Too much effort for absolutely nothing, when the control does it flawlessly.
I've done it both ways, and it's not that hard either way, once you get used to it. If you want a .010 radius on an O.D. corner using a .032 radius insert, then you just make the machine form a .042 radius. No problem.
It's just a way of having the program do what your cutter comp would normally do.
Thanks Seymour and all the others who replied. I'm not sure why my company is stuck on using non-comped programs. I was wondering if that was common or not in a job shop setting. The guy that has done most of the programming for the past 10 years is the one that doesn't like cutter comp, therfore the whole shop doesn't use it. I've been learning programming on my own and started taking over some of the programming for the shop. For most programs, we use Edgecam, but when making edits at the machine I need to write code without using cutter comp. Like some of you have said, it seems like way too much work to manually write code without cutter comp. I guess it takes me longer than most and once I have done it for a while I'll get used to it.
Flash was asking if there was an easy way to figure tool compensation at the lathe. 45 degree chamfers are the easiest. Say you wanted a .03 x 45 degree chamfer on the face of a part with an OD of .75 and that you wanted to swing a .005R on the chamfer corners using a .016R insert (what I use for 1/64R). I always swing a radius on my chamfer corners to eliminate burrs. Sorry, I don't program in metric. “...the Tangency value for the size of the radius going on the chamfer” that I was referring to is the distance from the sharp corner of the chamfer to the tangency point of the .005R at the face of the part. And at the top. In this case .0021 and the X & Z delta values for .021R (.005+.016) are .0148 and .0062 respectively at the part face. So the starting X-value would be .75-.06-.0042-.032= .6538 and my program for the chamfer would look like this:
Originally Posted by Xjenderfloip
G3U.0296W-.0062R.021 (2 times X delta of .0148)
Study this a bit and you will notice that the delta figures for X and Z have switched positions at the top of the part. X delta is now .0062 while Z delta is .0148. There is a reason why I program with incremental moves after the initial tool position. It is a simple matter to modify the program requiring only 3 words in 2 blocks to be changed. Example: Engineering comes down after you get the job set up, and tells you they want that .03 x 45 chamfer to be .02 x 45 degree. This is how easy it is to modify:
Increase the X starting position by .02 (2 times .01...the difference of .03-.02) and decrease the U value in the G1 block by .02 and the W value in the same block by .01. The other 2 blocks never change. Another advantage is that if all corners of the part have the same chamfer size, all I do is cut-and-paste the original chamfer, and modify the X starting position (delete the Z0 as the Z is normally already in position). Done
For 30 degree chamfers the W value is half of the R value...at both positions. Nice, huh! Something like this:
I assumed Flash wasn't asking about how to change a G2/G3 block for 90 degree corners. Now if Flash (or anyone else) isn't swinging a radius on chamfer corners, then there are charts in some manuals that give tool compensation for various insert radii for every whole angle between 0 and 90 degrees. I would suggest photocopying this chart and keeping one on each machine if that is how you are programming.
These charts can be found online if you don't have a manual with one in it.
Hope I made it a little clearer than mud. Like I said, hard to explain in writing.
EDIT: You should quickly be able to see another advantage of programming this way. Say one tool turns 6 different diameters, but your spindle isn't perfectly aligned or maybe the tool isn't right on center...whatever...but one or more of the diameters require fudging to put them on the mean. Using incremental programming after the initial positioning means you only have to modify one value to change that diameter. Of course, this is for those of you that don't include a macro like I do. No modifying is required then. The operator simply changes a variable by the amount the diameter is off, and it's done.
Although I can certainly see the benefits of using tip radius comp on the lathe, I tend not to, because of confusion between the tool touch off point and the true center of radius of the tool tip.
For example, face a piece of stock and set the tool offset in Z: well it seems intuitive that the end face is Z0 and the tool is tangent to it, so therefore, the current tool offset should be set at the facing position, however the 'zero radius' of the tip radius might be .031" in front of the face.
Another programmer might reckon the virtual acute corner angle of the tool to be the touchoff point, then comp would have to be the other hand (wouldn't it?)
Now if I could ever sort that and keep it straight in my head, maybe.......
So comp done in cad permits one to touch the tool off in conventional fashion in X and Z and not ever be out by an errant setting of the tool's true datum point.
Straighten me out if you can
Originally Posted by HuFlungDung
I see no reason to be concerned about the whereabouts of the center of the tool radius in any case at all. All you care about is the corner of the insert, as if it had no radius at all.
If you touch the front of your part, and call that "Z0", that's it. Done. Makes no difference where the radius center is, all your cutting is done at the virtual tip.
[quote=HuFlungDung;1113211]Although I can certainly see the benefits of using tip radius comp on the lathe, I tend not to, because of confusion between the tool touch off point and the true center of radius of the tool tip.
Hu, the touch off is IDENTICAL to programs with or without comp.
No difference at all.
One may choose to pick up full radius grooving tools ( internal or external ) by way of Z0 being the actual radius center.
That would mean for example a 1/8 full R tool be touched to the face, then subtract .0625. This also requires that you use Dir 6 for internal and dir 8 for external groovers.
What is the benefit? Well, it's a little easier to devise a program for example an oil groove, where both, G41 and G42 is used to properly clean the sides.
All you have to remember is that the tool ctr ( just like an endmill) is the Z location when using the tool without comp. With comp, the machine knows exactly what you want and you do not need to worry about it.
But even in this configuration, the X touch is tool tip just as it would be normally.
One additional benefit of this method of pickup is when you need to make a sphere and you need to control sphericity. The X offset controls the X-direction dimension, while the Radius offset controls the Z-direction. You can usually dial in the tool in offsets-only to create a ball within .0003 spherical, regardless of actual insert geometry.
No, I don't believe it's common. Or, at least it's not wise.
Originally Posted by Flash Gordon
What about your mills, if you have any? That would be totally bad if they were that way too.
Sounds like your shop started off on a bad habit and because of lack of training has never gotten on the right path.