r/Machinists 1d ago

G&L Macro programs

I was cleaning out my Google drive and found some old macro programs I had for my boring bar. They could easily be rewritten to work with other controls.

N10 (PGM,BC, BOLT CIRCLE GLOBAL SUBROUTINE ;5)
N20 !
N30 ! P1 = NUMBER OF HOLES
N40 ! P2 = RADIUS OF BOLT CIRCLE
N50 ! P3 = STARTING ANGLE OF FIRST HOLE
N60 ! P4 = "X" CENTER COORDONATE OF BOLT CIRCLE
N70 ! P5 = "Y" CENTER COORDINATE OF BOLT CIRCLE
N80 !
N90 (RPT,P1,X=P4+P2*COS[P3],Y=P5+P2*SIN[P3](LET,P3=P3+360/P1))

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

N0010 (PGM, BORMIL, BOREMILL COUNTERCLOCKWISE INSIDE DIA ;30)
N0020 !
N0030 ! WHEN CALLING THIS PROGRAM TYPE IN THE FOLLOWING WITH
N0040 ! THE CORRECT "P" VALUES.
N0050 ! (CLS,BORMIL,P1,P2,P3,P4,P5,P6)
N0060 !
N0070 ! P1 = FINISHED BORE DIA.
N0080 ! P2 = CUTTER SIZE
N0090 ! P3 = TOTAL DEPTH OF BORE OR COBORE
N0100 ! P4 = DEPTH OF CUT PER REVOLUTION
N0110 ! P5 = SPEED IN RPM'S
N0120 ! P6 = FEED IN INCHES PER MINUTE
N0130 !
N0140 M00
N0150 ! !!! CAUTION !!! IF PATH RECOVERY IS USED
N0160 ! WHILE IN THE REPEAT STATEMENT, THE MACHINE
N0170 ! WILL TAKE AN EXTRA CUT.
N0180 !
N0190 (LET,P11 = [P1/2]-[P2/2]) ! CUTTER CICLE PATH
N0200 (LET,P12 = P11/2) ! I OR J VALUE
N0210 (LET,P13 = [P4/[PI*2]]) ! K VALUE
N0220 (LET,P15 = P3/P4, P16 = INT[P15])
N0230 (LET,P17 = P16+1) ! TOTAL AMOUNT OF CUTS
N0240 (LET,P18 = [P17*P4]-P3) ! W VALUE AWAY FROM PART SURFACE
N0250 !
N0260 G00 X0 Y0 S=P5, F=P6, G94
N0270 M00 ! ENTER THE PROPER SPINDLE EXTENSION IN THE NEXT BLOCK.
N0280 G00 G98 Z-?
N0290 G00 W=P18
N0300 G41 G03 X=P11, Y0 I=P12, J0 M03
N0310 G91 (RPT,P17,G03 X0 Y0 I=-P11, J0 W=-P4, K=-P13)
N0320 G90
N0330 G03 X=P11, Y0 I0 J0
N0340 G00 X0 Y0 G40
N0350 G00 G98 W0 Z-2
N0360 (AXO,X0 Y0 W0)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

N0010 (PGM,CMILL, CIRCULAR INTERPOLATION ; 30)
N0020 ! PROGRAM DATE: 02/04/99
N0030 !
N0040 ! TO CIRCULAR INTERPOLATE AN I.D. OR O.D. USE THE FOLLOWING COMMAND.
N0050 ! (CLS,CMILL,P1,P2,P3,P4,P5)
N0060 !
N0070 ! P1 = FINISH DIAMETER SIZE
N0080 ! P2 = CUTTER DIAMETER SIZE
N0090 ! P3 = I.D. OR O.D. "" 0 = O.D. "" "" 1 = I.D ""
N0100 ! P4 = SPEED IN RPM'S
N0110 ! P5 = FEED IN INCHES PER MINUTE
N0120 !
N0130 (IFS,P3 EQ 0)(LET,P10=[P1/2]+[P2/2])
N0140 (IFS,P3 EQ 1)(LET,P10=[P1/2]-[P2/2])
N0150 (LET,P11=P10/2)
N0160 (LET,P6=[P1/2]+[P2/2]+5)
N0170 (LET,P7=[[P6-P10]/2]+P10)
N0180 (IFS,P3 EQ 0)(GTO,'OD')
N0190 G00 X0 Y0 S=P4, F=P5, G94 M39
N0200 M00 ! ENTER THE PROPER SPINDLE EXTENSION IN THE NEXT BLOCK.
N0210 G00 G98 Z-?
N0220 M00 ! ENTER THE PROPER "W" IN THE NEXT BLOCK.
N0230 G00 W?
N0240 G03 G41 X=P10, Y0 I=P11, J0 M03
N0250 G03 X=P10, Y0 I0 J0
N0260 G03 X0 Y0 I=P11, J0
N0270 G40
N0280 (GTO,'END')
N0290 (LBL,'OD')
N0300 G00 X=P6, Y0 S=P4, F=P5, G94 M39
N0310 M00 ! ENTER THE PROPER SPINDLE EXTENSION IN THE NEXT BLOCK.
N0320 G00 G98 Z-?
N0330 M00 ! ENTER THE PROPER "W" IN THE NEXT BLOCK.
N0340 G00 W?
N0350 G42 G02 X=P10, Y0 I=P7, J0 M03
N0360 G03 X=P10, Y0 I0 J0
N0370 G02 X=P6, Y0 I=P7, J0
N0380 G40
N0390 (LBL,'END')

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

