; MACROCOMMAND=r1 Max,Fast Feed,Slow Feed,d1 (mm) ; MACRODEFAULTS=1,25,.1,6 ; MACROSVG=LatheMacro.svg,8,9 ; O call [Max Radius] [slow_feed] [fast_feed] [diameter] ; #1 Max radius ; #2 fast probe speed ; #3 slow probe feed ; #5 probe diameter (in mm) O sub ; Fast feed for roughing in measurements G20 F#2 #1000=#1 ;max radius G91 G38.3 Z.00001 #1001=#5061 #1002=#5062 G91 G38.2 X#1000 #1003=#5061 G90 G0 X#1001 G91 G38.2 X[0-#1000] #1004=#5061 #1001=[[#1003+#1004]/2] G90 G0 X#1001 G91 G38.2 Y#1000 #1005=#5062 G90 G0 Y#1002 G91 G38.2 Y[0-#1000] #1006=#5062 #1002=[[#1005+#1006]/2] G90 G0 Y#1002 G91 G38.2 X#1000 #1003=#5061 G90 G0 X#1001 G91 G38.2 X[0-#1000] #1004=#5061 #1001=[[#1003+#1004]/2] G90 G0 X#1001 G91 G38.2 Y#1000 #1005=#5062 G90 G0 Y#1002 G91 G38.2 Y[0-#1000] #1006=#5062 #1002=[[#1005+#1006]/2] G90 G0 Y#1002 ; Slow probe for accuracy F#3 G90 G0 X[#1003-0.005] G91 G38.2 X0.010 #1003=#5061 G90 G0 X[#1004+0.005] G91 G38.2 X-0.010 #1004=#5061 #1001=[[#1003+#1004]/2] G90 G0 X#1001 G90 G0 Y[#1005-0.005] G91 G38.2 Y0.010 #1005=#5062 G90 G0 Y[#1006+0.005] G91 G38.2 Y-0.010 #1006=#5062 #1002=[[#1005+#1006]/2] G90 G0 Y#1002 G91 G1 F1 X[0-#5071] Y[0-#5072] G90 #1007=[#1003-#1004+[#5/25.4]] #1008=[#1005-#1006+[#5/25.4]] #1009=[[#1007+#1008]/2] #1010=[atan[#1002]/[#1001]] #1011=[sqrt[[#1001*#1001]+[#1002*#1002]]] (debug,Dia #1009 Ang #1010 Dist #1011) O endsub