這是我寫的這個圖的宏程序,妳可以套用,FANUC的
#100=100(毛坯外徑);
#101=6(z起刀點);
#102=100(錐度大端直經);
#103=50(錐體長度);
#104=1.25(錐度比,1:6這個值就是6,妳的這個計算下來是1:1.25);
#105=2(精加工量);
#106=10(粗加工吃刀量);
#107=100(倒角,如果妳的沒有倒角就寫毛坯外徑)
#130=#100
#118=#102-#103/#104 小端直徑 ?
#119=#118-#101/#104 小端延長線直徑?
#120=#130-#118 ?總余量
IF[#120GT#105]GOTO8 當總余量大於精加工量跳到N8
IF[#120LE0]GOTO完 ? 當總余量小於等於0量跳到完
#114=0 ?
#115=#102 大端直徑用於計算
#116=#100+2 ?外徑加2
#117=#107 倒角用於計算
#123=#103 -z用於計算
#124=#119 小端直徑用於計算
#126=[#116-#107]/2 倒角Z值
GOTO2
N8 #120=[#130-#118-#105]/#106 切削次數
#121=FIX[#120] ? 下取整切削次數化為整數
#122=[#120-#121]#106+#100-#130 第壹刀不足10個時的的吃刀量
IF[#122GT3] GOTO4 當第壹刀吃刀量大於3時跳到N4
#122=#122+#106 當第壹刀吃刀量小於3時吃刀量加#106
GOTO3
N4 ?#121=#121+1 總切削次數
N3 ?#123=#122*#104 ? -Z
#124=#100-#122-#101/#104 小端X ?
#115=#100 ?
N2 WHILE[#124GT#119]DO1 ?
IF[#123LE#103]GOTO1 ?如果-Z≤z總長跳到 N1
#115=#124+[#101+#103]/#104 ?如果-Z>z總長計算此時大端X
#123=#103-#114 如果-Z>z總長計算此時Z值
N1 ? G00Z#101 Z定位
X#124 X定位
G01X#115Z-#123F0.5 走錐度
IF[#115LE#107]GOTO5 ? 如果大端X≤倒角X跳到 N5
#126=[#100-#115]/2 ? 如果大端X>倒角X計算此時倒角Z值#117=#115
#116=#100
N5 IF[#127GE#113]GOTO6
IF[#115GE#107]GOTO6 ? 如果大端X≥倒角X跳到 N6
#117=#115
#116=#115
#126=0
N6 G01X#117F0.3
G01X#116W-126F0.3
G00Z#101
#124=#124-#106
#123=#123+#104#106
#127=#127+1 ? 切削次數計數
IF[#127NE#113]GOTO7
#117=#107
#116=#107
N7 IF[#127NE#121]GOTO2
#116=#100+2
#117=#107
#124=#118-#101/#104
#126=[#116-#107]/2
END1
G00X200
M30