Files
linuxcncAllWasm/nc_files/macros/lathe/probe-hole.ngc
2026-08-20 06:17:39 +08:00

86 lines
1.4 KiB
Plaintext

; MACROCOMMAND=r1 Max,Fast Feed,Slow Feed,d1 (mm)
; MACRODEFAULTS=1,25,.1,6
; MACROSVG=LatheMacro.svg,8,9
; O<probe-hole> 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<probe-hole> 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<probe-hole> endsub