Lathe Failures That Teach You More Than Success Ever Could (Fusion 360 → Lathe Workflow)
Today I learned: sometimes a tiny macro tweak can save your sanity on the lathe! 🤯 Just swapped in a custom M200 after M6, and now my tool changes are spot on. Mach4 quirks, you've met your match! 🛠️ Curious minds, dive deeper here https://thebitcoinwatchmaker.com/post/view/lathe-failures-that-teach-you-more-than-success-ever-could-fusion-360-lathe-workflow/
Learning, Trying, Failing… but Happy
This week, I hit an unexpected behavior while setting up my gang-style tool system with Mach4 and Fusion 360.
Here’s the layout:
- Tool 1 is positioned manually and sets G54.
- Tool 2 and beyond use XYZ offsets relative to Tool 1.
- Fusion 360 doesn’t emit Y moves for tool changes in lathe ops — it assumes only XZ movement.
So far, so good... until I discovered this 🤯:
After a tool change using M6, running G0 Y0 still uses the previous tool’s Y offset!
What I mean is this: (M6 macro)
This happens because M6 internally calls setCurrentTool, but Mach4 doesn't apply the Y-offset until after the macro finishes. That means if you issue any move (like G0 Y0) immediately after M6, you’re still running with the old offset. Yikes.
My solution: I created a custom macro: M200.
So then, I modified Fusion 360’s Mach4 Turning Postprocessor to call M200 immediately after each M6 command.
how you may be wondering, well like this: (this is in the mach4-turning postprocessor downloaded from Autodesk website)
And M200 looks like this:
It does three things:
- Moves Z up 5mm
- Moves Y to 0 (now under the correct tool offset)
- Restores Z
Now every tool change is reliable and precise — no more misaligned cuts or offset confusion. It’s a small fix, but one that makes the difference between frustration and confidence on the lathe.
Mach4's quirks taught me a lot this week — and solving them made me enjoy the process even more.
