o sub ; x, y, d, stepdown, zstart, zend G90 G91.1 G0 X#1 Y#2 G0 Z#4 G1 X[#1+#3/2-#<_td>/2] Y[#2] G17 # = [#3/2-#<_td>/2] # = [#4-#6] o101 while [# GT #5] G3 X[#1+#] Y[#2] I[-#] Z[#] P1 # = [# - #6] o101 endwhile o102 if [#4 GT #5] # = [[#-#5]/#6*360] G3 X[#1+COS[#]*#] Y[#2+SIN[#]*#] I[-#] Z[#5] G3 X[#1+COS[#]*#] Y[#2+SIN[#]*#] I[-COS[#]*#] J[-SIN[#]*#] Z[#5] ;G3 X#1 Y[#2+#3/2-#<_td>/2] J[-#3/2+#<_td>/2] o102 endif G0 X#1 Y#2 G0 Z0 o endsub M2