O9511(外圆圆弧槽+U形槽成型粗车)
(G65P9511XZRUIK)(编程零点Z在左右对称中心)
(X=底径)(Z=槽宽)(R=半径)
(U=每刀切深直径值)
(I=启始直径)(K=2左右车)(K=/=2一刀车)
#14=#5001
#16=#5003
#15=#14
IF[[#26+#24]EQ0]GOTO30
IF[[#26+#18]EQ0]GOTO30
IF[[#18+#24]EQ0]GOTO30
IF[#24EQ#0]THEN#24=#14-[#18-SQRT[#18*#18-[#26/2]*[#26/2]]]*2
IF[#26EQ#0]THEN#26=SQRT[#18*#18-[#18-[#14-#24]/2]*[#18-[#14-#24]/2]]
IF[#18EQ#0]THEN#18=[[#26/2]*[#26/2]+[[#14-#24]/2]*[[#14-#24]/2]]/[2*[[#14-#24]/2]]
IF[#21EQ#0]GOTO30
F#9
IF[#4EQ#0]THEN#4=#14
WHILE[#4GT#24]DO1
#4=#4-#21
IF[#4LT#24]THEN#4=#24
#12=#4+#18*2
IF[#12LE#14]GOTO103
#10=#16+SQRT[#18*#18-[#18-[#14-#4]/2]*[#18-[#14-#4]/2]]
#11=#16-SQRT[#18*#18-[#18-[#14-#4]/2]*[#18-[#14-#4]/2]]
GOTO105
N103#10=#16+#18
#11=#16-#18
N105IF[#12LE#14]THEN#15=#12
G0G41Z#10
IF[#12GT#14]GOTO104
G1G42X#12
N104IF[#6EQ2]GOTO101
G2G42Z#11R#18
GOTO102
N101G2G42X#4Z#16R#18
#1=#15+5
G0G40X#1
X#15
G0G42Z#11
G3G41X#4Z#16R#18
G0G40X#1
X#15
N102END1
IF[#6EQ2]GOTO99
G0G41Z#16
N99G40U10
M99
N30G65H99P1(/外圆圆弧槽+U形槽成型粗车G65P9511XZRUIK)
O9502(外圆梯形槽纵向粗车)
(G65P9502 XZD CRQ UVW I)
(X=槽底径)(Z=终点)(D=槽底宽)
(C=刀尖角)(R=起点侧角度)(Q=终点侧角度)
(U=吃深直径)(V=小Z刀数)(W=小Z长)
(I=起始直径)
(可最简G65P9502XZDU)
(可最简G65P9002XZRU)
#14=#5001
#16=#5003
IF[#7EQ#0]THEN#7=ABS[#26-#16]-TAN[#18]*[#14-#24](无D则据R计算得出)
IF[#18EQ#0]THEN#18=ATAN[ABS[#26-#16]-#7]/[#14-#24](无R则据D计算得出)
IF[#17EQ#0]THEN#17=#18(如果无Q则Q=R)
IF[#16GT#26]THEN#18=-ABS[#18](从右向左R为负)
IF[#16GT#26]THEN#23=-ABS[#23](从右向左W为负)
IF[#16LT#26]THEN#17=-ABS[#17](从左向右Q为负)
IF[#16LT#26]THEN#3=-ABS[#3](从左向右C为负)
IF[#4EQ#0]THEN#4=#14
#1=#4(第一斜退点X)
#2=#26+TAN[#18]*[[#14-#1]/2](第一斜退点Z)
#10=#[2900+FIX[#4120/100]]*2
G40G0U#10F#9(为加刀尖补偿需退一点)
IF[#10EQ0]GOTO116
G42G1X#14Z#16
N116WHILE[#4GT#24]DO1
#4=#4-#21
IF[#4LT#24]THEN#4=#24
#11=#11+1(计算刀数)
IF[#22EQ#0]THEN#11=#0(如果没有W则刀数为空)
N11#28=#16+TAN[#18]*[[#14-#4]/2](Z起点)
N12#29=#26+TAN[#17]*[[#14-#4]/2](Z终点)
N13#30=#28+#23+TAN[#3/2]*[#21/2]*[#11-1]-TAN[#18]*[#21/2]*[#11-1](据第几小刀算小Z终点值)
IF[#16GT#26]GOTO114
IF[#30GT#29]THEN#11=#22(从左向右时小刀Z大于终点则等于终点)
GOTO113
N114IF[#30LT#29]THEN#11=#22(从右向左时小刀Z小于终点则等于终点)
N113IF[#4EQ#24]THEN#11=#22(如果X已到数则刀数也到数)
IF[#11LT#22]THEN#29=#30(如果在车小刀则终点Z#29变为Z#30)
G42G1X#4Z#28F#9(斜进)
Z#29(终点或小Z终点)
IF[#11LT#22]GOTO111(如果在车小刀则不斜退)
G1X#1Z#2(斜退)
N111IF[#11EQ#22]THEN#1=#4(如果小刀完成则记录本次斜退点X)
IF[#11EQ#22]THEN#2=#29(如果小刀完成则记录本次斜退点Z)
IF[#4LE#24]GOTO112(如果X已到数则跳出循环)
G41G0Z#28(回上一刀Z起点)
IF[#11LT#22]GOTO115(如果是小刀的结束就有下一段)
#28=#10+#4
G42X#28
IF[#10EQ0]GOTO115
G42G1X#4(回上一刀X起点)
N115IF[#11EQ#22]THEN#11=0(如果小刀完成则刀数还原为零)
END1
N112G0X#14
G40Z#16
M99
N30G65H99P1(/外圆梯形槽纵向粗车G65P9502 XZD CRQ UVW I)
O9513(外圆梯形+梯形底圆槽成型粗车)
(G65P9513 XZ WR U IK)(编程零点Z在左右对称中心)
(X=槽底径)(Z=槽宽)(W=槽底宽)(R=底R)
(U=吃深直径)(I=起始直径) (K=2左右车)(K=/=2一刀车)
(可最简G65P9513 XZ WU)
(可最简G65P9513 XZ RU)
(R与W不能同时出现)
(有W则为梯形槽)(有R则为梯形底圆槽)
#14=#5001
#16=#5003
#13=[#14-#24]/2(槽总深半径)
#12=#26/2(槽半宽)
#10 =90-[ATAN[#13-#18]/[#12]+ASIN[#18/[SQRT[[#13-#18]*[#13-#18]+#12*#12]]]](槽半角)
#8 =[#18-SIN[#10]*#18]*2(低R高直径)
F#9
IF[#4EQ#0]THEN#4=#14
WHILE[#4GT#24]DO1
#4=#4-#21
IF[#4LT#24]THEN#4=#24
IF[#23NE#0]GOTO112(有W则跳至梯形槽)
IF[[#14-#4]GT#8]GOTO111 (跳至V形槽一刀车)
#29=SQRT[#18*#18-[#18-[#14-#4]/2]*[#18-[#14-#4]/2]]
G0G41Z#29(圆弧槽一刀车)
IF[#6EQ2]GOTO101(跳至两半车)
G2G42Z-#29R#18
GOTO102(跳至循环结束)
N101G2G42X#4Z0R#18(两半车)
G0G40X#14
G0G42Z-#29
G3G41X#4Z0R#18
G0G40X#14
GOTO102(跳至循环结束)
N111(V形低圆槽一刀车)
#27=#4+#8(X)
#28=COS[#10]*#18(底R半弦长)
#29=TAN[#10]*[[#14-#27]/2]+#28(Z)
G0G41Z#29
G1G42X#27Z#28
IF[#6EQ2]GOTO103(跳至两半车)
G2G42Z-#28R#18
G1X#14Z-#29
GOTO102(跳至循环结束)
N103G2G42X#4Z0R#18(两半车)
G0G40X#14
G0G42Z-#29
G1G41X#27Z-#28R#18
G3X#4Z0R#18
G0G40X#14
GOTO102(跳至循环结束)
M0
N112(梯形槽一刀车)
#10=ATAN[[#26-#23]/2]/[[#14-#24]/2]
#28=#23/2(低宽一半)
#29=TAN[#10]*[[#14-#4]/2]+#28(Z)
G0G41Z#29
G1G42X#4Z#28R#18
IF[#6EQ2]GOTO104(跳至两半车)
Z-#28R#18
G1X#14Z-#29
GOTO102(跳至循环结束)
N104Z0(两半车)
G0G40X#14
G0G42Z-#29
G1G41X#4Z-#28R#18
Z0
G0G40X#14
N102END1(循环结束)
IF[#6EQ2]GOTO99
G0G41Z0
G40U10
N99M99
N30G65H99P1(/外圆梯形+梯形底圆槽成型粗车G65P9513 XZ WR U IK)
(G65P9511XZRUIK)(编程零点Z在左右对称中心)
(X=底径)(Z=槽宽)(R=半径)
(U=每刀切深直径值)
(I=启始直径)(K=2左右车)(K=/=2一刀车)
#14=#5001
#16=#5003
#15=#14
IF[[#26+#24]EQ0]GOTO30
IF[[#26+#18]EQ0]GOTO30
IF[[#18+#24]EQ0]GOTO30
IF[#24EQ#0]THEN#24=#14-[#18-SQRT[#18*#18-[#26/2]*[#26/2]]]*2
IF[#26EQ#0]THEN#26=SQRT[#18*#18-[#18-[#14-#24]/2]*[#18-[#14-#24]/2]]
IF[#18EQ#0]THEN#18=[[#26/2]*[#26/2]+[[#14-#24]/2]*[[#14-#24]/2]]/[2*[[#14-#24]/2]]
IF[#21EQ#0]GOTO30
F#9
IF[#4EQ#0]THEN#4=#14
WHILE[#4GT#24]DO1
#4=#4-#21
IF[#4LT#24]THEN#4=#24
#12=#4+#18*2
IF[#12LE#14]GOTO103
#10=#16+SQRT[#18*#18-[#18-[#14-#4]/2]*[#18-[#14-#4]/2]]
#11=#16-SQRT[#18*#18-[#18-[#14-#4]/2]*[#18-[#14-#4]/2]]
GOTO105
N103#10=#16+#18
#11=#16-#18
N105IF[#12LE#14]THEN#15=#12
G0G41Z#10
IF[#12GT#14]GOTO104
G1G42X#12
N104IF[#6EQ2]GOTO101
G2G42Z#11R#18
GOTO102
N101G2G42X#4Z#16R#18
#1=#15+5
G0G40X#1
X#15
G0G42Z#11
G3G41X#4Z#16R#18
G0G40X#1
X#15
N102END1
IF[#6EQ2]GOTO99
G0G41Z#16
N99G40U10
M99
N30G65H99P1(/外圆圆弧槽+U形槽成型粗车G65P9511XZRUIK)
O9502(外圆梯形槽纵向粗车)
(G65P9502 XZD CRQ UVW I)
(X=槽底径)(Z=终点)(D=槽底宽)
(C=刀尖角)(R=起点侧角度)(Q=终点侧角度)
(U=吃深直径)(V=小Z刀数)(W=小Z长)
(I=起始直径)
(可最简G65P9502XZDU)
(可最简G65P9002XZRU)
#14=#5001
#16=#5003
IF[#7EQ#0]THEN#7=ABS[#26-#16]-TAN[#18]*[#14-#24](无D则据R计算得出)
IF[#18EQ#0]THEN#18=ATAN[ABS[#26-#16]-#7]/[#14-#24](无R则据D计算得出)
IF[#17EQ#0]THEN#17=#18(如果无Q则Q=R)
IF[#16GT#26]THEN#18=-ABS[#18](从右向左R为负)
IF[#16GT#26]THEN#23=-ABS[#23](从右向左W为负)
IF[#16LT#26]THEN#17=-ABS[#17](从左向右Q为负)
IF[#16LT#26]THEN#3=-ABS[#3](从左向右C为负)
IF[#4EQ#0]THEN#4=#14
#1=#4(第一斜退点X)
#2=#26+TAN[#18]*[[#14-#1]/2](第一斜退点Z)
#10=#[2900+FIX[#4120/100]]*2
G40G0U#10F#9(为加刀尖补偿需退一点)
IF[#10EQ0]GOTO116
G42G1X#14Z#16
N116WHILE[#4GT#24]DO1
#4=#4-#21
IF[#4LT#24]THEN#4=#24
#11=#11+1(计算刀数)
IF[#22EQ#0]THEN#11=#0(如果没有W则刀数为空)
N11#28=#16+TAN[#18]*[[#14-#4]/2](Z起点)
N12#29=#26+TAN[#17]*[[#14-#4]/2](Z终点)
N13#30=#28+#23+TAN[#3/2]*[#21/2]*[#11-1]-TAN[#18]*[#21/2]*[#11-1](据第几小刀算小Z终点值)
IF[#16GT#26]GOTO114
IF[#30GT#29]THEN#11=#22(从左向右时小刀Z大于终点则等于终点)
GOTO113
N114IF[#30LT#29]THEN#11=#22(从右向左时小刀Z小于终点则等于终点)
N113IF[#4EQ#24]THEN#11=#22(如果X已到数则刀数也到数)
IF[#11LT#22]THEN#29=#30(如果在车小刀则终点Z#29变为Z#30)
G42G1X#4Z#28F#9(斜进)
Z#29(终点或小Z终点)
IF[#11LT#22]GOTO111(如果在车小刀则不斜退)
G1X#1Z#2(斜退)
N111IF[#11EQ#22]THEN#1=#4(如果小刀完成则记录本次斜退点X)
IF[#11EQ#22]THEN#2=#29(如果小刀完成则记录本次斜退点Z)
IF[#4LE#24]GOTO112(如果X已到数则跳出循环)
G41G0Z#28(回上一刀Z起点)
IF[#11LT#22]GOTO115(如果是小刀的结束就有下一段)
#28=#10+#4
G42X#28
IF[#10EQ0]GOTO115
G42G1X#4(回上一刀X起点)
N115IF[#11EQ#22]THEN#11=0(如果小刀完成则刀数还原为零)
END1
N112G0X#14
G40Z#16
M99
N30G65H99P1(/外圆梯形槽纵向粗车G65P9502 XZD CRQ UVW I)
O9513(外圆梯形+梯形底圆槽成型粗车)
(G65P9513 XZ WR U IK)(编程零点Z在左右对称中心)
(X=槽底径)(Z=槽宽)(W=槽底宽)(R=底R)
(U=吃深直径)(I=起始直径) (K=2左右车)(K=/=2一刀车)
(可最简G65P9513 XZ WU)
(可最简G65P9513 XZ RU)
(R与W不能同时出现)
(有W则为梯形槽)(有R则为梯形底圆槽)
#14=#5001
#16=#5003
#13=[#14-#24]/2(槽总深半径)
#12=#26/2(槽半宽)
#10 =90-[ATAN[#13-#18]/[#12]+ASIN[#18/[SQRT[[#13-#18]*[#13-#18]+#12*#12]]]](槽半角)
#8 =[#18-SIN[#10]*#18]*2(低R高直径)
F#9
IF[#4EQ#0]THEN#4=#14
WHILE[#4GT#24]DO1
#4=#4-#21
IF[#4LT#24]THEN#4=#24
IF[#23NE#0]GOTO112(有W则跳至梯形槽)
IF[[#14-#4]GT#8]GOTO111 (跳至V形槽一刀车)
#29=SQRT[#18*#18-[#18-[#14-#4]/2]*[#18-[#14-#4]/2]]
G0G41Z#29(圆弧槽一刀车)
IF[#6EQ2]GOTO101(跳至两半车)
G2G42Z-#29R#18
GOTO102(跳至循环结束)
N101G2G42X#4Z0R#18(两半车)
G0G40X#14
G0G42Z-#29
G3G41X#4Z0R#18
G0G40X#14
GOTO102(跳至循环结束)
N111(V形低圆槽一刀车)
#27=#4+#8(X)
#28=COS[#10]*#18(底R半弦长)
#29=TAN[#10]*[[#14-#27]/2]+#28(Z)
G0G41Z#29
G1G42X#27Z#28
IF[#6EQ2]GOTO103(跳至两半车)
G2G42Z-#28R#18
G1X#14Z-#29
GOTO102(跳至循环结束)
N103G2G42X#4Z0R#18(两半车)
G0G40X#14
G0G42Z-#29
G1G41X#27Z-#28R#18
G3X#4Z0R#18
G0G40X#14
GOTO102(跳至循环结束)
M0
N112(梯形槽一刀车)
#10=ATAN[[#26-#23]/2]/[[#14-#24]/2]
#28=#23/2(低宽一半)
#29=TAN[#10]*[[#14-#4]/2]+#28(Z)
G0G41Z#29
G1G42X#4Z#28R#18
IF[#6EQ2]GOTO104(跳至两半车)
Z-#28R#18
G1X#14Z-#29
GOTO102(跳至循环结束)
N104Z0(两半车)
G0G40X#14
G0G42Z-#29
G1G41X#4Z-#28R#18
Z0
G0G40X#14
N102END1(循环结束)
IF[#6EQ2]GOTO99
G0G41Z0
G40U10
N99M99
N30G65H99P1(/外圆梯形+梯形底圆槽成型粗车G65P9513 XZ WR U IK)