I'm needing help with skipping around in a program using variables/and user input with out editing the program. The parts I am working with are core (used) parts, they get tore down and re used, these parts end up with broken bolts in some of the holes. We are using a HAAS vf4 to drill out the broken bolts and install helicoils. What I'm wanting to do is write a program that will allow the operator to select which bolt holes need to be repaired with out editing the program. I currently have it set up where they can change variables in the program to choose what operations they need to do and pick the bolt holes. I'm looking for a better way of doing it without having to edit the program. Any idea or help would be appreciated.


example of what I have now(not the whole program)

(1=YES 0=NO)
(MILL EXHUAST ) #828= 1
(SPOT DRILL ) #827= 0
(M12 BOLT HOLE REPAIR) #800= 0
(M10 BOLT HOLE REPAIR) #823= 0

(SELECT M12 X 1.75 BOLT HOLES)
(1 ) #801= 0
(2 ) #802= 0
(3 ) #803= 0
(4 ) #804= 0
(5 ) #805= 0
(6 ) #806= 1
(7 ) #807= 1
(8 ) #808= 0
(9 ) #809= 0
(10) #810= 0
(11) #811= 0
(12) #812= 0
(13) #813= 0
(14) #814= 0
(15) #815= 0

(SELECT M10 X 1.5 BOLT HOLES)
(1) #817= 1
(2) #818= 0
(3) #819= 0
(4) #820= 0
(5) #821= 0



IF [ #800 EQ 0 ] GOTO200 (NO M12 BOLT HOLE REPAIR GOTO N200)
N200 IF [ #827 EQ 0 ] GOTO2 (SPOT DRILL NOT NEEDED GOTO DRILL N2)
N1 (1/2 140 DEG SPOT DRILL)

G00 G90 G53 X-47. Y0 Z0
G20
G00 G17 G40 G49 G80 G90
T2 M06 (SPOT DRILL)
M01
T27
G00 G90 G55 X0. Y0. A90. S1069 M03
G43 H02 Z0.2
M08
G98 G81 Z0.199 R0.2 F8.6
N101 IF [ #801 EQ 0 ] GOTO102 (SKIP HOLE 1 GOTO 2)
X-32.471 Y-1.616 Z-0.05 (1)
N102 IF [ #802 EQ 0 ] GOTO118 (SKIP HOLE 2 GOTO M10 1)
X-31.091 Y1.798 Z-0.05 (2)
N118 IF [ #823 EQ 0 ] GOTO103 (SKIP M10 BOLT HOLES)
IF [ #817 EQ 0 ] GOTO103 (SKIP HOLE M10 2 GOTO 3)
X-29.039 Y1.831 Z-0.05 (M10 #1) (#3)
N103 IF [ #803 EQ 0 ] GOTO104 (SKIP HOLE 3 GOTO 4)
X-27.141 Y-1.616 Z-0.05 (3)
N104 IF [ #804 EQ 0 ] GOTO119 (SKIP HOLE 4 GOTO M10 2)
X-25.761 Y1.798 Z-0.05 (4)
N119 IF [ #823 EQ 0 ] GOTO300 (SKIP M10 BOLT HOLES)
IF [ #818 EQ 0 ] GOTO300 (SKIP HOLE M10 2 GOTO 5)
X-2.502 Y1.964 Z-0.05 (M10 #2) (#5)
N300 IF [ #805 EQ 0 ] GOTO105 (SKIP HOLE 5 GOTO 6)
X-23.67 Y1.831 Z-0.05 (5)
N105 IF [ #806 EQ 0 ] GOTO106 (SKIP HOLE 6 GOTO 7)
X-21.811 Y-1.616 Z-0.05 (6)
N106 IF [ #807 EQ 0 ] GOTO107 (SKIP HOLE 7 GOTO 8)
X-20.431 Y1.798 Z-0.05 (7)
N107 IF [ #808 EQ 0 ] GOTO109 (SKIP HOLE 8 GOTO 9)
X-16.481 Y1.798 Z-0.05 (8)
N109 IF [ #809 EQ 0 ] GOTO111 (SKIP HOLE 9 GOTO 10)
X-15.101 Y-1.616 Z-0.05 (9)
N111 IF [ #810 EQ 0 ] GOTO112 (SKIP HOLE 10 GOTO 11)
X-13.01 Y1.831 Z-0.05 (10)
N112 IF [ #811 EQ 0 ] GOTO113 (SKIP HOLE 11 GOTO 12)
X-11.151 Y-1.616 Z-0.05 (11)
N113 IF [ #812 EQ 0 ] GOTO114 (SKIP HOLE 12 GOTO 13)
X-9.771 Y1.798 Z-0.05 (12)
N114 IF [ #813 EQ 0 ] GOTO115 (SKIP HOLE 13 GOTO 14)
X-7.68 Y1.831 Z-0.05 (13)
N115 IF [ #814 EQ 0 ] GOTO116 (SKIP HOLE 14 GOTO 15)
X-5.821 Y-1.616 Z-0.05 (14)
N116 IF [ #815 EQ 0 ] GOTO120 (SKIP HOLE 15 GOTO M10 3)
X-4.441 Y1.798 Z-0.05 (15)
N120 IF [ #823 EQ 0 ] GOTO117 (SKIP M10 BOLT HOLES)
N158 IF [ #819 EQ 0 ] GOTO159 (SKIP HOLE M10 5 GOTO M10 6)
X-0.606 Y-1.491 Z-0.05 (M10 #3) (#19)
N159 IF [ #820 EQ 0 ] GOTO160 (SKIP HOLE M10 6 GOTO M10 7)
X2.123 Y-0.13 Z-0.05 (M10 #4) (#20)
N160 IF [ #821 EQ 0 ] GOTO117 (SKIP HOLE M10 7 GOTO N117 END)
X2.394 Y1.969 Z-0.05 (M10 #5) (#21)
G00 G80 Z1. M09
N117 G91 G28 Z0.
G00 G90 G53 X-47. Y0 Z0
M01

Similar Threads: