How to force Fusion 360 to do clearance Z move before x/y translation

Hi - in Fusion 360, if you don’t position your bit above your clearance height when you start, the processor isn’t smart enough to move you up and the bit will crash. gSender has support for this in the safety settings, but ONLY for the “go to” buttons, not for job start. Safe Retracts to Clearance Height works fine in general, but the first move can crash the bit. The way to protect ourselves from this is to have Fusion always send a Z move to Clearance before any other operations - but I confess, I don’t know how to do this. Anyone have any tips? I suspect I may have to edit the grbl postprocessor, but I’m surprised nobody else has done this!

Yes, I can manually clear the bit each time, but that’s a human operation, prone to failure, and for high moves that can almost hit the limit switches, I find the responsiveness of Jog controls on gsender so poor that I can’t easily use my joypad/control to get close every time. Sigh.

I would have to investigate, but I think you can insert a startup macro before the generated gcode. Not sure where to look to do so, but my guess is in the post processor settings. If I do find it I will post more later.

That’s a post processor issue or an issue in using the post processor.
What post processor are you using?

Many times I’ve seen this because a user is using G28 safe retracts without knowing what that means. Are you using G28? Can you share the first 20 or so lines of gcode?

Hi Neil - I’m using Fusion 360’s built in grbl post. I have my safe retracts to clearance height. I think @elbarsal has the right idea - there needs to be a macro added. But it does seem like this should be a common problem for anyone using Fusion 360, right?

(1001)
(T2 D=6.35 CR=0 - ZMIN=-1.778 - flat end mill)
G90 G94
G17
G21
(-Attention- Property Safe Retracts is set to Clearance Height.)
(Ensure the clearance height will clear the part and or fixtures.)
(Raise the Z-axis to a safe height before starting the program.)

(Face Heel)
T2
S22000 M3
G17 G90 G94
G54
G0 X144.365 Y97.563

That’s a post processor problem.
Feel free to use mine here.

If you really want to use the grbl one that’s in the Fusion Library, you can swap these two lines:

writeBlock(modalCodes, gMotionModal.format(motionCode.multi), xOutput.format(position.x), yOutput.format(position.y), feed, additionalCodes[0]);

and

writeBlock(gMotionModal.format(motionCode.single), gOffset, zOutput.format(position.z), hOffset, additionalCodes[1]);

so the Z axis move is first.
They are lines 1601 & 1602 in the grbl post I just looked at. Just switch the order of the two lines.