;Turning O sub (axis,hide) G18 G7 M66 E4 L00 #5 = #5399 (Finish Z ) M66 E3 L00 #1 = #5399 (Finish X) M66 E0 L0 #2 = #5399 (metres/min surface speed) M66 E2 L0 #3 = #5399 (Cut / Increment ) M66 E1 L0 #4 = #5399 (Feed / Pitch) M66 E5 L0 #6 = #5399 (Radius) M66 E6 L0 #7 = #5399 (angle) G92 x0 z0 (store position) g92.2 #14 = [#5211 * 2] (starting X) #13 = #5213 (starting Z) g92.1 G7 ; Lathe Diameter Mode G18 ; XZ Plane G21 ; Metric Units G90 ; Absolute Distance G91.1 ; but not or arcs G96 D1500 S#2 ; Constant Surface Speed Mode g95 F#4 ; Feed-Per-Rev Mode m3 ;Start Spindle g4p1 ; Wait to reach speed ;Turning (axis,show) / (debug, Turning finish dia #1 start dia #14 start length #13 finish length #5) / m1 O100 WHILE [#14 GT [#1+#3]] g0 X #14 #14=[#14-#3] G1 X #14 G1 Z [#5 + #6] X[#14 + [#13 - [#5 + #6]]*TAN[#7]] O101 IF [#6 GT 0] G2 Z#5 X[#14 + 2 * #6 + [#13 - [#5 + #6]]*TAN[#7]] I[#6] O101 ELSE G1 X[#14 + #3 + [#13 - [#5 + #6]]*TAN[#7] + 0.3] O101 ENDIF G0 Z[#13] O100 ENDWHILE G0 x#1 G1 Z [#5 + #6] X[#1 + [#13 - [#5 + #6]]*TAN[#7]] O102 IF [#6 GT 0] G2 Z#5 X[#1 + 2 * #6 + [#13 - [#5 + #6]]*TAN[#7]] I[#6] O102 ELSE G1 X[#1 + #3 + [#13 - [#5 + #6]]*TAN[#7] + 0.3] O102 ENDIF G0 Z #13 G0 X #1 ; For touch-off M5 O endsub M2