Still not sure how to handle the G28 code. As stated by you the G28 G91 Z0 does as you described about. I have a zeroing"It isn't entirely clear what you are trying to do or what is happening, but there does seem to be a bug in the what G28 does with the ABCUV Axes. G28 performs 2 moves. The Programmed move and then a move to the G28 programmed position. You didn't tell us what the programmed position is. By default it is zero. Currently the G28 should perform the programmed move then move only XYZ to the G28 programmed position, but doesn't move the ABCUV axes and leaves them in an indeterminate state.

G28 G91 Z0

Should first perform an incremental move in Z of 0 so should do nothing. Then move all axes simultaneously from wherever they are to zero."

routine when I start the machine. I set X0 and Y0 in the first quadrant of the Cartesian Coordinate system. Z0 is set at the highest point

of the Z axis. This is my machine zero. Once this is complete I set a new work coordinate system on the part to be machined. The work coordinate

system will have +x,+y and -z values once set relative to the machine zero. When G28 91 Z0 is activated in the program, all 3 axis heads to machine zero at the same time. I would like the machine to first go to Z0 then X0,Y0. I have two other mills and both of them first go to machine zero then X0,Y0 with the same G28 G91 Z0 code. My assumption is that G28 is relative to the machine zero therefore the machine should move from a -Z value to 0 before X0,Y0 proceeds. Also the G28 G91 Z0 code was generated by Fusion 360 so I am not clear on why this is not so.

Thanks

George