;chamfer O sub G8 ; Lathe radius Mode G18 ; XZ Plane G21 ; Metric Units G90 ; Absolute Distance M6 T#6 G43 #1 = [#1 / 2] ; because of radius mode #14 = [#<_x>] (starting X) #13 = [#<_z>] (starting Z) G96 D1500 S#2 ; Constant Surface Speed Mode M3 g95 F0.1 ; Feed-Per-Rev Mode O90 IF [#12 GT 0.5] M8 O90 ENDIF #20 = 0 O101 if [#9 GT 0.5] ; front outside o100 while [[#20 + #3] lt #8] #20 = [#20 + #3] g0 x[#1 - #20] z#13 g1 z#5 g1 x#1 z[#5 - #20] g1 x #14 g0 z#13 o100 endwhile g0 x#14 z#13 g0 x[#1 - #8] g1 z#5 g1 x#1 z[#5 - #8] g1 x #14 g0 z#13 O101 elseif [#10 GT 0.5] ; front inside o102 while [[#20 + #3] lt #8] #20 = [#20 + #3] g0 x[#1 + #20] z#13 g1 z#5 g1 x#1 z[#5 - #20] g1 x #14 g0 z#13 o102 endwhile g0 x#14 z#13 g0 x[#1 + #8] g1 z#5 g1 x#1 z[#5 - #8] g1 x #14 g0 z#13 O101 elseif [#11 GT 0.5] ; back outside o103 while [[#20 + #3] lt #8] #20 = [#20 + #3] g0 x[#1 - #20] z#13 g1 z#5 g1 x#1 z[#5 + #20] g1 x #14 g0 z#13 o103 endwhile g0 x#14 z#13 g0 x[#1 - #8] g1 z#5 g1 x#1 z[#5 + #8] g1 x #14 g0 z#13 O101 endif M5 M9 G7 O endsub m2 %