%
O0001(BUFFERSET-UP)(20/3/2018) 
G00G17G21G40G49G69G80G90 
H00
M70
#133=0.
M99
 
                                                                                                                         
O0002(THREADING) 
(HEL.INT.MACRO)
(G65P2D-Z-T-R-S-F-)
(G66)
(SPECIFYDCODEFORRADOFFSET) 
(FORINT.TOOLRAD=+) 
(FOREXT.TOOLRAD=-) 
(D=RADIUS#7) 
(Z=DEPTH#26) 
(T=ZPITCH#20)
(R=ZSETUP#18)
(S=RETRACTAMOUNT&DIRECTION)(#19) 
(ENDPOINT9O-CLOCK) 
(F=FEEDRATE)(#9) 
#105=#20 
#103=#5003 
#3=0.
#21=#7-#[2000+#4307] 
G91G0X-#21 
G90G0Z#18
#104=#26-#18 
WHILE[#3GT#104]DO1 
IF[[#3-#105]LT#104]THEN#105=-[#104-#3] 
G91G2Z-#105I#21F#9 
#3=#3-#105 
END1 
G1X#19 
G90G0Z#103 
G91X[#21-#19]
G90
M99
 
                                                                                                                         
O0003(PROFILEMACRO)
(G66/G65P3A-Z-Q-R-F-)
(A=PROFILEPROGNO#1)
(Z=ZDEPTH#26)
(Q=DEPTHOFCUT#17)
(R=ZSETUP#18)
(F=FEEDRATE#9) 
#103=#5003(READZ)
#104=#18 
G90G0Z#104 
WHILE[#104GT#26]DO1
#104=#104-#17
IF[#104LT#26]THEN#104=#26
G90G1Z#104F#9(G1)
F#9
M98P#1 
END1 
G90G0Z#103 
M99
 
                                                                                                                         
O0004(HELINTERPOLATION)
(MILLINGSAMEAS2) 
(HEL.INT.MACRO)(INTERNAL)
(G65P4D-Z-T-R-S-F-)
(SPECIFYDCODEFORRADOFFSET) 
(D)
(SRELIEF019) 
(F)
#101=#5001 
#102=#5002 
#103=#5003 
#105=#20 
#21=#7-#[2000+#4307] 
G91G0X-#21 
G90G0Z#18
#104=#5003 
WHILE[#104GT#26]DO1
IF[[#104-#105]LT#26]THEN#105=#104-#26
G91G3Z-#105I#21F#9 
#104=#5003 
END1 
G3I#21 
G1X#19 
G90G0Z#103 
X#101Y#102 
M99
 
                                                                                                                         
O0005(CIRINTERPOLATION)
(G65P5S-D-T-F-)
(CANBECONTROLEDBYMACRO#3)
(G65P3A5.Z-Q-R-F-S-D-T-) 
(SPECIFYDFORRADOFFSET) 
(S=INSIDEBORERAD#19) 
(D=BORERAD#7)
(T=DEPTHOFCUT#20)
(F=FEEDRATE#9) 
#101=#5001 
#102=#5002 
#3=#19 
#4=#[2000+#4307] 
G0X[[#101-#3]+#4]
WHILE[#3LT#7]DO1 
#3=#3+#20
IF[#3GT#7]THEN#3=#7
G1X[[#101-#3]+#4]F[#9/4] 
G3X[[#101-#3]+#4]Y#102I[#3-#4]F#9
END1 
G0X#101Y#102 
M99
 
                                                                                                                         
O0006(STEPPEDCIR.INT)
(G65P6Z-Q-R-S-D-T-F-)
(SPECIFYDFORRADOFFSET) 
(ZDEPTH#26)
(QDEPTHOFCUT#17) 
(RSTARTINGPOSITION#18) 
(S#19) 
(D#7)
(T#20) 
(FFEED#9)
#101=#5001 
#102=#5002 
#103=#5003 
#105=#17 
#13=#[2000+#4307]
G90G1Z#18F#9 
#104=#5003 
WHILE[#104GT#26]DO1
IF[[#104-#105]LT#26]THEN#105=#104-#26
G91G1Z-#105F[#9/2] 
#104=#5003 
#3=#19 
WHILE[#3LT#7]DO2 
#3=#3+#20
IF[#3GT#7]THEN#3=#7
G90G1X[[#101+#3]-#13]F[#9/2] 
G91G3I-[#3-#13]F#9 
G90
END2 
G1X#101
END1 
G0Z#18.
G90G0X#101Y#102Z#103.
M99
 
                                                                                                                         
O0007(SPIRALCIR.INT.)
(FIX)
(G65P7S-T-F-)
(ZCANBECONTROLEDBYP3)
(G65P3A7.Z-Q-R-S-T-F-) 
(SPECIFYDCODEFORRADOFFSETS)
(S=RADIUS#19)
(T=WIDTHOFCUT#20)
(F=FEEDRATE#9) 
#101=#5001(XSTART) 
#102=#5002(YSTART) 
#104=0.(STARTANGLE)
#106=#[2000+#4307](RADOFFSET)
#105=0.(RADIUS)
F#9(FEEDRATE)
WHILE[#105LT[#19-#106]]DO1 
#104=#104+10.
#105=#105+[#20/36.]
IF[#105GT[#19-#106]]THEN#105=#19-#106
/IF[#104GE360.]THEN#104=#104-360.
#111=COS[#104]*#105
#112=SIN[#104]*#105
G90G03X[#101+#111]Y[#102+#112]R[#105*2.]F#9
END1 
#3=1 
#105=#19-#106
WHILE[#3LE3]DO1
#104=#104+130. 
/IF[#104GE360.]THEN#104=#104-360.
#111=COS[#104]*#105
#112=SIN[#104]*#105
G03X[#101+#111]Y[#102+#112]R#105 
#3=#3+1
END1 
G1X#101Y#102(G3R[#105*0.5])
G0 
M99
 
                                                                                                                         
O0008(NPTTHREADING)
(HEL.INT.MACRO)
(INTERNALTHREADING)
(SPECIFYDCODEFORRADOFFSET) 
(G65P8D-Z-T-R-F-)
(D=RADIUS#7) 
(Z=ZDEPTH#26)
(T=PITCH#20) 
(R=ZSETUP#18)
(F=FEEDRATE#9) 
#101=#5001 
#102=#5002 
#103=#5003 
#3=0.
G90G0Z#18
#104=#26-#18 
#21=#7-#[2000+#4307] 
#105=#20*0.03125(1:16/2) 
G1X[#101+#21]F#9 
WHILE[#3GT#104]DO1 
#4=-45.
WHILE[#4GE-360.]DO2
#18=#18-[#20/8.] 
#21=#21-[#105/8.](360./45.=8.) 
#24=COS[#4]*#21
#25=SIN[#4]*#21
G2X[#101+#24]Y[#102+#25]Z#18R[#21+[#105/32.]]
#4=#4-45.
END2 
#3=#3-#20
END1 
G90G0X#101Y#102
Z#103
M99
 
                                                                                                                         
O0009(POLARCO-ORDMACRO)
(G65P9IJKW)
(G65P9IJKWUH)
(I=XCENTERPOINT#4) 
#114=#4
(J=YCENTERPOINT#5) 
#115=#5
(K=POLARRADIUS#6)
#116=#6
(W=POLARANGLE#23+=C.C,-=C) 
#117=#23 
(U=INCRAMENTALANGLE#21)
(H=REPITION#11)
IF[#11LT1.]THEN#11=1.
#3=0.
WHILE[#3LT#11]DO1
#117=#117+#21
#104=COS[#117]*#116
#105=SIN[#117]*#116
X[#114+#104]Y[#115+#105] 
#3=#3+1. 
END1 
M99
 
                                                                                                                         
O0010(2NDDEPTHCONTROLE)
(M98P10) 
#18=#18-#17
IF[#18LT#26]THEN#18=#26
G90G1Z#18F[#9/3] 
F#9
M99
 
                                                                                                                         
O0011(STEP H/S DRILLING) 
(G65 P11 Z- K- Q- R- F-) 
(Z=DRILLING DEPTH)(#26)
(K=SMALL PECKING DEPTH)(#6)
(Q=PECKING DEPTH)(#17) 
(R=Z STARTING POINT SET UP)(#18) 
(F=FEED RATE)(#9)
G90G0Z#18
#103=#5003 
#104=-#17
#105=#18-1.
WHILE[#104GT[#26-#17]]DO1
IF[#104LT#26]THEN#104=#26
G73Z#104Q#6R[#105+1.]F#9 
#105=#104
#104=#104-#17
END1 
G0Z#103
M99
 
                                                                                                                         
O0012(SLOTMILLING) 
(G65P12X-Y-Z-Q-R-F-) 
(X#24Y#25Z#26Q#17R#18F#9)
#101=#5001(XSTART) 
#102=#5002(YSTART) 
#103=#5003(ZSTART) 
#104=#18 
G90G0Z#104 
WHILE[#104GT#26]DO1
#104=#104-#17
IF[#104LT#26]THEN#104=#26
G1X#24Y#25Z#104F#9 
IF[#104EQ#26]GOTO99
#104=#104-#17
IF[#104LT#26]THEN#104=#26
G1X#101Y#102Z#104F#9 
N99END1
G1X#101Y#102 
G0Z#103
M99
                                                                                                                         
O0021(NPT THREADING) 
(G65/G66 P21 D- Z- T- F-)
(SPECIFY D CODE) 
(D=RADIUS #7)
(Z=Z POS. #26) 
(T=PITCH #20)
(F=FEED #9)
#101=#5001 
#102=#5002 
#103=#5003 
#21=#7-#[2000+#4307] 
G90G0Z#26
G91G01X[#21/2]Y-[#21/2]F#9 
G03X[#21/2]Y[#21/2]Z[#20/8]R[#21/2]
#4=90. 
WHILE[#4LE360.]DO1 
#105=#20/32(1.16/2 RAD GROWTH) 
#21=#21+[#105/4.](360./90.=4)
#24=COS[#4]*#21
#25=SIN[#4]*#21
G90G03X[#101+#24]Y[#102+#25]G91Z[#20/4]R[#21+[#105/32.]] 
#4=#4+90.
END1 
G91G03X-[#21/2]Y[#21/2]Z[#20/8]R[#21/2]
G90G01X#101Y#102 
G90G0Z#103 
M99
 
                                                                                                                         
O0022(INT THREADING) 
(HEL INT MACRO)
(G65/G66 P22 D- Z- T- F) 
(SPECIFY D CODE FOR RAD OFFSET)
(D=RADIUS #7)
(Z=Z DEPTH POS.) 
(T=PITCH #20)
(F=FEED RATE #9) 
#103=#5003 
#21=#7-#[2000+#4307] 
G90G0Z#26
G91G1X[#21/2]Y-[#21/2]F#9
G03X[#21/2]Y[#21/2]Z[#20/8]R[#21/2]
G03I-#21Z#20 
G03X-[#21/2]Y[#21/2]Z[#20/8]R[#21/2] 
G1X-[#21/2]Y-[#21/2] 
G90G0Z#103 
M99
 
                                                                                                                         
O0023(TAPER HEL INTERPOLATION) 
(G65 P23 U- V- Z- Q- F-) 
(U TOP RAD #21)
(V BOTTOM RAD #22) 
(Z BOTTOM Z POSITION #26)
(Q   STEP DOWN #17)
(F FEED RATE #9) 
#101=#5001 
#102=#5002 
#103=#5003 
#104=#103(Z CONTROL) 
#105=#21(RAD CONTROL)
G90G3Y[#102+#105]R[#105/2]F[#9/2]
WHILE[#104GT#26]DO1
#104=#104-#17
IF[#104LT#26]THEN#104=#26
#106=[#21-#22]*[#103-#104]/[#103-#26](RAD INC) 
#105=#21-#106
G1Y[#102+#105]Z#104F#9 
G3J-#105 
END1 
G3J-#22
G3X#101Y#102R[#22/2] 
M99
 
                                                                                                                         
O0024(HEL INTERPOLATION) 
(USED WITH 23) 
(HEL. INT. MACRO)
(G65 P24 D- Z- T- F-)
(D RAD #7) 
(Z Z DEPTH #26)
(T Z STEP DOWN #20)
(F FEED #9)
#101=#5001 
#102=#5002 
#103=#5003 
#104=#103
G91G3X#7R[#7/2]F[#9/2] 
WHILE[#104GT#26]DO1
#104=#104-#20
IF[#104LT#26]THEN#104=#26
G90G3Z#104I-#7F#9
END1 
G3I-#7 
G3X#101Y#102R[#7/2]
M99
%