You ask about Y cuts, I was settling for repetition on any axis. If I could cut both From X0 to X7 say .005 a pass and then Y0 to Y2.5 at the same rate .005 that would be great but as you can see I dont really have an idea how to implement it. I would think there has to be a final destination though 50 passes @.005 indicates 1/4".
You're going about this in a rather unconventional way. The more "normal" way to do it is to step down in Z, cutting the entire profile in each pass, then do one final, full-depth pass to put the final finish on. So, for example, to cut a 2" square, 1/4" deep, centered on X0, Y0, using a 1/4" endmill, with a 0.010" finishing pass:
M3 (Spindle On CW)
M7 (Coolant On)
#100 = 0.000 (Register for current Z depth)
G0 Z1 (Move to safe height)
G0 X-1.135 Y1.135 (Move to start position)
M98 P0001 L25 (Do roughing passes down to full depth)
(Do finish pass, taking off 0.010")
G1 X-1.125 Y1.125 F5 (Move to start position for finish pass)
G1 X1.125 F5 (Cut top edge of square)
G1 Y-1.125 F5 (Cut right edge of square)
G1 X-1.125 F5 (Cut bottom edge of square)
G1 Y1.125 F5 (Cut left edge of square)
G0 Z1 (Retract to safe height)
M9 (Coolant Off)
M5 (Spindle Off)
M30 (Program End)
(Roughing Subprogram)
O0001 (Do one pass of roughing cut)
G0 Z#100 (Rapid to depth of last cut)
#100 = #100 + 0.010 (Step down in Z)
G1 Z#100 F5 (Feed move to new depth)
G1 X1.135 F10 (Cut top edge of square)
G1 Y-1.135 F10 (Cut right edge of square)
G1 X-1.135 F10 (Cut bottom edge of square)
G1 Y1.135 F10 (Cut left edge of square)
M99 (Return)
M30
The above code *should* work, but for some reason stalls on the #100 = #100 + 0.010, but should give you the idea of how it's more typically done. Really, though, except for very simple parts, writing G-code by hand is pretty painful. You should look into some CAM software. I can highly recommend SheetCAM.
Regards,
Ray L.