I would make the code O001, then call
M98 P001 L1 (CALLS CODE)
G52 X1.5. (OFFSET TO NEXT PART)
M98 P001 L1. (CALLS CODE IN NEW LOCATION)
G52 X3.0. OFFSET ANYTHING 1.5")
M98 P001 L1. (CALL CODE NEW LOCATION)
G52 X0 Y0 Z0 (CLEARS OFFSET BACK TO ORIGINAL LOCATION)
be sure to change your program start/stop to something that makes since. I'll upload a file I'm running on the HAAS right now in a second. Not on the HAAS I'm using m97, on Mach u use m98. Also on Mach you need % between each program / sub-program
Brian
WOT Designs