如果看了前幾篇,那么接下來這兩篇加工橢圓的宏程序應該很容易理解。
橢圓標準方程X*X/a*a+Y*Y/b*b=1,其中a為長半軸,b為短半軸,若將X和Y用參數變量代替可改寫為#1*#1/a*a+#2*#2/b*b=1
橢圓可沿長半軸#1方向劃分成無數小段直線,然后求出其相應端點坐標,再求出相對的數控車床中的坐標,再按直線進行編程加工。如下圖所示:
假設橢圓a=30,b=20,只加工半個橢圓,則此段橢圓精加工軌跡為:
G0X0
G1Z0F0.1
#1=30
N10 #2=20*SQRT[1-30*30/#1*#1] SQRT表示開平方
#3=#1-30 橢圓的原點在工件坐標左側30,所以橢圓上所有點坐標Z要減20
#4=2*#2 方程計算出的為半徑值,需轉化為直徑值才能按直徑編程。
G1X[#4]Z[#3]F0.1 沿小段直線插補加工
#1=#1-1 遞減一小段距離,此值越小,橢圓越光滑。
IF [#1GE0] GOTO 10 條件判斷是否到達終點。
G1X42 直線切出外圓
如果要再加上分層的粗加工,設偏移量為#5,則程序改為
T0101
M3S800
G0X42Z5
#5=36
N5 G0X[#5]
G1Z0F0.1
#1=30
N10 #2=20*SQRT[1-30*30/#1*#1] SQRT表示開平方
#3=#1-30 橢圓的原點在工件坐標左側30,所以橢圓上所有點坐標Z要減20
#4=2*#2 方程計算出的為半徑值,需轉化為直徑值才能按直徑編程。
G1X[#4]Z[#3]F0.1 沿小段直線插補加工
#1=#1-1 遞減一小段距離,此值越小,橢圓越光滑。
IF [#1GE0] GOTO 10 條件判斷是否到達終點。
G1X42 直線插補切出外圓
G0Z5
#5=#5-4
IF [#5 GE 0] GOTO 5
G0X150Z150
M5
M30
以上程序分內外二層循環,外層循環為分層加工,內層循環為小段直線插補一條四分之一橢圓弧。