G81 Possible Bug

Hello my first post here. I have been working through the G-Code on this machine and I believe I have found an issue with the G81 command. The following code is the one in question.

N890 T3 M6
N895 S5000 M3
N900 G54
N905 G0 X381 Y-381
N910 G43 Z15 H3
N915 G0 Z5
N920 G98 G81 X381 Y-381 Z-14.139 R-2.35 F254
N925 X-381
N930 G80
N935 Z15
N940 M5

According to the documentation when the canned drilling routine is executed it is supposed to store the current z position as Z old. In this case Z5. but it is not doing that.

The Current Cycle is:
1: The axis moves down to Z5
2: The axis moves to Z-2.35
3: The axis moves to Z-14.139
4: The axis retracts to Z-2.35
5: The Axis moves to X-381

According to the documentation for G81 it should only retract to the R value if it is greater then Z_old. This code was generated by fusion 360 which interprets g81 correctly and shows the Z retract as Z5 in the simulation.


Onefinity Woodworker
Firmware: V1.0.8

If the surface of you work is Z zero your R needs to be positive or R2.35, R-2.35 is below the surface. Never mind I just noticed the G98 it should go to Z5. then move. G98 retracts to the last Z before the G81. G99 retracts to the R value.

Can anyone else confirm this bug in G81? I guess I will push this to bug tracking on Buildbotics.