The story has been circulating here about a support issue that was raised recently where a Kipware® conversational customer inquired about how to have KipwareT® output program coordinates using the tool center vs. using G41/G42 cutter compensation and the imaginary tool tip on the control. The conversation went something like this :
Support Staff : “Why would you want to do that? That’s really not a good programming practice.”
Client : “Well all our programs are written like that.”
Support Staff : “OK … but that’s not a good programming practice. When we created Kipware® conversational we wanted to include best programming practice so KipwareT® outputs G41 / G42 and does all the calculations and automatically includes all start-up and cancel blocks and code … so it creates a better program. No worries … even if you don’t know how to program it KipwareT® does it all for you.”
Client : “Yes but nobody programs like that.”
Really? Nobody out there programs like that? We find that hard to believe.
So … we decided to post some of our main reasoning for considering the use of cutter compensation on the control as “Best Programming Practice”. If you agree with our points … we hope that you will consider making the change … getting educated … and to start creating your G code programs using G41 / G42 cutter compensation.
- Program Coordinates … programming to the tool tip center means that coordinates in the program do not reflect actual part print coordinates. Coordinates are based on the tool tip center rather than on the part dimensions. You can imagine the trouble and confusion that happens when edits need to be made.
- Tool Interchange – Turning … since the G code was written for a specific tool radius … the program will only function correctly for that tool radius. Decide to use a 1/64 radius for finish when the program was written for a 1/32 radius … re-program or re-generate the toolpath.
- Tool Interchange – Milling … I think this point probably comes into play more for milling G code than turning G code. Does your shop always have perfect .500 end mills? If so … WHY ???? Re-grinding end mills is quite a cost saver … but it means your end mills might be .485 or something odd. If you use G41 / G42 … who cares? Just enter the correct offset value.
- Dimensional Adjustments … Come on, this is the real world. There is no reason to keep running back and forth to the CAD/CAM guy or programming office when dimensional adjustments need to be made during production … and they will be because cutting conditions are not theoretical, they’re real !!. Cutter compensation and part / tool offsets can handle probably 99.99% of all dimensional adjustments. Use the power of the control !!
Some of the main reasons we hear for why clients don’t use cutter compensation ( and none of them are valid by the way ) …
- Nobody taught me. Come on … grab a hold of your future and do some “playing” at the machine … or read for yourself. This is a truly important programming tool … you need to know hoe to use it if you want to go anywhere.
- Nobody uses it. Like our scenario above … just keeping following the crowd … over the cliff. If I ran that shop … the guy that comes to me and says “I think we need to change the way we think about cutter compensation” would have more of my respect than the guy who gives me the excuse “That’s the way we always did it.”
“I’m not stubborn …
it’s just that doing things your way is stupid.”
If you agree … want to learn more … or just want some additional reading … below is a link to one of our previous posts that dealt with this issue also … CLICK HERE for that article.
Unfortunately CAD/CAM systems have made it so easy to program with tool tip radius … but in the real world, on the shop floor, it can be a real detriment to productivity and efficiency. We urge any CNC programmer out there who is not using cutter compensation on the control to step up and take control of your future … get educated on cutter compensation … and use cutter compensation in your G code. Your future will be a lot brighter … and profitable.
Kenney Skonieczny – President