Maybe something like this:
How about something like this:
All your Start Program stuff goes here.....
G00 G70 G40
G80 G90 G10
M48 (G00 CONTROLLED WITH OVERRIDE KNOB)
G990 (RESET OF VARIABLES)
SET GZERO=0 (1=G01, 0=G00)
(TABLE: 0= ONCE Y, 1= Y TABLE LOOP)
SET TABLE=0
(Material Thickness)
SET THICK= 0.9000
(Fixture Height)
SET FIXTURE= 0.0000
(NOSPACER: 0=THERE IS A SPACER, 1=THERE IS NO SPACER)
SET NOSPACER=0
( X&Y Fixture Offsets Y TABLE )
SET XSHIFT=0.000 ( X Fixture offset Y TABLE )
SET YSHIFT=0.000 ( Y Fixture offset Y TABLE )
(************* CONTROL LOOP *************)
[ZSHIFT=THICK+FIXTURE] (!! DO NOT TOUCH !!)
M80L1 (START OF CONTROL LOOP)
IF [GZERO=1] THEN M48
G902 ( Y TABLE REFERENCE )
G902 (or where ever your origin for your program is) (G52s use the fixture offset table but do not make the initial move.)
( Just make sure that the Z in the table is BLANK and not 0.000 )
( For G51 Offsets The Offsets From "Home" are to G902 X0 Y0 Use X (your X Offset) Y Your Y Offset))
G51 X10.2704 Y59.6912 (or G51 Xx.xxx Yy.yyy)(This the X0 Y0 Z0 position)
M82L50
G51 X58.2704 Y59.6912 (or G51 Xx.xxx Yy.yyy) (This will move 48 inches in the x direction)
M82L50
G51 X10.2704 Y59.6912 (or G51 Xx.xxx Yy.yyy) (back to the original 1st G51)
M82L50
G51 X58.2704 Y59.6912 (or G51 Xx.xxx Yy.yyy) (back to the original 2nd G51)
(Just put the above as many times as you want to loop your program)
M82L50
(===== Ending Section ===============)
G990
G90 G00 Z0
X0. Y0.
M05
M02 (FINAL EOP)
(Start of sub routine.....)
M80L50
Your program will start here..........................
(TOOL CHANGE T2 45d Insert Cutter CONTOUR iOP: 15 )
M5 (Pre-toolchange Stop)
(Programed Spindle Speed: S16500 )
S16500 (Spindle Speed w/ Ratio)
T2
M3
G00 X1. Y-15.25 (Rapid X Y)
G00 Z.75
M31 (Check up 2 Speed)
G00 Z.6
G01 Z.25 F250.
G01 Y-1. F100.
G01 X40.
G01 Y-15.25
G01 X1.
G00 Z.75
G00 X where you want to park Y where you want to park Z where you want to park
M00 You will have to start the program again here to continue)