%
O0001(BUFFER SET-UP)(20/3/98) 
G00G17G21G40G49G69G80G90 
H00
M70
#133=0.
M99
 
                                                                                                                         
O0002(THREADING) 
(HEL. INT. MACRO)
(G65 P2 D- Z- T- R- S- F-) 
(SPECIFY D CODE FOR RAD OFFSET)
(FOR INT. TOOL RAD=+)
(FOR EXT. TOOL RAD=-)
(D=RADIUS #7)
(Z=DEPTH #26)
(T=Z PITCH #20)
(R=Z SET UP #18) 
(S=RETRACT AMOUNT & DIRECTION)(#19)
(END POINT 9 O-CLOCK)
(F=FEED RATE)(#9)
#103=#5003 
#3=0.
#21=#7-#[2000+#4307] 
G91G0X-#21 
G90G0Z#18
#104=#26-#18 
WHILE[#3GT#104]DO1 
IF[[#3-#20]LT#104]THEN#20=-[#104-#3] 
G91G2Z-#20I#21F#9
#3=#3-#20
END1 
G1X#19 
G90G0Z#103 
G91X[#21-#19]
G90
M99
 
                                                                                                                         
O0003(PROFILE MACRO) 
(G66/G65 P3 A- Z- Q- R- F-)
(A=PROFILE PROG NO #1) 
(Z=Z DEPTH #26)
(Q=DEPTH OF CUT #17) 
(R=Z SET UP #18) 
(F=FEED RATE #9) 
#103=#5003(READ Z) 
#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(HEL INTERPOLATION) 
(MILLING SAME AS 2)
(HEL. INT. MACRO)(INTERNAL)
(G65 P4 D- Z- T- R- S- F-) 
(SPECIFY D CODE FOR RAD OFFSET)
(D)
(S RELIEF 019) 
(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(CIR INTERPOLATION) 
(G65 P5 S- D- T- F-) 
(CAN BE CONTROLED BY MACRO #3) 
(G65 P3 A5. Z- Q- R- F- S- D- T-)
(SPECIFY D FOR RAD OFFSET) 
(S=INSIDE BORE RAD #19)
(D=BORE RAD #7)
(T=DEPTH OF CUT #20) 
(F=FEED RATE #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/2] 
G3X[[#101-#3]+#4]Y#102I[#3-#4]F#9
END1 
G0X#101Y#102 
M99
 
                                                                                                                         
O0006(STEPPED CIR. INT)
(G65 P6 Z- Q- R- S- D- T- F-)
(SPECIFY D FOR RAD OFFSET) 
(Z DEPTH #26)
(Q DEPTH OF CUT #17) 
(R STARTING POSITION #18)
(S #19)
(D #7) 
(T #20)
(F FEED #9)
#101=#5001 
#102=#5002 
#103=#5003 
#105=#17 
#13=#[2000+#4307]
G90G0Z#18
#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 
G0X#101
END1 
Z#18.
G90G0X#101Y#102Z#103.
M99
 
                                                                                                                         
O0007(SPIRAL CIR. INT.)
(FIX)
(G65 P7 S- T- F-)
(Z CAN BE CONTROLED BY P3) 
(G65 P3 A7. Z- Q- R- S- T- F-) 
(SPECIFY D CODE FOR RAD OFFSETS) 
(S=RADIUS #19) 
(T=WIDTH OF CUT #20) 
(F=FEED RATE #9) 
#101=#5001(X START)
#102=#5002(Y START)
#104=0.(START ANGLE) 
#106=#[2000+#4307](RAD OFFSET) 
#105=0.(RADIUS)
F#9(FEED RATE) 
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(G3 R[#105*0.5]) 
G0 
M99
 
                                                                                                                         
O0008(NPT THREADING) 
(HEL. INT. MACRO)
(INTERNAL THREADING) 
(SPECIFY D CODE FOR RAD OFFSET)
(G65 P8 D- Z- T- R- F-)
(D=RADIUS #7)
(Z=Z DEPTH #26)
(T=PITCH #20)
(R=Z SET UP #18) 
(F=FEED RATE #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(POLAR CO-ORD MACRO)
(G65 P9 I J K W) 
(G65 P9 I J K W U H) 
(I=X CENTER POINT #4)
#114=#4
(J=Y CENTER POINT #5)
#115=#5
(K=POLAR RADIUS #6)
#116=#6
(W=POLAR ANGLE #23 +=C.C,-=C)
#117=#23 
(U=INCRAMENTAL ANGLE #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(2 ND DEPTH CONTROLE) 
(M98 P10)
#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(SLOT MILLING)
(G65 P12 X- Y- Z- Q- R- F-)
(X#24 Y#25 Z#26 Q#17 R#18 F#9) 
#101=#5001(X START)
#102=#5002(Y START)
#103=#5003(Z START)
#104=#18 
G90G0Z#104 
WHILE[#104GT#26]DO1
#104=#104-#17
IF[#104LT#26]THEN#104=#26
G1Z#104F[#9/4](G1) 
G1X#24Y#25F#9
IF[#104EQ#26]GOTO99
#104=#104-#17
IF[#104LT#26]THEN#104=#26
G1Z#104F[#9/4](G1) 
G1X#101Y#102F#9
N99END1
G0Z#103
X#101Y#102 
M99
 
                                                                                                                         
O0013(CANNED CYCLE SET UP) 
(G66 P13 A- Z- R- Q- I-J-F-)
(G67 CANCEL) 
(A=#1 CYCLE CODE 73-84)
(Z=#26 Z DEPTH)
(R=#18 SET UP) 
(Q=#17 PECKING DEPTH)
(I=#4 DWELL)
(I J #4 #5 G76)
(F=#9 FEED RATE) 
G90G#1Z#26R#18Q#17P#4I#4J#5F#9 
G0 
M99
 
                                                                                                                         
O0014(Y SLOT WITH X WIDTH) 
(G65P14 U- V- Y- Z- Q- R- F-)
(U=WIDTH #21)
(V=X DEPTH OF CUT #22) 
(Y#25 Z#26 Q#17 R#18 F#9)
#101=#5001(X START)
#102=#5002(Y START)
#103=#5003(Z START)
G90G0Z#18
#3=0(CONTROLER X)
WHILE[#3LT[#21/2]]DO1
WHILE[#18GT#26]DO2 
#18=#18-#17
IF[#18LT#26]THEN#18=#26
G1Z#18F[#9/2]
G1Y#25F#9
#18=#18-#17
IF[#18LT#26]THEN#18=#26
Z#18F[#9/2]
Y#102F#9 
END2 
#3=#3+#22
IF[#3GT[#21/2]]THEN#3=#21/2
G1X[#101+#3] 
Y#25 
X[#101-#3] 
Y#102
X#101
END1 
G0Z#103
M99
 
                                                                                                                         
O0015(X SLOT WITH Y WIDTH) 
(G65P15 U- V- X- Z- Q- R- F-)
(U=WIDTH #21)
(V=Y DEPTH OF CUT #22) 
(X#24 Z#26 Q#17 R#18 F#9)
#101=#5001(X START)
#102=#5002(Y START)
#103=#5003(Z START)
G90G0Z#18
#3=0(CONTROLER Y)
WHILE[#3LT[#21/2]]DO1
WHILE[#18GT#26]DO2 
#18=#18-#17
IF[#18LT#26]THEN#18=#26
G1Z#18F[#9/2]
G1X#24F#9
#18=#18-#17
IF[#18LT#26]THEN#18=#26
Z#18F[#9/2]
X#101F#9 
END2 
#3=#3+#22
IF[#3GT[#21/2]]THEN#3=#21/2
G1Y[#102-#3] 
X#24 
Y[#102+#3] 
X#101
Y#102
END1 
G0Z#103
M99


O0016(POCKET MILLING ?)
(POSITIVE ONLY)
(X)(24)(U)(21)
(Y)(25)(V)(22)
(Z)(26)
(T)(20)
(Q)(17)
(R)(18)
(F)(9)
#101=#5001
#102=#5002
#103=#5003
G90G0Z#18
WHILE[#18GT#26]DO1
#18=#18-#17
IF[#18LT#26]THEN#18=#26
G1Z#18F[#9/3]
IF[#21GE#22]GOTO10
IF[#22GT#21]GOTO20
N10G91G1Y-[#22/2]F#9
X#21
Y#22
X-#21
GOTO90
N20G91G1X[#21/2]F#9
Y#22
X-#21
Y-#22
N90G90X#101Y#102
END1
G0Z#103
M99

                                                                                                                         
O0018(G19 CIR CORE PROFILE Y,Z)(9/97)
(G65P18U W V R S T F)
(HEIGHT BALL TIP W-RADII)
#101=#5001(X=X STARTING POINT) 
#102=#5002(Y=Y STARTING POINT) 
#103=#5003(Z=Z STARTING POINT) 
(U=POCKET WIDTH X)(#21)
(W=Z CIR INT CENTER POINT)(#23)
(V=X DEPTH OF CUT)(#22)
(R=FIRST RADIUS)(#18)
(S=FINISHING RADIUS)(#19)
(T=RADIUS DEPTH OF CUT)(#20) 
(F=FEED RATE)(#9)
#1=2(G CODE) 
#2=1.(=+1. OR -1.) 
#3=0(CONTROLER X)
#4=0(COUNTER)
WHILE[#4LE[[#21/2]+#22]]DO1
#17=#18(#17=RADII CONTROLE)
WHILE[#17LT#19]DO2 
#17=#17+#20
IF[#17GT#19]THEN#17=#19
G90G0Y[[#17*#2]+#102]
G90G1Z#23F#9 
G19G#1Y[[-#17*#2]+#102]R#17
G0G90Z#103 
END2 
IF[#22EQ0.]THENGOTO99
IF[#3GT0]THENGOTO20
#1=3 
#2=-1. 
#3=-#3+#22 
#4=#4+#22
IF[#3GT[#21/2]]THEN#3=#21/2
GOTO90 
N20
#1=2 
#2=1.
#3=-#3 
N90G90G0X[#101+#3] 
END1 
N99G17G90G0X#101Y#102Z#103 
M99

O0019(G18 RADIUS CAVITY X/Z)(4/2000)
(G65 P19 U- Q- R- S- W- F-)
(U Y CAVITY WIDTH #21)
(Q Y WIDTH DEPTH OF CUT #17)
(R X CAVITY DARIUS #18)
(S RAD DEPTH OF CUT #19)
(W B/NOSE CUTTER RAD #23)
(F FEED #9)
#101=#5001
#102=#5002
#103=#5003
#104=0
#105=0
G90G0Z2.
WHILE[#104LT[#18-#23]]DO1
#104=#104+#19
IF[#104GT[#18-#23]]THEN#104=#18-#23
G0X[-#104+#101]Y#102
G1Z-#23F#9
G18G2X[#104+#101]R#104
G1Z2.
WHILE[#105LT[[#21/2]-#23]]DO2
#105=#105+#17
IF[#105GT[[#21/2]-#23]]THEN#105=[#21/2]-#23
G0X[#104+#101]Y[#105+#102]
G1Z-#23
G3X[-#104+#101]R#104
G1Z2.
G0Y[-#105+#102]
G1Z-#23
G2X[#104+#101]R#104
G1Z2.
END2
END1
G17
G0X#101Y#102Z#103.
M99

O0023(INGATE MACRO STRAIGHT)
(PRESET X-3.1 Z-3.5)
(I=X LEFT START POSITION)(#4)
(J=Y START POSITION)(#5)
(K=Z INCRAMENTAL ANGLED DEPTH #6)
(I=X RIGHT END POSITION)(#7)
(J=Y INCRAMENTAL CUTTING DISTANCE #8)
(U=X INCRAMENTAL CUTTING STEPS)(#21)
#101=#5001
#102=#5002
#105=#21
N1G90X#4Y#5
#3=0.
WHILE[#3LT3.1]DO1
G91G1X[-3.1+#3]Y#8Z#6
IF[[#3+#21]GT3.1]THEN#21=3.1-#3
X#21
#3=#3+#21
X[3.1-#3]Y-#8Z-#6
#3=#3+#21
END1
N2G90G1X#4Y#5
#21=#105
#104=#5001
WHILE[#104LT#7]DO1
G91G1Y#8Z#6
IF[[#104+#21]GT#7]THEN#21=#7-#104
X#21
#104=#5001
Y-#8Z-#6
IF[[#104+#21]GT#7]THEN#21=#7-#104
X#21
#104=#5001
END1
N3G90G1X#7Y#5
#21=#105
#3=0.
WHILE[#3LT3.1]DO1
G91G1X[3.1-#3]Y#8Z#6
IF[[#3+#21]GT3.1]THEN#21=3.1-#3
X-#21
#3=#3+#21
X[-3.1+#3]Y-#8Z-#6
#3=#3+#21
END1
G90G1X#101Y#102
M99


O0020(70)
(N G66 P20 I J K)(N GT J)
(I START NO #4)
(J END NO #5)
(K RETURN NO #6) 
#121=#4
#122=#5
#123=#6
(4114 4314)(PRECEDING BLOCK NO)
IF[#122EQ#4314]GOTO99
IF[#122LT#4114]GOTO98
M99
N98M99P#121
N99M99P#123


O0030(MACRO)
G57S800M3
G90G0X0.Y0.Z350.
G43Z3.H1M16
#17=3.
#2=0.
#18=#5003
WHILE[#18GT#2]DO1
#18=#18-#17
IF[#18LT#2]THEN#18=#2
Z#18
G1Y-370.F450.
X-59.
Y0.
X0.
END1
N20G0Z300.
G91G28Y0Z0
M30


O0050(LEFT HAND DIAPHRAM ELECTRODE THREADING) 
(HEL. THREADING MACRO)
(SPECIFY D CODE FOR RAD OFFSET)
(G65 P50 D- Z- T- R- F-)
(D=RADIUS #7)
(Z=Z DEPTH #26)
(T=PITCH #20)
(R=Z SET UP #18) 
(F=FEED RATE #9) 
#101=#5001 
#102=#5002 
#103=#5003 
#21=#7+#[2000+#4307](HYPERBOLA WITH CUTTER COMP)
#105=#20*TAN[1](INCREASE PER REV)
G90G0X[#101+#21]F#9
Z#18
#104=#5003
WHILE[#104GT#26]DO1 
#4=45.
WHILE[#4lE360.]DO2
#104=#104-[#20/8.](DEPTH)
#21=#21+[#105/8.](360./45.=8.)(HYPERBOLA)
#24=COS[#4]*#21
#25=SIN[#4]*#21
G3X[#101+#24]Y[#102+#25]Z#104R#21
#4=#4+45.
END2 
END1
G91G0X20.
G90Z#103
X#101Y#102
M99


O9010(PROFILE CANNED CYCLE)
(G70)(G100)
(G66 P14 Z- Q- R- F- I- J-)
(G0 Z20.)(SET UP POINT)
(I START NO)
(J END NO)
F#9
#1=#1+1
#3=#4114
#103=#5003
IF[#1EQ1]GOTO1
IF[#3EQ#5]GOTO1
GOTO3
N1IF[#1GT1]GOTO2
G0Z#18
N2IF[#18LE#26]GOTO99
#18=#18-#17
IF[#18LT#26]THEN#18=#26
G1Z#18F#9
M99P#4
N99G0Z#103
N3G67M99
%
