use of G10 with transforms | | Matt,
First time I saw this in SolidCAM it was a bit different than I had been used to. I had previously done it the way you mentioned of G54, call a sub, G55 call a sub, G56 call a sub, and so on.
I gave the SolidCAM way a try and though different it works perfectly and is something that I use almost every day. As long as you know the shift values ahead of time all is well. I always use fixtures or vises with fixed or known shifts. This also allows and unlimited number of shifts (I often have 50 or more) versus using G54-G59 and how ever many extended offsets you might have. I also don't have to goof around moving to positions and setting all the coordinate systems.
G10 just means that your going to set an offset in this line. Could be coordinate system (G54, G55, etc), tool length offset, tool diameter, and depending on your machine a few others
G91 of course is incremental.
L2 lets it know which type of offset (coordinate, length, diameter, and so on). L1 is one type of offset, L2 is a coordinate system, L3 another type, L4 another type, and so on.
P2 in your example is equivalent to G55. P1 would be G54, P3 is G56, P4 is G57 and so on.
The rest of the values are obvious (your shifts)
Essentially when it runs this way it is just automatically or programatically sets your G55, kicks back into G90, calls up the subprogram, makes the programmed moves in absolute, resets your G55 incrementally as compared to your previous G55, moves to the next location, back in to G90, calls up the subprogram, makes the programmed moves, and repeating this as many times as is necessary. At the end mine automatically sets it back to the starting point.
Not sure why yours isn't working like mine. Perhaps this will help you troubleshoot the problem. Your controller is a very popular one so it should not be hard to sort out the problem.
Hope this helps |