(Generic program to spiral plunge holes - Hole at X0 Y0 - add data to INPUT variables) G91.1 G95 S5000 G0 Z1 G0 x0 y0 #22=.010 (INPUT feedrate for cut) #23=.005 (INPUT feedrate for cleanup) #26=1.125 (INPUT circle rad final) #27=.003 (INPUT clean-up cut - SUBTRACTED from cutout passes) #29=.125 (INPUT leadin rad for clean up pass) #31=.1 (INPUT DOC for each pass) #32=.32 (INPUT DOC total INCLUDE cut thru amount) #25=[#26-#27] (CALC radius for cutout minus clean-up pass) #28= FIX[[#32+#33]/#31] (CALC number of passes) #27=#28 (VARIABLE counter) #30=0 (VARIABLE Z coord for pass) G0 X[#25] Y0.0000 #30=[0-#32+[#28*#31]+#31] G4 P.1 (DIAG use for variable monitor) Z.1 G1 Z[#30] (move to starting Z - this may be above surface) F[#22] M98 P1110 L[#28+1] (Sub to cut pass hole) G3 X[#25] Y0 I[0-#25] J0.0000 (final pass for flat bottom) G0 X[#26-#29] Y[0-#29] (Position for Lead-in) F[#23] G3 X[#26] Y0 I0 J[#29] G4 P.1 (diag - use for variable monitor) X[#26] Y0 I[0-#26] J0 (Clean up pass) X[#26-#29] Y[0+#29] I[0-#29] J0 G0 Z1 M5 M30 (END OF PROGRAM) O1110 (SUB to cut smaller hole) #27=[#27-1] G1 Z[#30] #30=[#30-#31] G4 P.1 (diag - use for variable monitor) G3 I[0-#25] J0.0000 z[#30] m99 (end of SUB)