X & Y Zero are part of the G53.x code--the x being the particular part offset for the given tool.
This machine has no tool library capability, so all tool offset G codes are essentially useless--I have to program along centerpoints and calculate the toolpath myself. Though there are two layers for the toolpaths in the .dxf I sent you.
The path(s) follow the inside of that serpentine slot, and the "landings" in the curves are actually inclined surfaces--hence the attempt at helical movement in the program I had already written. The front and end slot-sections have a t-slot in them, but that is a seperate program because of the lack of tool library, and hence, lack of mid-program tool change capability.
This machine is a one-tool, one-setup-per-program deal. Though I can specify up to 9 different offsets in the machine itself in the G53 settings--but I'm having to change this constantly because of variations in clamping procedures for the parts themselves.
Basically, everything in the program prior to the first M1 code consists of the positioning code (aside from the comment lines designating what the program is for and what tool I should be sure to have set up in the spindle) that takes the machine from it's Machine HOME position to the part offset, and it runs from there back towards HOME on the X-axis. Or a 180 degree rotation around the UCS point. In other words, Y is always negative in absolute positioning, as is X.
The urge to save humanity is almost always only a false-face for the urge to rule it. -- H.L. Mencken