wow- from a commit 4 years ago!
thanks for the prompt reply, -i'm still getting over some fever i had. so i ain't been online.
i only noticed the behaviour when trying to cut a small dia sq thread,and had to resort to
this....
####################################################
(info: G33 style threading Internal)
o<th_33> sub
#<ToolNumber> = #1 (= 1 Call Tool or 0)
#<Speed> = #2 (= 300 rpm)
#<diameter> = #3 (= 50.0 Diameter)
#<pitch> = #4 (= 2.0 Pitch)
#<inital_depth> = #5 (= 0.35 Inital Depth)
#<thread_depth> = #6 (= 1.2 Depth Px0.866)
#<spring_pass> = #7 (= 1 Spring Passes)
#<z_start> = #8 (= 5.0 Z Start)
#<z_end> = #9 (= -15.0 Z End)
#<x_offset> = #10 (= 0.5 X Clearance)
#<Coolant> = #11 (=8 8 is on, 9 is off)
(LOGOPEN,paramnum)
; Tool change
O120 if [#<_Tool:Number> NE #<ToolNumber>]
; Change Tool
M09 ; coolant off
O121 if [#<_Tool:Number> LT 20] ; front turret
G00 Z#<_Frontchange:Z>
G00 X#<_Frontchange:X>
O121 else ; Rear turret
G00 Z#<_Rearchange:Z>
G00 X#<_Rearchange:X>
O121 endif
G49 ; cancel toolength offset
T#<ToolNumber> M06
O121 if [#<_Tool:Number> LT 20] ; front turret
G00 Z#<_Frontchange:Z>
G00 X#<_Frontchange:X>
O121 else ; Rear turret
G00 Z#<_Rearchange:Z>
G00 X#<_Rearchange:X>
O121 endif
G43 G7 G97 S#<Speed>
M03
M#<Coolant>
#<_Tool:Number> = #<ToolNumber>
O120 else ; No tool change -continue.
M#<Coolant>
O120 endif
#<thread_depth> = [#<thread_depth> * 2]
#<x_offset> = [#<x_offset> * 2]
#<inital_depth> = [#<inital_depth> * 2]
#<Cut_Dia> = [#<diameter> - #<thread_depth>]
#<drive_line> = [#<Cut_Dia> - #<x_offset>]
#<Cut_Dia> = [#<Cut_Dia> + #<inital_depth> ]
#<Cut_increment> = [#<inital_depth> * 0.72]
#<spring_pass_num> = 0
G00 X#<drive_line> Z#<z_start>
(log,DrvLine = #<drive_line>)
(log,CutDia = #<Cut_Dia>)
(log,CutInc = #<Cut_increment>)
; in here
o101 while [#<Cut_Dia> lt #<diameter>]
G00 X-#<Cut_Dia>
G33 Z#<z_end> K#<pitch>
G00 X-#<drive_line>
G00 Z#<z_start>
O121 if [#<Cut_increment> LT 0.01] ; minimum cut depth
#<Cut_increment> = 0.01
O121 else
#<Cut_increment> = [#<Cut_increment> * 0.2]
O121 endif
(log,CutInc = #<Cut_increment>)
#<Cut_Dia> = [#<Cut_Dia> + [#<Cut_increment> * 2]]
O131 if [#<Cut_Dia> GT #<diameter>] ; maximum cut
#<Cut_Dia> = #<diameter>
O131 else o101 while [#<Cut_Dia> lt #<diameter>]
#<spring_pass_num> = [#<spring_pass_num> + 1]
O131 endif
(log,CutDia = #<Cut_Dia>)
O122 if [#<spring_pass_num> GT #<spring_pass>] ; spring cuts
#<Cut_Dia> = [#<diameter> + 1]
O122 else
O122 endif
(log,DrvLine = #<drive_line>)
(LOGCLOSE)
o101 endwhile
G00 X-#<drive_line>
G00 Z#<z_start> M09
o<th_33> endsub
################################################################
Which was a lot of writing for such a small item.
hopefully this can be sorted out, as on small diameter internal threads tool ridgidity/clearance is a big issue.