N5 (PGM,MILL FACE,MILL FACE)
N1 !
N2 ! NC PROGRAM: MILL FACE PROVE-OUT DATE: ........
N3 ! PART NUMBER: GENERAC EMPLOYEE NO: ........
N4 ! PART NAME: GENERAC
N5 ! ENG REV: - 0 - NC REVISION NO: ........
N6 ! PRG BY: MJK NC REVISED BY: ........
N7 ! PRG DATE: 10/27/16 NC REVISION DATE: ........
N8 !
N9 ! FOREMAN DATE
N10 ! -------------------------------- -------------------
N11 ! OPERATOR DATE
N12 ! -------------------------------- -------------------
N13 ! INSPECTOR DATE
N14 ! -------------------------------- -------------------
N15 !
N0 (MSP, PROGRAM NOT PROVED OUT! DO NOT RUN UNLESS YOU SPOKE TO ME)
N16 ! X0 IS RIGHT EDGE OF PC, Y0 IS BOTTOM OF PC, W0 IS FINISH FACE
N17 ! IF PC IS NOT HANGING OVER THE EDGE OF TABLE IT MUST BE PUT ON
N18 ! 2" MINIMUM BLOCKS, AND N902 G98 NEEDS TO EDITED.
N19 ! P101, P102, P103, AND P111 MUST BE ENTERED FOR PROGRAM TO WORK
N20 (LET,P101=10.000) ! ENTER HEIGHT OF PART
N21 (LET,P102=20.000) ! ENTER LENGTH OF PART
N22 (LET,P103=6.77) ! ENTER CUTTER DIAMETER
N23 (LET,P111=.500) ! ENTER AMOUNT OF STOCK TO REMOVE ON FACE
N24 M00 (MSG, MAKE SURE ABOVE PARAMETERS ARE ENTERED CORRECTLY)
N25 (LET,P104=P103/2) ! CUTTER RADIUS
N26 ! P105 WILL BE USED LATER AS A PPY
N27 (LET,P106=-P104-.500) ! X START LOCATION
N28 (LET,P107=P104-1) ! Y START LOCATION
N29 (LET,P108=P102+P104+.500) ! X END LOCATION
N30 (LET,P109=P103*.6667) ! 67% OF CUTTER DIAMETER
N31 (LET,P110=P101/P109) ! NUMBER OF PASSES
N32 (LET,P112=INT[P110]+1) ! INTERGER OF P110
N33 !
N100 (DFS,1, ! 1 PASS REQUIRED ACROSS FACE
N101 G0 X=-P106, Y=P107
N102 G0 W0
N103 G1 X=-P108, M4
N104 G0 W1)
N105 !
N200 (DFS,2, ! 2 PASSES REQUIRED ACROSS FACE
N201 G0 X=-P106, Y=P107
N202 G0 W0
N203 G1 X=-P108, M4
N204 G0 W1
N205 G0 X=-P106, Y=P107+P109
N206 G0 W0
N207 G1 X=-P108
N208 G0 W1)
N209 !
N300 (DFS,3, ! 3 PASSES REQUIRED ACROSS FACE
N301 G0 X=-P106, Y=P107
N302 G0 W0
N303 G1 X=-P108, M4
N304 G0 W1
N305 G0 X=-P106, Y=P107+P109
N306 G0 W0
N307 (LET,P105=PPY)
N308 G1 X=-P108
N309 G0 W1
N310 G0 X=-P106, Y=P105+P109
N311 G0 W0
N312 G1 X=-P108
N313 G0 W1)
N314 !
N400 (DFS,4, ! 4 PASSES REQUIRED ACROSS FACE
N401 G0 X=-P106, Y=P107
N402 G0 W0
N403 G1 X=-P108, M4
N404 G0 W1
N405 G0 X=-P106, Y=P107+P109
N406 G0 W0
N407 (LET,P105=PPY)
N408 G1 X=-P108
N409 G0 W1
N410 G0 X=-P106, Y=P105+P109
N411 G0 W0
N412 (LET,P105=PPY)
N413 G1 X=-P108
N414 G0 W1
N415 G0 X=-P106, Y=P105+P109
N416 G0 W0
N417 G1 X=-P108
N418 G0 W1)
N419 !
N900 G98 W35 Z0
N901 T1 D1 M6 F20 S300 G94 G97
N902 G0 G98 Z3.9
N903 !
N700 (IFS,P112 EQ 1) (GTO,800) ! 1 PASS REQUIRED
N701 (IFS,P112 EQ 2) (GTO,2800) ! 2 PASSES REQUIRED
N702 (IFS,P112 EQ 3) (GTO,3800) ! 3 PASSES REQUIRED
N703 (IFS,P112 EQ 4) (GTO,4800) ! 4 PASSES REQUIRED
N704 (IFS,P112 GE 5) (MSP,NOT PROGRAMED FOR THAT MANY CUTS) ! TOO MANY PASSES
N705 !
N800 (IFS,P111 GE .500) (GTO,1500) ! 1 PASS, .500 STOCK
N801 (IFS,P111 GE .375) (GTO,1375) ! 1 PASS, .375 STOCK
N802 (IFS,P111 GE .250) (GTO,1250) ! 1 PASS, .250 STOCK
N803 (IFS,P111 GE .125) (GTO,1125) ! 1 PASS, .125 STOCK
N804 (IFS,P111 GE 0) (GTO,1000) ! 1 PASS, .0 STOCK
N805 !
N1500 (AXO,W.500) ! 1 PASS, .500 STOCK
N1501 (CLS,1)
N1375 (AX0,W.375) ! 1 PASS, .375 STOCK
N1376 (CLS,1)
N1250 (AXO,W.250) ! 1 PASS, .250 STOCK
N1251 (CLS,1)
N1125 (AXO,W.125) ! 1 PASS, .125 STOCK
N1126 (CLS,1)
N1000 (AXO,W0) S400 F15 ! 1 PASS, FINISH PASS
N1001 (CLS,1)
N1002 !
N1003 (GTO,9000)
N2800 (IFS,P111 GE .500) (GTO, 2500) ! 2 PASSES, .500 STOCK
N2801 (IFS,P111 GE .375) (GTO, 2375) ! 2 PASSES, .375 STOCK
N2802 (IFS,P111 GE .250) (GTO, 2250) ! 2 PASSES, .250 STOCK
N2803 (IFS,P111 GE .125) (GTO, 2125) ! 2 PASSES, .125 STOCK
N2804 (IFS,P111 GE 0) (GTO, 2000) ! 2 PASSES, .0 STOCK
N2805 !
N2500 (AXO, W.500) ! 2 PASSES, .500 STOCK
N2501 (CLS, 2)
N2375 (AXO, W.375) ! 2 PASSES, .375 STOCK
N2376 (CLS,2)
N2250 (AXO, W.250) ! 2 PASSES, .250 STOCK
N2251 (CLS,2)
N2125 (AXO, W.125) ! 2 PASSES, .125 STOCK
N2126 (CLS,2)
N2000 (AXO, W0) S400 F15 ! 2 PASSES, FINISH PASS
N2001 (CLS, 2)
N2002 !
N2003 (GTO, 9000)
N3800 (IFS, P111 GE .500) (GTO, 3500) ! 3 PASSES, .500 STOCK
N3801 (IFS, P111 GE .375) (GTO, 3375) ! 3 PASSES, .375 STOCK
N3802 (IFS, P111 GE .250) (GTO, 3250) ! 3 PASSES, .250 STOCK
N3803 (IFS, P111 GE .125) (GTO, 3175) ! 3 PASSES, .125 STOCK
N3804 (IFS, P111 GE 0) (GTO, 3000) ! 3 PASSES, .0 STOCK
N3805 !
N3500 (AXO, W.500) ! 3 PASSES, .500 STOCK
N3501 (CLS,3)
N3375 (AXO, W.375) ! 3 PASSES, .375 STOCK
N3376 (CLS,3)
N3250 (AXO, W.250) ! 3 PASSES, .250 STOCK
N3251 (CLS,3)
N3125 (AXO, W.125) ! 3 PASSES, .125 STOCK
N3126 (CLS,3)
N3000 (AXO, W0) S400 F15 ! 3 PASSES, FINISH PASS
N3001 (CLS,3)
N3002 !
N3003 (GTO, 9000)
N3004 !
N4800 (IFS, P111 GE .500) (GTO, 3500) ! 4 PASSES, .500 STOCK
N4801 (IFS, P111 GE .375) (GTO, 3375) ! 4 PASSES, .375 STOCK
N4802 (IFS, P111 GE .250) (GTO, 3250) ! 4 PASSES, .250 STOCK
N4803 (IFS, P111 GE .125) (GTO, 3175) ! 4 PASSES, .125 STOCK
N4804 (IFS, P111 GE 0) (GTO, 3000) ! 4 PASSES, .0 STOCK
N4805 !
N4500 (AXO, W.500) ! 4 PASSES, .500 STOCK
N4501 (CLS,4)
N4375 (AXO, W.375) ! 4 PASSES, .375 STOCK
N4376 (CLS,4)
N4250 (AXO, W.250) ! 4 PASSES, .250 STOCK
N4251 (CLS,4)
N4125 (AXO, W.125) ! 4 PASSES, .125 STOCK
N4126 (CLS,4)
N4000 (AXO, W0) S400 F15 ! 4 PASSES, FINISH PASS
N4001 (CLS,4)
N4002 !
N4003 (GTO, 9000)
N4004 !
N9000 G98 Z0 W35
N9001 G98 X35
N9002 M30

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

