老師傅不願告訴的數控編程絕招,利用橢圓公式來編寫橢圓程序

分別用字母 a、b 表示。那麼什麼是長半軸,什麼是短半軸呢?我們看圖說明:

老師傅不願告訴的數控編程絕招,利用橢圓公式來編寫橢圓程序

如圖,所謂長半軸,我們可以通俗的理解為:橢圓圓心點0,到右邊點A的直線距離叫長半軸!短半軸就是圓心點O到達B點的垂直距離。

前面也說過,a 表示長半軸,b 表示短半軸。如果a = 10,b = 5 那麼說明這個橢圓的長半軸是10,短半軸是5 那麼我們就可以列出橢圓標準方程:

老師傅不願告訴的數控編程絕招,利用橢圓公式來編寫橢圓程序

其中Z和X 表示橢圓曲面上某個點的Z和X座標值(如果是加工中心,在XY平面 Z就需要變換為Y)

老師傅不願告訴的數控編程絕招,利用橢圓公式來編寫橢圓程序

上面方程式並不是加工時所需要的,我們希望得到的是X= 或者Z=…

所以需要換算方程式:

老師傅不願告訴的數控編程絕招,利用橢圓公式來編寫橢圓程序

如果知道Z值,那麼X值也可以根據橢圓公式算出來,同理,知道X值Z值也可以算出來。

注意:這裡的Z和X,他們的取值範圍最大分別是他們的長短半軸的值。我們這裡a=10,b=5 所以這裡Z和X取值最大分別是10和5 如果取值超出這個範圍,那麼系統會報錯,因為這個方程不成立!

好了我們開始編寫宏程序(如下圖:)

老師傅不願告訴的數控編程絕招,利用橢圓公式來編寫橢圓程序

首先這個零件我們加工順序是從右向左,那麼刀具當是從零件右端面起切,至最左端結束(這裡不考慮裝夾)。

(只寫精加工)!

T0101

S500M03

G0X0Z2

G01Z0F150

#1=10

我們以橢圓長半軸為自變量。這個值有正負之分。取決於需要加工的部分是在橢圓中心點的哪邊。這裡取10,是因為圖中橢圓要從最右端加工,而最右端的座標值相對於橢圓中心是10。因此長半軸、短半軸的取值不是由編程原點決定,而是根據橢圓中心決定的,需格外注意!)

WHILE [#1 GE 0] DO1

這句話的意思是:如果#1的值大於等於0,那麼就一直執行DO1、END1裡的程序段,直到不符合條件!

#2=5×SQRT[1-#1*#1/100]

此程#2表示橢圓短半軸,跟著長半軸變化而變化。其實這一步就是我們上面化簡的方程,只不過用了宏代碼格式表達而已。備註:SQRT在宏程序中是開平方根的意思。

G01X[#2*2] Z[#1-10]

這裡是重點!我認為這是宏程序的核心!這一步直接關係到程序的正確與否!首先說明為什麼#2要乘以2。因為這裡的#2表示短半軸,可以理解為零件X方向單邊值。那麼在實際零件裡,是雙邊的值才對,所以要乘以2

重點是Z值!我們先想想,做這個零件,刀具肯定是從右向左加工的。也就是說Z值是從“0到-1再到-2一直到-10”的順序變化的。

如果這個Z段改為”Z#1”那麼會怎麼樣? 我們發現他的第一刀在Z10處,因為#1=10而我們加工時第一刀應該在Z0!如果#1一直減小那麼Z加工方向是對了,但值卻不對。他是從10一直加工到0。加工完我們就會發現根本沒做零件,走了空刀而已!那我們需要的是從0加工到-10。

所以重點是怎麼樣才能把他的第一刀定位在Z0!其實很簡單,我們給他點“障礙”,在#1後面減去10。那麼第一刀就會在Z0了。因為10-10=0

好,我們看看對不對。

第一刀Z0

第二刀Z-1(這裡假設#1每次運算後,減1)

第三刀Z-2我們就發現Z值和他的方向都是對的!總而言之Z向的第一刀在你選擇加工的初始點上就可以了!如果把零件原點和橢圓中心原點設置在一起。那麼Z段程序就應該是“Z#1.這裡面的奧妙自己摸索,已經講的詳細了。

#1=#1-1 //這程序段意思是#1每經過一次運算後遞減1。(一般遞減值不會這麼大,越小加工出來的曲面就會越光滑。0.1就可以了。只是這裡取1是為配合上面的講解)

END1

G0X50.

Z100.

M30

好了精加工程序已經寫完,我把上面程序合併剪貼仿真如下:

老師傅不願告訴的數控編程絕招,利用橢圓公式來編寫橢圓程序

老師傅不願告訴的數控編程絕招,利用橢圓公式來編寫橢圓程序

好了,後面會不斷的補充基礎知識,希望對剛剛入門的兄弟們有所幫助!

希望這樣的知識能夠幫助更多需要的人,也希望大家幫忙轉發!!!

學好數控編程,關注鄒軍愛數控


分享到:


相關文章: