The following code contains a subroutine which allow me to measure all of the tool lengths of all inserts on my 2" and 3" facing cutters. All of the G37 and G37.1 calls work properly on my 1100MX.
(---------------------------------------------------------------------------)
(Mill - set_tool_length_with_radius_offset.nc 8-5-24)
(PathPilot Version: 2.10.1)
o<set_tool_length_with_radius_offset> sub
( #1 Radius of tool)
( #2 former tool length offset)
( #3 Tool Rotation offset )
( #4 Number of Inserts)
G37.1 Z0 (go to ETS center location )
#10 = #<_x_machine> (get G53 value for ETS X value)
#11 = 0
o29 if [ #4 GT 0 ]
#12 = [ 360 / #4 ]
o29 else
#4 = 1 (Default to 1 Insert with 0 degree offset)
#12 = 0
o29 endif
o30 if [ #<_metric> eq 1 ]
#13 = -364.24 (absolute metric location of ETS Surface below Spindle nose )
#14 = [ #13 + #2 + 19 ] (3/4" slow travel)
o30 else
#13 = -14.34 (absolute imperial location of ETS Surface below Spindle nose)
#14 = [ #13 + #2 + .75 ] (3/4" slow travel)
o30 endif
(debug, )
(debug, T#5400 #4 Inserts)
o1 while [ #11 LE #4]
#15 = [[[ #12 * #11 ] + #3 ] MOD 360 ]
M19 R #15 (lock spindle at desired angle)
G4 P2 (make sure Spindle is locked)
G37 X[ #10 - #1 ] Z #14
o2 if [ #11 EQ 0 ]
#20 = #5403 (Get new Tool Length of First Insert)
#22 = [ #5403 * 25.4 ]
o2 endif
#25 = [[ #11 Mod #4 ] + 1 ] (Set Insert Number )
#11 = [ #11 + 1 ]
#21 = [ #5403 - #20 ] (Calculate Delta in inches)
o3 if [ #<_metric> eq 1 ]
#23 = [ #21 * 25.4 ] (Calculate Delta in mm)
#24 = [ #5403 * 25.4 ] (Calculate Tool Length in mm)
(debug, Insert #25: #24 Delta: #23 mm)
o3 else
(debug, Insert #25: #5403 Delta: #21 in )
o3 endif
o1 endwhile
o<set_tool_length_with_radius_offset> endsub
o<get_tool_specs> sub
o1 if [#<_metric> EQ 1 ]
#<_tool_diameter> = [ #5410 * 25.4 ]
#<_tool_radius> = [ #5410 * 12.7 ]
#<_tool_length> = [ #5403 * 25.4 ]
o1 else
#<_tool_diameter> = #5410
#<_tool_radius> = [ #5410 * 0.50 ]
#<_tool_length> = #5403
o1 endif
o<get_tool_specs> endsub
(Test Starts Here)
G17 G90 (XY Plane, Absolute Distance Mode)
G64 P 0.0050 Q 0.0000 (Path Blending)
G20
G54 (Set Work Offset)
G30 (Go to preset G30 location)
T282 M6 G43 H282 (2" Facing 0 degree first insert offset)
o<get_tool_specs> call
o<set_tool_length_with_radius_offset> call [ #<_tool_radius> ] [#<_tool_length>] [0] [3]
T283 M6 G43 H283 (3" Facing 16 degree first insert offset)
o<get_tool_specs> call
o<set_tool_length_with_radius_offset> call [ #<_tool_radius> ] [#<_tool_length>] [16] [5]
M30
(---------------------------------------------------------------------------)
The results are shown in the following screenshot. You can see from the screen shot that all 8 inserts are evaluated in under 3 minutes and insert #5 on the 3" cutter shows wear upon inspection.