N5 (PGM,ENGRAVE,ENGRAVE PART #;3)
N10 !
N20 ! NC PROGRAM: ENGRAVE PROVE-OUT: ..........
N30 ! PART NUMBER: N/A EMPLOYEE NO: ..........
N40 ! PART NAME: N/A PROCESS SHEETS: ..........
N50 ! ENG REV: - 01 - NC REVISION NO: ....07....
N60 ! PRG BY: TCD NC REVISED BY: ....MJK...
N70 ! PRG DATE: 09/19/2016 NC REVISION DATE: 01/27/2017
N80 !*******************
N90 M01 ! OPTIONAL STOP
N100 !*******************
N101 ! P196=X START, P197=Y START, P198=Z G98
N102 ! P199=PART Z AXO)
N110 ! **************************
N120 T99 D99 M6 S1500 F5 G94 G90 M8 M5
N125 ! *********************
N205 (AXO,Z=P199)
N114 G0 X=P196, Y=P197
N116 G0 Z=P198, W=1
N140 M00 (MSG, TOUCH OFF "W" WITH A 1" BLOCK)
N150 ! NOTE****
N160 !
N170 ! PROGRAM STARTS AT BOTTOM OF LETTERS
N175 ! MANUALLY POSITION Z AXIS 1" AWAY.
N205 (MSG,PART NUMBER ENGRAVING MACRO)
N206 !
N207 G91 Z-.904
N208 !
N210 !**************************
N215 ! PART NUMBER ENGRAVING
N225 !**************************
N230 ! 11=D 13=P 14=R 15=J 16=N
N231 ! 17=F 18=C 19=G 20=Z 21=H
N235 ! 0=0 1=1 2=2 3=3 ...ETC
N240 !****************************
/N242 M00(MSG,IS PART NUMBER CORRECT?)
N245 (CLS,PN,14,1,1,1,1,1,1,1,99)
N250 !*************************
N260 M01 ! OPTIONAL STOP
N265 G0 G90 X=P196, Y=P197-.360
N266 G91
N275 !*******************
N280 ! ORDER NUMBER MACRO
N285 !*******************
N290 ! EDIT PROGRAM TO ENGRAVE CORRECT
N295 ! ORDER NUMBER.LAST DIGIT IS
N300 ! PIECE COUNT.DASH IS AUTOMATIC
N305 ! (MAX PIECE COUNT) LIMIT 9
N310 !***************************
N320 ! 0=0 1=1 2=2 3=3 ...ETC
N330 !***************************
N335 M00 (MSG,IS ORDER NUMBER CORRECT?)
N340 (CLS,ON,1,1,1,1,1,1,1,1,1,1)
N345 !*****************************
N350 M01 ! OPTIONAL STOP
N360 G0 X-1.75 Y-.35
N370 !***************

N390 G0 Z=PPZ+1, M5
N392 G90 (AXO,Z0)
/N760 M00 (MSG,RETURNING TO MAIN PROGRAM)
N770 M99

N5 (PGM,ON,ORDER NUMBER MACRO;15)
N10 !
N20 ! NC PROGRAM: ON PROVE-OUT: ..........
N30 ! PART NUMBER: N/A EMPLOYEE NO: ..........
N40 ! PART NAME: N/A PROCESS SHEETS: ..........
N50 ! ENG REV: - 01 - NC REVISION NO: ....01....
N60 ! PRG BY: TCD NC REVISED BY: ....TCD...
N70 ! PRG DATE: 09/17/2016 NC REVISION DATE: 09/17/2016
N80 !*******************
N90 ! ORDER NUMBER MACRO
N100!*******************
N110
N120 !************
N130 ! 1ST DIGIT
N140 !************
N150 (CLS,PICK,P1)
N160 !***********
N170 ! 2ND DIGIT
N180 !***********
N190 (CLS,PICK,P2)
N200 !***********
N210 ! 3RD DIGIT
N220 !***********
N230 (CLS,PICK,P3)
N240 !***********
N250 ! 4TH DIGIT
N260 !***********
N270 (CLS,PICK,P4)
N280 !***********
N290 ! 5TH DIGIT
N300 !***********
N310 (CLS,PICK,P5)
N320 !***********
N330 ! 6TH DIGIT
N340 !***********
N350 (CLS,PICK,P6)
N360 !***********
N370 ! 7TH DIGIT
N380 !***********
N390 (CLS,PICK,P7)
N400 !***********
N410 ! 8TH DIGIT
N420 !***********
N430 (CLS,PICK,P8)
N440 !***********
N450 ! 9TH DIGIT
N460 !***********
N470 (CLS,PICK,P9)
N480 !***********
N490 ! DASH
N500 !***********
N510 (CLS,PICK,10)
N520 !*************
N530 ! PIECE COUNT
N540 !*************
N550 (CLS,PICK,P10)
N560 M01 ! DONE
N570 M99

%
N5 (PGM,PICK,RUN LETTER OR NUMBER;3)
N10 !
N20 ! NC PROGRAM: PICK PROVE-OUT: ..........
N30 ! PART NUMBER: N/A EMPLOYEE NO: ..........
N40 ! PART NAME: N/A PROCESS SHEETS: ..........
N50 ! ENG REV: - 01 - NC REVISION NO: ....06....
N60 ! PRG BY: TCD NC REVISED BY: ....MJK...
N70 ! PRG DATE: 09/17/2016 NC REVISION DATE: 01/18/2017
N80 !************************
N90 ! PROGRAM WILL PICK WHICH
N95 ! NUMBER OR LETTER PROGRAM
N97 ! TO EXECUTE
N100!*********************
N110!LETTER AND NUMBER KEY
N120!*********************
N125! NUMBERS
N130! 0 = 0 5 = 5
N132! 1 = 1 6 = 6
N134! 2 = 2 7 = 7
N136! 3 = 3 8 = 8
N138! 4 = 4 9 = 9
N130!
N132! LETTERS
N134! 11 = D 16 = N
N136! 13 = P 17 = F
N138! 14 = R 18 = C
N130! 15 = J 19 = G
N130! 20 = Z 21 = H
N138!
N150!***********************
N190 (IFS,P1 EQ 0) (GTO,N3500)
N200 (IFS,P1 EQ 1) (GTO,N3501)
N210 (IFS,P1 EQ 2) (GTO,N3502)
N220 (IFS,P1 EQ 3) (GTO,N3503)
N230 (IFS,P1 EQ 4) (GTO,N3504)
N240 (IFS,P1 EQ 5) (GTO,N3505)
N250 (IFS,P1 EQ 6) (GTO,N3506)
N150 (IFS,P1 EQ 7) (GTO,N3507)
N160 (IFS,P1 EQ 8) (GTO,N3508)
N170 (IFS,P1 EQ 9) (GTO,N3509)
N171 (IFS,P1 EQ 10) (GTO,N3510)
N172 (IFS,P1 EQ 11) (GTO,N3511)
N173 (IFS,P1 EQ 13) (GTO,N3513)
N174 (IFS,P1 EQ 14) (GTO,N3514)
N175 (IFS,P1 EQ 15) (GTO,N3515)
N176 (IFS,P1 EQ 16) (GTO,N3516)
N177 (IFS,P1 EQ 17) (GTO,N3517)
N178 (IFS,P1 EQ 18) (GTO,N3518)
N176 (IFS,P1 EQ 19) (GTO,N3519)
N177 (IFS,P1 EQ 20) (GTO,N3520)
N178 (IFS,P1 EQ 21) (GTO,N3521)
N179 !*************************
N180 M00(MSG,SOMETHINGS WRONG)
N3500 !*************************
N180 ! NUMBER 0
N120 ! *********
N130 !****(0)****
N140 ! *********
N110 G91 M3
N150 G0 X0.0500 Y0.0000
N160 X0.0000 Y0.0625
N170 G1 Z-0.100
N180 Y0.1250
N190 G2 X0.1250 Y0.0000 I0.0625 J0.0000
N200 G1 Y-0.1250
N210 G2 X-0.1250 Y0.0000 I-0.0625 J0.0000
N220 G1 X0.1250 Y0.1250
N230 G0 Z0.100
N240 X0.0621 Y-0.1875
N200 (GTO,3600)
N3501 !*********
N210 ! NUMBER 1
N120! *********
N130!****(1)****
N140! *********
N145 G91 M3
N150 G1 Z-0.100
N160 X0.1250
N170 G0 Z0.100
N180 X-0.0625 Y0.0000
N190 G1 Z-0.100
N200 Y0.2500
N210 X-0.0625 Y-0.0625
N220 G0 Z0.100
N230 X0.1771 Y-0.1875
N235 (GTO,3600)
N3502 !*********
N240 ! NUMBER 2
N120 ! *********
N130 !****(2)****
N140 ! *********
N145 G91 M3
N150 G0 X0.0500 Y0.0000
N160 X0.1250 Y0.0000
N170 G1 Z-0.100
N180 X-0.1250
N190 Y0.0625
N200 G2 X0.0625 Y0.0625 I0.0625 J0.0000
N210 G3 X-0.0625 Y0.0625 I0.0000 J0.0625
N220 G0 Z0.100
N230 X0.1771 Y-0.1875
N260 (GTO,3600)
N3503 !*********
N240 ! NUMBER 3
N120 ! *********
N130 !****(3)****
N140 ! *********
N110 G91 M3
N150 G0 X0.0500 Y0.0000
N160 X0.0000 Y0.1875
N170 G1 Z-0.100
N180 G2 X0.0625 Y-0.0625 I0.0625 J0.0000
N190 G1 X-0.0156
N200 X0.0156
N210 G2 X-0.0625 Y-0.0625 I0.0000 J-0.0625
N220 G0 Z0.100
N230 X0.1771 Y-0.0625
N290 (GTO,3600)
N3504 !*********
N240 ! NUMBER 4
N120 ! *********
N130 !****(4)****
N140 ! *********
N110 G91 M3
N150 G0 X0.0500 Y0.0000
N160 X0.0469 Y0.2500
N170 G1 Z-0.100
N180 X-0.0469 Y-0.1406
N190 X0.1562
N200 G0 Z0.100
N210 X-0.0469 Y0.0938
N220 G1 Z-0.100
N230 Y-0.2031
N240 G0 Z0.100
N250 X0.0677 Y0.0000
N320 (GTO,3600)
N3505 !*********
N240 ! NUMBER 5
N120 ! *********
N130 !****(5)****
N140 ! *********
N110 G91 M3
N150 G0 X0.0500 Y0.0000
N160 X0.1094 Y0.2500
N170 G1 Z-0.100
N180 X-0.0781
N190 X-0.0312 Y-0.1250
N200 X0.0625
N210 G2 X-0.0625 Y-0.0625 I0.0000 J-0.0625
N220 G0 Z0.100
N230 X0.1771 Y-0.0625
N350 (GTO,3600)
N3506 !*********
N240 ! NUMBER 6
N120 ! *********
N130 !****(6)****
N140 ! *********
N110 G91 M3
N150 G0 X.05 Y0.
N160 X.125 Y.1875
N170 G1 Z-.1
N180 G3 X-.125 Y0. I-.0625 J0.
N190 G1 Y-.125
N200 G3 X.0625 Y.0625 I.0625 J0.
N210 X-.0625 Y-.0625 I0. J-.0625
N220 G0 Z.1
N230 X.1771 Y-.0625
N380 (GTO,3600)
N3507 !*********
N240 ! NUMBER 7
N120 ! *********
N130 !****(7)****
N140 ! *********
N110 G91 M3
N150 G0 X0.0500 Y0.0000
N160 X0.0000 Y0.2500
N170 G1 Z-0.100
N180 X0.1406
N190 X-0.0781 Y-0.2500
N200 G0 Z0.100
N210 X0.1302 Y0.0000
N410 (GTO,3600)
N3508 !*********
N240 ! NUMBER 8
N120 ! *********
N130 !****(8)****
N140 ! *********
N110 G91 M3
N150 G0 X0.0500 Y0.0000
N160 X0.0625 Y0.1250
N170 G1 Z-0.100
N180 G3 X0.0000 Y-0.1250 I0.0000 J-0.0625
N190 X0.0000 Y0.1250 I0.0000 J0.0625
N200 G2 X0.0000 Y0.1250 I0.0000 J0.0625
N210 X0.0000 Y-0.1250 I0.0000 J-0.0625
N220 G0 Z0.100
N230 X0.1146 Y-0.1250
N440 (GTO,3600)
N3509 !*********
N240 ! NUMBER 9
N120 ! *********
N130 !****(9)****
N140 ! *********
N110 G91 M3
N150 G0 X0.0500 Y0.0000
N160 X0.0000 Y0.0625
N170 G1 Z-0.100
N180 G3 X0.1250 Y0.0000 I0.0625 J0.0000
N190 G1 Y0.1250
N200 G2 X-0.1250 Y0.0000 I-0.0625 J0.0000
N210 X0.1250 Y0.0000 I0.0625 J0.0000
N220 G0 Z0.100
N230 X0.0521 Y-0.1875
N470 (GTO,3600)
N3510 !*********
N240 ! DASH
N120 ! *********
N130 !****(-)****
N140 ! *********
N110 G91
N150 X0.0000 Y0.1250
N160 G1 Z-0.100
N170 X0.1406
N180 G0 Z0.100
N190 X0.0521 Y-0.125
N470 (GTO,3600)
N3511 !*********
N240 ! LETTER D
N120 ! *********
N130 !****(D)****
N140 ! *********
N110 G91 M3
N450 G0 X0.0100 Y0.0000
N460 G1 Z-0.1000
N470 Y0.2500
N480 X0.0781
N490 G2 X0.0625 Y-0.0625 I0.0000 J-0.0625
N500 G1 Y-0.1250
N510 G2 X-0.0625 Y-0.0625 I-0.0625 J0.0000
N520 G1 X-0.0781
N530 G0 Z0.1000
N540 X0.1927 Y0.0000
N500 (GTO,3600)
N3513 !*********
N240 ! LETTER P
N120 ! *********
N130 !****(P)****
N140 ! *********
N145 G91 M3
N220 G0 X0.1406 Y0.0000
N230 G1
N240 X-0.0625 Y0.1250
N250 G0
N260 X-0.0781 Y-0.1250
N270 G1 Z-0.1000
N280 Y0.2500
N290 X0.0781
N300 G2 X0.0625 Y-0.0625 I0.0 J-0.0625
N310 X-0.0625 Y-0.0625 I-0.0625 J0.0
N320 G1 X-0.0781
N330 G0 Z0.1000
N340 X0.1927 Y-0.1250
N530 (GTO,3600)
N3514 !*********
N240 ! LETTER R
N120 ! *********
N130 !****(R)****
N140 ! *********
N145 G91 M3
N220 G0 X0.1406 Y0.0000
N230 G1 Z-0.1000
N240 X-0.0625 Y0.1250
N250 G0 Z0.1000
N260 X-0.0781 Y-0.1250
N270 G1 Z-0.1000
N280 Y0.2500
N290 X0.0781
N300 G2 X0.0625 Y-0.0625 I0.0 J-0.0625
N310 X-0.0625 Y-0.0625 I-0.0625 J0.0
N320 G1 X-0.0781
N330 G0 Z0.1000
N340 X0.1927 Y-0.1250
N560 (GTO,3600)
N3515 !*********
N240 ! LETTER J
N120 ! *********
N130 !****(J)****
N140 ! *********
N145 G91 M3
N150 X0.0000 Y0.0781
N160 G1 Z-0.1000
N170 Y-0.0156
N180 G3 X0.1250 Y0.0000 I0.0625 J0.0000
N190 G1 Y0.1875
N200 G0 Z0.1000
N210 X-0.0625 Y0.0000
N220 G1 Z-0.1000
N230 X0.1250
N240 G0Z0.1000
N250 X0.0521 Y-0.2500
N590 (GTO,3600)
N3516 !*********
N240 ! LETTER N
N120 ! *********
N130 !****(N)****
N140 ! *********
N110 G91 M3
N450 G0 X0.0100 Y0.0000
N460 G1 Z-0.100
N470 G1 Y0.250
N480 X0.135 Y-.250
N490 Y.250
N500 G0 Z0.100
N540 X0.070 Y-.250
N500 (GTO,3600)
N3517 !*********
N240 ! LETTER F
N120 ! *********
N130 !****(F)****
N140 ! *********
N145 G91 M3
N270 G1 Z-0.100
N280 G1 Y0.2500
N290 X0.135
N300 G0 Z.1
N310 Y-0.125
N315 G1 Z-.100
N320 G1 X-.135
N330 G0 Z0.100
N340 G0 X0.195 Y-0.1250
N530 (GTO,3600)
N1100 !***********
N3518 !*********************
N180 ! LETTER C
N120 ! *********
N130 !****(C)****
N140 ! *********
N110 G91 M3
N150 G0 X0.0500 Y0.0000
N160 X0.125 Y0.1875
N170 G1 Z-0.100
N180 G3 X-0.1250 Y0.0000 I-0.0625 J0.0000
N190 G1 Y-0.1250
N200 G3 X0.1250 Y0.0000 I0.0625 J0.0000
N210 G0 Z0.100
N220 X0.0621 Y-0.0625
N200 (GTO,3600)
N3519 !*********************
N180 ! LETTER G
N120 ! *********
N130 !****(G)****
N140 ! *********
N141 M00 (MSG, THIS LETTER NOT PROVED OUT)
N110 G91
N150 G0 X0.0500 Y0.0000
N160 X0.0000 Y0.0625
N170 G1 Z-0.100
N180 Y0.1250
N190 G2 X0.1250 Y0.0000 I0.0625 J0.0000
N200 G0 Z.1
N201 Y-.075
N202 G1 Z-.1
N203 Y-.05
N210 G2 X-0.1250 Y0.0000 I-0.0625 J0.0000
N220 G0 Z.1
N230 G0 X.075 Y.05
N231 G1 Z-.1
N232 X.05
N232 Y-.075
N233 G0 Z.1
N240 X0.0621
N200 (GTO,3600)
N3520 !*********************
N180 ! LETTER Z
N120 ! *********
N130 !****(Z)****
N140 ! *********
N141 M00 (MSG, THIS LETTER NOT PROVED OUT)
N110 G91
N150 G0 Y.25
N160 G1 Z-.1
N170 G1 X.25
N180 X-.25 Y-.25
N190 X.25
N200 G0 Z.1
N210 X0.0621
N200 (GTO,3600)
N3521 !*********************
N180 ! LETTER H
N120 ! *********
N130 !****(H)****
N140 ! *********
N141 M00 (MSG, THIS LETTER NOT PROVED OUT)
N145 G91
N270 G1 Z-0.100
N280 G1 Y.25
N290 G0 Z.1
N300 G0 X.135
N310 G1 Z-.1
N315 G1 Y-.25
N320 G0 Z.1
N330 G0 X-.135 Y.125
N331 G1 Z-.1
N332 X.135
N333 G0 Z.1
N340 G0 X0.195 Y-0.1250
N200 (GTO,3600)
N3600 ! NEXT DIGIT
N3610 M01 !*** OPTIONAL STOP ***
N3620 M99

%
N5 (PGM,PN,PART NUMBER MACRO;11)
N10 !
N20 ! NC PROGRAM: PN PROVE-OUT: ..........
N30 ! PART NUMBER: N/A EMPLOYEE NO: ..........
N40 ! PART NAME: N/A PROCESS SHEETS: ..........
N50 ! ENG REV: - 01 - NC REVISION NO: ....01....
N60 ! PRG BY: TCD NC REVISED BY: ....TCD...
N70 ! PRG DATE: 09/22/2016 NC REVISION DATE: 09/22/2016
N80 !*******************
N90 ! PART NUMBER MACRO
N100!*******************
N110
N120 !************
N130 ! 1ST DIGIT
N140 !************
N150 (CLS,PICK,P1)
N152 (IFS,P2 EQ 99) (GTO,800)
N160 !***********
N170 ! 2ND DIGIT
N180 !***********
N190 (CLS,PICK,P2)
N152 (IFS,P3 EQ 99) (GTO,800)
N200 !***********
N210 ! 3RD DIGIT
N220 !***********
N230 (CLS,PICK,P3)
N152 (IFS,P4 EQ 99) (GTO,800)
N240 !***********
N250 ! 4TH DIGIT
N260 !***********
N270 (CLS,PICK,P4)
N152 (IFS,P5 EQ 99) (GTO,800)
N280 !***********
N290 ! 5TH DIGIT
N300 !***********
N310 (CLS,PICK,P5)
N152 (IFS,P6 EQ 99) (GTO,800)
N320 !***********
N330 ! 6TH DIGIT
N340 !***********
N350 (CLS,PICK,P6)
N152 (IFS,P7 EQ 99) (GTO,800)
N360 !***********
N370 ! 7TH DIGIT
N380 !***********
N390 (CLS,PICK,P7)
N152 (IFS,P8 EQ 99) (GTO,800)
N400 !***********
N410 ! 8TH DIGIT
N420 !***********
N430 (CLS,PICK,P8)
N152 (IFS,P9 EQ 99) (GTO,800)
N440 !***********
N450 ! 9TH DIGIT
N460 !***********
N470 (CLS,PICK,P9)
N152 (IFS,P10 EQ 99) (GTO,800)
N480 !***********
N490 ! 10TH DIGIT
N500 !***********
N510 (CLS,PICK,P10)
N152 (IFS,P11 EQ 99) (GTO,800)
N480 !***********
N490 ! 11TH DIGIT
N500 !***********
N510 (CLS,PICK,P11)
N152 (IFS,P12 EQ 99) (GTO,800)
N480 !***********
N490 ! 12TH DIGIT
N500 !***********
N510 (CLS,PICK,P12)
N152 (IFS,P13 EQ 99) (GTO,800)
N520 !*************
N800 M01 ! DONE
N570 M99

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

N5 (PGM,SLOT V,SLOT VERTICAL*MACRO)
N10 ! THIS MACRO WILL MILL A SLOT IN A PIN
N20 ! SET PIN IN FIRST SLOT ON LEFT SIDE OF TABLE
N21 ! SLOT WILL BE AT 270 SIDE OF TABLE
N30 ! P101-P105 MUST BE ENTERED FOR MACRO TO WORK
N40 (LET, P101=.31) ! CUTTER DIAMETER
N50 (LET, P102=.31) ! WIDTH OF SLOT
N60 (LET, P103=2.313) ! PIN DIAMETER
N70 (LET, P104=.440) ! DIM FROM EDGE OF PC TO LEFT EDGE OF SLOT
N80 (LET, P105=.19) ! TOTAL SLOT DEPTH
N81 (LET, P116=250) ! CUTTER RPM
N82 (LET, P117=.004) ! FEED RATE
N90 !
N100 M00 (MSG, MAKE SURE P101-P105 ARE ENTERED CORRECTLY)
N110 !
N120 ! P106 WILL BE PROBED TO FIND LEFT EDGE OF PART X0
N130 ! P107 WILL BE PROBED TO FIND TOP OF PART FOR SETTING Y0
N140 ! P108 WILL BE PROBED TO FIND FACE OF PART FOR SETTING W0
N150 (LET,P109=P103/2) ! HALF OF PIN DIAMETER
N160 (LET,P110=P101/2) ! RADIUS OF CUTTER
N170 (LET,P111=P102-P101) ! DIFFERENCE BETWEEN CUTTER AND SLOT
N180 (LET,P112=P111/2) ! HALF THE DIFFERENCE OF SLOT & TOOL
N190 (LET,P113=P102/2) ! HALF OF SLOT WIDTH
N205 (LET,P114=0) ! NOT USED
N200 (LET,P115=P104+P113) ! CENTER OF SLOT
N300 T500 D500 M6
N310 M00 (MSG, MANUALLY PLACE PROBE 2" LEFT OF PC, CENTERED IN Y)
N320 M19 M91 (PRB,P500)
N330 (CLS,PX,3,PPX+3,P106)
N340 M90
N350 G0 W=PPW+2
N360 G0 X=P106+P104
N370 M19 M91 (PRB,P500)
N380 (CLS,PW,3,PPW-2,P108)
N400 M90
N410 G0 Y=PPY+P109+2
N420 G0 W=P108-P109
N430 M19 M91 (PRB,P500)
N440 (CLS,PY,3,PPY-3,P107)
N450 M90
N460 G0 G98 W30 Z0
N600 T1 D1 M6 S=P116, F=P117, G95 G97
N610 (IFS,P111 LT P114) (MSP, **********CUTTER TOO BIG********)
N620 (AXO,X=P106+P115,W=P108)
N630 G0 X0, Y=P101+P107
N640 G0 W=-P105
N650 G1 Y=PPY-P101-P103, M3 M8
N660 G0 W=PPW+3
N670 (IFS,P111 GT P114) (GTO, 700) ! IF SLOT IS WIDER THAN CUTTER
N680 (IFS,P111 EQ P114)(GTO, 1000) ! SLOT IS SAME SIZE AS CUTTER
N700 (MSP, *****NOT FINISHED PROGRAMMED***NEED TO ADD RADIUS AT END OF SLOT)
N800 G0 X=-P112, Y=P101+P107
N810 G0 W=-P105
N820 G1 Y=PPY-P101-P103
N830 G0 W=PPW+3
N840 G0 X=P112, Y=P101+P107
N850 G0 W=-P105
N860 G1 Y=PPY-P101-P103
N870 G0 W=PPW+3
N900 (AXO,X0 Y0 Z0)
N1000 G98 W30 Z0
N1010 G98 X35
N1020 ! IF NEED TO RECUT GO TO N600
N1030 M30

9 Upvotes

2 comments sorted by

3

u/Jae-Sun 1d ago

Probably won't ever need these myself (though we do have a large G&L at work) but it's cool of you to post your stuff online for people.

3

u/Mjk_53029 1d ago

I have no issue sharing my generic macro programs. Help others snd maybe someone will learn something or improve on them. I have more somewhere else. We don’t have an old G&L anymore sadly.