4th axis be kind, don't unwind

I had a couple batches of parts that were second op off the lathe. Both are round parts that needed either 16 or 13 features around the part. I didn’t like the A axis unwinding every time so I added a M0 with a note to press A zero last time I ran them at the beginning of the program, but I decided to make the process more automated this time. After chatting with Tormach support I ended up with 2 methods and both worked.

G92 method.
Near the end of the program I added:
G00 A360
G92 A0

G10 method.
Again near the end:

G00 A360
G10 L20 P8 A0 (set the a axis to zero in G59.2 WCS)

For G10 Sam pointed me to G Codes

There were 75 pcs of each part and I ran one part with G92 and the other with G10 with the same results. I guess the difference if I understood correctly would be G92 sets the active work offset while G10 allows you to set any work offset regardless of what offset is active.


I think the methods posted above are assuming your closer to 360 than you are any other angle and work great if you know you made 1 rotation. But if you’re working with long helical 4th axis cuts, try this instead:

G10 L20 P#5220 A[#5423 MOD 360]

It resets the A Axis rotation for the current coordinate system to the remainder of the current angle divided by 360.

Using this before a new rotary axis toolpath won’t put you back at zero, but will get you back to within 1 rotation mathematically without actually turning the axis at all. This helps a ton on toolpaths where you may be in the thousands of degrees turned and the next op starts back at some small rotational angle.

this post on linux CNC talks about it, I’ve confirmed it works on PathPilot.
Resetting Rotary Axis to Zero - LinuxCNC

This a good idea, every now and then I send post modifications to Autodesk, I’ll add this one to the list.

Thank you,