%1
IF (#108==31) N3100
IF (#108==70) N7000
IF (#108==71) N7100
IF (#108==72) N7200
IF (#108==73) N7300
IF (#108==74) N7400
IF (#108==75) N7500
IF (#108==77) N7700
IF (#108==78) N7800
N010 M0 N10 .ERROR -> UNKNOWN CYCLE IN RANGE G70-G79
.********* G31 ********
N03100 #20=(#130/2) #21=(#131/2) #24=#134 #25=#135 #29=#104 
       IF(#1<0) N3191
       IF(#2<0) N3192
       #3=(#3/2) IF(#3<0) N3193
       IF(#4<0) N3194
       IF(#5<0) N3195
       IF(#4>80) N3196
       IF(#3>ABS(#25)) #5=0
       #18=1 IF(#21<0) #18=-1
       #19=1 IF(#25<0) #19=-1
       #20=(#20+#1*#18) #21=(#21+#1*#18)
       #10=0 #22=#3 IF(#25<>0) #10=(#3/ABS(#25)) #22=(#3-(#5*#3)/ABS(#25))
       #11=0 IF(#4) #11=TAN(#4)
       #12=((#20-#21)*2) #13=(#24-#25) #14=(#20-#22*#18) #15=(#24-#5*#19) 
       G90 G0 #16=-(#5*#18*2)  #17=(#5*#19) #26=(#10*#11+1) #27=ABS(#21)
N03105 #23=((#27-#1)*#11/#26) X((#20-(#23*#10+#1)*#18)*2) Z(#13+#23*#19) 
       G32 X((#14-#1*#18)*2) Z#15 I#136 P#140
       IF(#5) G9 U#16 W#17
       G0 X#12
       Z#13
       IF(#1>(#2*2)) #1=(#1-#2) N3105
       IF(#1>#2) #1=#2 N3105
       IF(#1>(#2/2)) #1=(#2/2) N3105
       IF(#1>(#2/4)) #1=(#2/4) N3105
       IF(#1>(#2/8)) #1=(#2/8) N3105
       IF(#1) #1=0 N3105
       X((#20-(#23*#10)*#18)*2) Z(#13+#23*#19) 
       G32 X(#14*2) Z#15 I#136 P#140
       IF(#5) G9 U#16 W#17
       G0 X#12
       Z#13
       G#29 M99
N03191 M0 N3191 .ERROR IN G31 -> PARAMETER #1 < 0
N03192 M0 N3192 .ERROR IN G31 -> PARAMETER #2 < 0
N03193 M0 N3193 .ERROR IN G31 -> PARAMETER #3 < 0
N03194 M0 N3194 .ERROR IN G31 -> PARAMETER #4 < 0
N03195 M0 N3195 .ERROR IN G31 -> PARAMETER #5 < 0
N03196 M0 N3196 .ERROR IN G31 -> PARAMETER #4 > 80
.********* G70 ********
N07000 #23=#131 #24=#135
       IF(#2>ABS(#23)) N7010
       IF(#1>ABS(#24)) N7015
       IF(#1<0) N7020
       IF(#2<0) N7025
       IF(#23>0) #2=-#2
       IF(#24<0) #1=-#1
       G0 U#23
       G1 W(#24-#1)
          U-(#23+#2) W#1
          U#2
       G0 W-#24 M99
N07010 M0 N7010 .ERROR IN G70 -> PARAMETER #2 > Xrel
N07015 M0 N7015 .ERROR IN G70 -> PARAMETER #1 > Zrel
N07020 M0 N7020 .ERROR IN G70 -> PARAMETER #1 < 0
N07025 M0 N7025 .ERROR IN G70 -> PARAMETER #2 < 0
.********* G71 ********
N07100 #23=#131 #24=#135
       IF(#2>ABS(#24)) N7110
       IF(#1>ABS(#23)) N7115
       IF(#1<0) N7120
       IF(#2<0) N7125
       IF(#24>0) #2=-#2
       IF(#23<0) #1=-#1
       G0 W#24
       G1 U(#23-#1)
          U#1 W-(#24+#2)
          W#2
       G0 U-#23 M99
N07110 M0 N7110 .ERROR IN G71 -> PARAMETER #2 > Zrel
N07115 M0 N7115 .ERROR IN G71 -> PARAMETER #1 > Xrel
N07120 M0 N7120 .ERROR IN G71 -> PARAMETER #1 < 0
N07125 M0 N7125 .ERROR IN G71 -> PARAMETER #2 < 0
.********* G72 ********
N07200 #23=#131 #24=#135
.#20 - LAST DEPHT. #21 - CURRENT WORK DEPHT, #3 - DIRECTION
       IF(#1>ABS(#23)) N7210
       IF(#2>#1) N7215
       IF(#1<=0) N7220
       IF(#2<0) N7225
       #3=1 IF(#23<0) #3=-1
       #20=0 #21=#1 G1 U(#21*#3)  N7207
N07206 G0 U((#20-#2)*#3)
       G1 U((#21+#2)*#3)
N07207 G0 U-(#20=(#20+#21)*#3)
       IF(#22=(ABS(#23)-#20) > #1) N7206
       IF(#22) #21=#22 N7206
       G0 W#24 M99
N07210 M0 N7210 .ERROR IN G72 -> PARAMETER #1 > Xrel
N07215 M0 N7215 .ERROR IN G72 -> PARAMETER #1 > #2
N07220 M0 N7220 .ERROR IN G72 -> PARAMETER #1 <= 0
N07225 M0 N7225 .ERROR IN G72 -> PARAMETER #2 < 0
.********* G73 ********
N07300 #23=#135 #24=#131
.#20 - LAST DEPHT. #21 - CURRENT WORK DEPHT, #3 - DIRECTION
       IF(#1>ABS(#23)) N7310
       IF(#2>#1) N7315
       IF(#1<=0) N7320
       IF(#2<0) N7325
       #3=1 IF(#23<0) #3=-1
       #20=0 #21=#1 G1 W(#21*#3)  N7307
N07306 G0 W((#20-#2)*#3)
       G1 W((#21+#2)*#3)
N07307 G0 W-(#20=(#20+#21)*#3)
       IF(#22=(ABS(#23)-#20) > #1) N7306
       IF(#22) #21=#22 N7306
       G0 U#24 M99
N07310 M0 N7310 .ERROR IN G73 -> PARAMETER #1 > Zrel
N07315 M0 N7315 .ERROR IN G73 -> PARAMETER #1 > #2
N07320 M0 N7320 .ERROR IN G73 -> PARAMETER #1 <= 0
N07325 M0 N7325 .ERROR IN G73 -> PARAMETER #2 < 0
.********* G74 ********
N07400 #23=#131 #24=#135 #21=#1 #22=ABS(#23)
       IF(#1>ABS(#23)) N7410
       IF(#1<=0) N7415
       #3=1 IF(#23<0) #3=-1
N7401  N7407
N07406 #22=(#22-#21) G0 U(#21*#3)
N07407 G1 W#24
       G0 W-#24
       IF(#22 > #1) N7406
       IF(#22) #21=#22 N7406
       M99
N07410 M0 N7410 .ERROR IN G74 -> PARAMETER #1 > Xrel
N07415 M0 N7415 .ERROR IN G74 -> PARAMETER #1 <= 0
.********* G75 ********
N07500 #23=#135 #24=#131 #21=#1 #22=ABS(#23)
       IF(#1>ABS(#23)) N7510
       IF(#1<=0) N7515
       #3=1 IF(#23<0) #3=-1
N7501  N7507
N07506 #22=(#22-#21) G0 W(#21*#3)
N07507 G1 U#24
       G0 U-#24
       IF(#22 > #1) N7506
       IF(#22) #21=#22 N7506
       M99
N07510 M0 N7510 .ERROR IN G75 -> PARAMETER #1 > Zrel
N07515 M0 N7515 .ERROR IN G75 -> PARAMETER #1 <= 0
.********* G77 ********
N07700 #23=#131 #24=#135 #21=#1 #29=#139 #22=ABS(#23) #28=(#2/#22) #27=0
       IF(#1>ABS(#23)) N7710
       IF(#2>ABS(#24)) N7715
       IF(#1<=0) N7720
       IF(#2<0) N7725
       #4=1 IF(#23<0) #4=-1
       #5=#1 IF(#24<0) #28=(#28*-1) #5=-#1
       G0 U(#21*#4) N7707
N07706 U(#21*#4*2)
N07707 #27=(#27+#21) G1 W#25=(#24-#27*#28)
       G0 U-(#21*#4) W-#5
          W-(#25-#5)
       IF(#22=(#22-#21) > #1) N7706
          U((#21+#22)*#4) #27=(#27+#22)
       G1 W#25=(#24-#27*#28) F#3
          U-#23 W(#24-#25)
       G0 W-#24 F#29
       M99
N07710 M0 N7710 .ERROR IN G77 -> PARAMETER #1 > Xrel
N07715 M0 N7715 .ERROR IN G77 -> PARAMETER #2 > Zrel
N07720 M0 N7720 .ERROR IN G77 -> PARAMETER #1 <= 0
N07725 M0 N7725 .ERROR IN G77 -> PARAMETER #2 < 0
.********* G78 ********
N07800 #24=#131 #23=#135 #21=#1 #29=#139 #22=ABS(#23) #28=(#2/#22) #27=0
       IF(#1>ABS(#23)) N7810
       IF(#2>ABS(#24)) N7815
       IF(#1<=0) N7820
       IF(#2<0) N7825
       #4=1 IF(#23<0) #4=-1
       #5=#1 IF(#24<0) #28=(#28*-1) #5=-#1
       G0 W(#21*#4) N7807
N07806 W(#21*#4*2)
N07807 #27=(#27+#21) G1 U#25=(#24-#27*#28)
       G0 W-(#21*#4) U-#5
          U-(#25-#5)
       IF(#22=(#22-#21) > #1) N7806
          W((#21+#22)*#4) #27=(#27+#22)
       G1 U#25=(#24-#27*#28) F#3
          W-#23 U(#24-#25)
       G0 U-#24 F#29
       M99
N07810 M0 N7810 .ERROR IN G78 -> PARAMETER #1 > Xrel
N07815 M0 N7815 .ERROR IN G78 -> PARAMETER #2 > Zrel
N07820 M0 N7820 .ERROR IN G78 -> PARAMETER #1 <= 0
N07825 M0 N7825 .ERROR IN G78 -> PARAMETER #2 < 0
%
