Hello all,
I have 2 possible Tool radius compensation implementations in my software.
Could anyone tell which one is better and why (red line is original path).
Thanks.
Hello all,
I have 2 possible Tool radius compensation implementations in my software.
Could anyone tell which one is better and why (red line is original path).
Thanks.
the black line is your part? i would use abs programing (g90) instead of g91
also i would climb mill, on a heavy machine you can climb mill with no problems.
use g41 instead of g42 i think in 20 years of programing i used a g42 once.
start bottom left corner at feed cw around the outside. your program is not going to finish the bottom left corner.
The red line is the tool path for the centreline of the spindle(tool), when a zero value is used in the control(D1=0), it is going in a counter clockwise direction, so if the red line is your part edge, when the tool radius is input into the control(D1=5.0, if tool is Ø10mm) ( tool is on the Right side of the shape when moving ), it will be following the black line
As highgear states, try using a program in absolute code (G90), it is easier to read and to manually modify the path, (insert points/rads etc) without having to repost.
There is no difference in the NC code you have generated, but graphically, the 2nd picture (the black line) represents the actual tool centreline path taken when tool compensation is taken up or cancelled.
Neither program will produce the results you want. At the lower left corner, the cutter will not cut all the way to the tip of the corner and will leave a little bump there. Other than that, either one will produce the same results
As for G41 or G42, I cannot believe someone that has been CNC programming for 20 years has only used G42 once. G41 is climb milling for external profiles, but for internal profiles you need a g42 to climb mill.
I have to explain. We've developed CNC control software. The question was regarding possible implementation of Tool Radius Compensation in the software, not NC-code program you may see on the right part of the screenshots.
Implementation on the 2nd picture is similar with that Haas shows in their user manual (see attached picture).But many our customers ask to other implementation method, shown on the first screenshot.
We'd like to know the community opinion - which implementation is better and why.
If incremental NC programming and using G42 in the example is annoying, I will prepare and attach other examples, no problem.
Yes, exactly - NC code and red-lines are the same, but black-lines show actual toolpath depends on TRC implementation.
er...a definite no ...incorrect way of thinking how cutter comp works
G41 is to follow the programmed path on the LEFT SIDE
G42 is to follow the programmed path on the RIGHT SIDE
--- climb or conventional depends on which way the cutter rotates
So to machine a shape externally by climb mill, you need to define the shape in a CW direction, & the cutter will need to rotate CW ( M3 ).
To do an internal shape by climb mill, the path is defined CCW, & cutter rotating CW ( M3 )
99.9% of CNC machines will only perform the 2nd toolpath, there is no other choice
If you need to give a choice, then the NC code will have to be different to that shown, and the you are back to that 2nd picture again, with toolpath tapering away from the plunge point of the programmed path
Tool comp is not an immediate move (shown in the 1st pic), it will start to move away from the toolpath at the beginning, and only at the end of that move will it be at full compensation.
I understand that you are developing the CNC software, but is it a safe alternative to what is the expected ( & proven ) norm,
- is that path suitable for all different shapes (ie a narrow slot with a large hole at 1 end- eg. a keyhole shape )
- or different methods that people do to for comp take-up (ie end point of comp IS along the programmed path )
My opinion, 2nd pic is your standard display & output of paths
- 1st pic is an add-on option, that the customer knows that it is different to normal, a special enhancment if you will.
I agree.My opinion, 2nd pic is your standard display & output of paths
- 1st pic is an add-on option, that the customer knows that it is different to normal, a special enhancment if you will.
With either option, the programmer needs to take into account where and how the compensation takes place, so it doesn't matter one way or the other. Bt the 2nd method is the standard that I've always seen.
Gerry
UCCNC 2017 Screenset
http://www.thecncwoodworker.com/2017.html
Mach3 2010 Screenset
http://www.thecncwoodworker.com/2010.html
JointCAM - CNC Dovetails & Box Joints
http://www.g-forcecnc.com/jointcam.html
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)
Yep. Late night brain fart on my part.
However climb milling is not always the correct choice. If you are using a machine that has the rigidity and lack of backlash to do climb milling it is preferred. If the machine is less rigid, like many of the smaller benchtop machines, then a climb milling pass may cause excessive flex in the machine that shows up in the part as chatter. Same is true if there is too much backlash. This is of course dependent on the depth and width of cut, and a climb milling finish pass is in my opinion almost always preferred.
my-cnc - Now that it is clear that what you are asking about is how to implement cutter diameter compensation into a new control software, I would say that the second option is what you should go for. Reason is because it is the accepted industry standard. Unless there is a real good reason to do otherwise, the accepted standard will create less confusion on the part of users.
Thanks for the answers.
Actually the method #1 was demanded by peoples from sheet cutting industry (plasma, gas cutting etc). They like when lead-in/lead-out lines have the same angle after TRC. The demands were quite strong, so I thought there should be more people who might prefer #1.
One more question.
As I know, there are two meanings for D parameter in G41/G42 block.
1) D is tool diameter value;
2) D is address in Tool Table, that contains tool diameter, length etc.
Which one is common used ?
Thanks for your help.
#2 is the correct meaning
On most CNC machines, the D address is an interger field, not a dimension, ( ie cannot take a decimal point) , so it is only to read a value from the tool radius table ( some machines require a diameter input instead of tool radius )
Tool length is usually a H address
The idea of using tool tables is to eliminate the need of editting the actual NC code to update a change in tool radius ( or diameter), so alter the D value will alter the actual toolpath to suit.
99.9% of NC users would want to see what the actual path would be.
I understand that sheety's, etc. may want a TRC completed before actually cutting the required profile, but they should be defining the shape accordingly.
The sample pics you put up, only #2 is possible, as no intermediate point along the lead in/out has been defined to allow #1 to be able to occur.
Possible solution steps,
- rapid to start point
- descend ( torch ON, or whatever )
- comp to start point repeated <--- trying to do your pic#1
- 1st point on shape
- do shape
- go to exit point
- comp OFF
- go to exit point <--- trying to do your pic#1
- retract ( torch OFF, or whatever )
I'm repeating the positions, thinking that the tool will comp to other side of line ( at the start point), while calculating the next goto points.....
Or... your software may insert a point within the tool radius of the rapid to point for the comp take-up then you will have something very close to pic #1
A comp move ( takeup / cancel ) is calculated along linear moves only, software would need to "look ahead" to calculate the next series of paths & positions