(info: G76 Threading, Specify Major, Minor diameters, use NEGATIVE offset I for External Thread) ; convenience routine that allows specifying major and ; minor diameters for using G76 ; Note: To make the number of passes equal for G7 (diam) and G8 (radius) modes, ; jeq = j_for_G7 = 2 * j_for_G8 o sub # = #1 (= 10) # = #2 (= 200 Spindle RPM) # = #3 (= -0.03 I: offset NEG:external) # = #4 (= -0.5 Z: Zi driveline) ; required items: #

= #5 (= -8 P: Pitch, NEG for tpi) # = #6 (= -1.0 Z: Zf final) # = #7 (= 0.94) # = #8 (= 0.84) # = #9 (= 0.015 Initial RADIAL cut depth) ; G76 optional items: # = #10 (= 1.0 R: Depth degression) # = #11 (= 29.5 Q: Compound slide angle) # = #12 (= 0 H: No. of spring passes) # = #13 (= 0.05 E: Taper dist =K typ) # = #14 (= 2 L: End Taper 0,1,2,3) ; other: # = #15 (=3 Dir: Right=3 Left=4) # = #16 (=8 G7/G8 Radius=8 Diam=7) # = #17 (=0 0:quiet,1:verbose) o if [# LE #] (print, g76diam: major <= minor ? - EXITING) (debug, g76diam: major <= minor ? - EXITING) (AXIS,notify, g76diam: major <= minor ? - EXITING) m2 o endif # = # ; as-is for radius mode o if [# EQ 8] ; RADIUS # = [ABS[# - #]/2] o if [# LE 0] ; EXTERNAL # = [#/2 - #] o else ; INTERNAL # = [#/2 - #] o endif o else ; DIAMETER # = [ABS[# - #]] # = [2 * #] ;workaround g76 behavior in diam mode o if [# LE 0] ; EXTERNAL # = [# - #] o else ; INTERNAL # = [# - #] o endif o endif o if [# GT 0] (debug, g76diam: driveline xi=# i=#) (debug, g76diam: k=# j=#) o endif o call [#][#][#][#][#

][#][#][#][#][#][#][#][#][#][#][#][#] o endsub