%
G65 P9012 X10. Y10. Z0. D.5 T10. A54. B1. C1. E2. F1. H1. I14. J6.
%
%
O09012 (THREAD MILLING MACRO REV.4)
(INPUT TESTING)
IF [ [ #24 GE - 25. ] AND [ #24 LE 25. ] ] GOTO100
#3000= 1 (X INPUT MISSING OR OUT OF RANGE)
N100 IF [ [ #25 GE - 12. ] AND [ #25 LE 12. ] ] GOTO110
#3000= 2 (Y INPUT MISSING OR OUT OF RANGE)
N110 IF [ [ #26 NE - 16. ] AND [ #26 LE 16. ] ] GOTO120
#3000= 3 (TOP OF THREAD MISSING OR OUT OF RANGE)
N120 IF [ [ #9 GT 0.5 ] AND [ #9 LT 4. ] ] GOTO130
#3000= 4 (THREAD OD MISSING OR OUT OF RANGE)
N130 IF [ #8 EQ 1. ] GOTO150
N140 IF [ #7 LE #9 * 0.8 ] GOTO150
#3000= 5 (TOOL SIZE OUT OF RANGE)
N150 IF [ #20 EQ FIX[ #20 ] ] GOTO160
#3000= 6 (TOOL NUMBER MUST BE A WHOLE NUMBER)
N160 IF [ #11 GT 0 ] GOTO1000
#3000= 7 (VALUE IS OUT OF RANGE)
N1000 (CALCULATIONS)
IF [ #2 EQ 1. ] THEN #2= 400. (STEEL)
IF [ #2 EQ 2. ] THEN #2= 600. (ALUMINUM)
#100= [ #2 * 3.82 ] / #7 (RPM)
#101= [ #100 * 0.004 ] (FEED RATE)
#102= -1. * [ #11 ]
#103= 0.1 (CUTTER COMP)
#104= -0.1 (CUTTER COMP)
#105= [ #9 - #7 ] + #24 (CUT DIA)
#107= -1. * #105 (CUT RAD)
#106= [ [ #9 / #7 ] / 2 ] (RAMP RAD)
#108= #106 + #106
#109= 0.25 * [ 1 / #4 ]
#110= -1. * [ #109 ]
#111= [ 1 / #114 ]
#112= [ 90 / 360 ] * #111
#113= -1. * [ #112 ]
#114= 0.1 (CUTTER COMP)
#115= -1. * [ #109 ]
#117= 0.5 * [ #9 + #7 ]
#118= -1. * [ #117 ]
#119= [ 0.6495 / 4 ]
#120= -1. * [ #110 ]
#122= [ 1 / #4 ]
#124= -1. * [ #123 - 1. ]
#125= [ #4 * #11 ]
#126= FIX[ #125 ]
#127= -1. * [ #126 ]
#150= #4 - #5 (TPI-ZDEPTH)
#128= [ 1 / #4 ] * [ #5 - 1. ] (ZMOVE)
IF [ [ #3 EQ 2. ] AND [ #8 EQ 1. ] ] GOTO2010
IF [ [ #3 EQ 2. ] AND [ #8 EQ 2. ] ] GOTO2020
IF [ [ #3 EQ 1. ] AND [ #8 EQ 1. ] ] GOTO2030
N2000 (MACHINING ID THREAD RIGHT HAND)
WHILE [ #150 GT 0 ] DO1
T#20 M06
S#100 M03
G00 G90 G#1 X#24 Y#25 M08 (HOLE LOCATION)
G43 H#20 Z [ #26 + 0.1 ] (MOVE TO .1" ABOVE PART ZERO)
G01 Z#102 F100. (FEED DOWN TO BOTTOM OF HOLE)
G41 X [ #24 + 0.1 ] D#20 F#101 (ACTIVATE CUTTER COMPENSATION)
G03 X#105 Z#109 R#106 (HELIX ON)
G03 I#107 Z#122 (HELIX THREAD)
G03 X [ #24 + 0.1 ] Z#109 R#106 (HELIX OFF)
G01 G40 X#24
#102= #102 + #128 (Z MOVE)
#150= #150 - 1.
END1
G91 G28 Z0
M99
WHAT IS WRONG??