1系統(tǒng)結(jié)構(gòu)
系統(tǒng)由圖形輸入、工藝處理、刀位軌跡計(jì)算及生成(即數(shù)學(xué)處理階段)、加工模擬、后置處理、NC程序代碼輸出等6大模塊組成。
各模塊功能如下:圖形輸入模塊利用A utoCAD軟件本身提供的繪圖功能,完成圖形的幾何造型、編輯、修改等功能。
工藝處理模塊選擇刀具,確定主軸轉(zhuǎn)速、進(jìn)給速度等。
刀位軌跡計(jì)算及生成模塊在CAD環(huán)境下用光標(biāo)選擇相應(yīng)的目標(biāo)圖形,系統(tǒng)將自動(dòng)從圖形文件中提取編程所需的信息,計(jì)算節(jié)點(diǎn)數(shù)據(jù),并將其轉(zhuǎn)化為刀位數(shù)據(jù),存入刀位文件中。
后置處理模塊設(shè)置一后置處理文件,并對(duì)其進(jìn)行編輯,按文件規(guī)定的格式,定義數(shù)控加工指令文件所使用的代碼、文件格式等內(nèi)容。軟件在執(zhí)行后置處理時(shí),將自動(dòng)按文件的要求生成所需的加工指令文件。
加工模擬模塊選擇所畫的圖形,執(zhí)行模擬加工命令,在屏幕上可以看到加工過程走刀軌跡,即實(shí)現(xiàn)加工的仿真。
NC代碼輸出模塊將后置處理生成的加工指令文件直接或間接輸?shù)綌?shù)控機(jī)床即可使用。
2原理及實(shí)現(xiàn)過程
對(duì)數(shù)控自動(dòng)編程來說,主要的環(huán)節(jié)就是從CAD圖形中提取加工軌跡所需要的幾何信息,并對(duì)幾何信息進(jìn)行整理和路徑優(yōu)化,得到合理的加工路徑,*后再得到加工程序。
2. 1獲取圖形實(shí)體幾何信息
目前在AutoCAD上,要獲得圖形實(shí)體的幾何信息坐標(biāo)有3種方式:( 1)對(duì)比較復(fù)雜的圖形,通過DXF文件獲得。
?。?2)對(duì)簡(jiǎn)單的圖形,將圖形轉(zhuǎn)化為PL INE,然后獲得PLINE實(shí)體的幾何信息。
?。?3)采用交互方式,通過選擇實(shí)體來獲得單個(gè)實(shí)體的幾何信息,這種方式適用于一般情況下的任何圖形。本文采用第3種方式。具體原理如下:一般情況下, A utoCAD圖形經(jīng)過碎解之后,*終都是直線或者圓弧,因此,程序中所要處理的圖形實(shí)體就是直線和圓弧。直線的幾何信息是起點(diǎn)和終點(diǎn)坐標(biāo),圓弧的幾何信息是起點(diǎn)、終點(diǎn)、半徑和圓心坐標(biāo)。
當(dāng)用戶選擇一實(shí)體時(shí),被選擇實(shí)體將變成虛線,增強(qiáng)用戶的視覺感覺,同時(shí)實(shí)體將加入到實(shí)體選擇集當(dāng)中去。所有的實(shí)體全部選擇完畢之后, AutoCAD將實(shí)體選擇集當(dāng)中的實(shí)體改變顏色。下面是具體的實(shí)現(xiàn)過程:建立實(shí)體選擇集運(yùn)用ARX庫中的一些函數(shù),如函數(shù)主要用于創(chuàng)建實(shí)體選擇集, acedSSFree函數(shù)用于釋放實(shí)體選擇集,以建立實(shí)體選擇集。
選擇實(shí)體運(yùn)用acedNEntSelp使被選中的實(shí)體變成虛線,與未被選中的實(shí)體區(qū)別開來,同時(shí)將圖形實(shí)體的坐標(biāo)保存下來。
獲得幾何信息結(jié)果緩沖器( structresbuf)是ARX支撐環(huán)境的核心概念之一。一個(gè)結(jié)果緩沖器被用來代表A utoCAD的實(shí)體和各種表的數(shù)據(jù)信息。實(shí)際應(yīng)用中首先訪問resbuf結(jié)構(gòu)中的restype成員,根據(jù)restype的值來判斷實(shí)體的類型,然后獲得實(shí)體幾何信息,如坐標(biāo)、半徑等。
圖形重繪將經(jīng)過選擇后顯示為虛線的實(shí)體重繪,使其改變顏色,讓用戶可以直觀地判斷所選擇的圖形輪廓是否正確。
2. 2圖形數(shù)據(jù)處理
由于所有的圖形都是由直線和圓弧組成,在存儲(chǔ)這些元素時(shí),我們只要對(duì)直線或者圓弧進(jìn)行處理。先從實(shí)體選擇集中判斷實(shí)體為直線還是圓弧,然后對(duì)直線或圓弧分別進(jìn)行處理,求出每條直線或圓弧的等距線,再對(duì)等距線進(jìn)行自交、互交處理,*后求得刀具的軌跡,并以刀位文件的方式保存。
2. 3生成數(shù)控加工指令
筆者采用的是美國(guó)中寶倫公司的數(shù)控系統(tǒng),其數(shù)控代碼的格式和國(guó)際數(shù)控標(biāo)準(zhǔn)中推薦的G, M, T, X, Y,Z等指令不相同,有自己的一套數(shù)控代碼編程方式來描述機(jī)床的運(yùn)動(dòng)參數(shù)以及加工工藝參數(shù)。比如:加速度AC、減速度DC、速度SP、急停AB、直線命令L I等命令。
系統(tǒng)生成的刀位軌跡是由直線和圓弧組成的。加工軌跡生成以后,根據(jù)實(shí)體分解后所得數(shù)據(jù)可以很容易地生成數(shù)控加工指令,由strcat函數(shù)把一條數(shù)控指令中的各部分連成串號(hào)送給文件變量名,再將該文件變量中的內(nèi)容寫入用戶指定的磁盤文件中,生成一條,寫入一條。所有圖素的加工指令均產(chǎn)生以后,用close函數(shù)將文件關(guān)閉。
關(guān)于數(shù)控加工工藝參數(shù)的設(shè)置是由用戶通過交互式的方式來完成的。其交互界面是由M FC和ObjectARX混合編程實(shí)現(xiàn)所示。加工工藝參數(shù)主要有兩大類:刀具參數(shù)和加工進(jìn)給速度。例如, H為刀具高度, L為刀具長(zhǎng)度, R 1、R 2為刀具半徑, D C J1、D C J2為刀具的偏轉(zhuǎn)角度。
2. 4 NC程序代碼編輯
該模塊對(duì)自動(dòng)生成的NC文件進(jìn)行檢查與修改,也可以手工輸入編程。
2. 5加工軌跡模擬
模擬加工軌跡有兩種途徑:一種是通過NC代碼模擬;另一種是通過刀位文件模擬。**種方法的優(yōu)點(diǎn)是可以發(fā)現(xiàn)NC代碼中的錯(cuò)誤,在未進(jìn)入數(shù)控機(jī)床操作階段消滅錯(cuò)誤,及時(shí)更正。但這種方法需要一個(gè)單獨(dú)的NC代碼通用翻譯模塊,加大了應(yīng)用程序的復(fù)雜程度。第二種方法則比較方便,因?yàn)榈段粩?shù)據(jù)文件中的坐標(biāo)可以直接為AutoCAD所利用,可以在屏幕上直接顯示軌跡,但是無法檢驗(yàn)NC代碼中的錯(cuò)誤。本系統(tǒng)采用第二種方式進(jìn)行模擬,將刀位文件讀入,根據(jù)用戶要求采用單步模擬或者連續(xù)模擬,直到全部模擬完畢。
然后比較新生成的圖形與零件圖是否吻合,以確定加工軌跡是否正確。如果不滿意,可利用編輯模塊修改,重新生成NC程序。
3系統(tǒng)應(yīng)用實(shí)例
該零件的加工程序?yàn)橄却旨庸ぃ却?s后再精加工。加工模擬的刀具軌跡如所示。圖中左邊的粗加工刀具路徑為系統(tǒng)自動(dòng)生成,右邊的精加工軌跡則通過提取工件輪廓得到。
4結(jié)束語
通過對(duì)AutoCAD的二次開發(fā),實(shí)現(xiàn)了在AutoCAD環(huán)境下的圖形數(shù)控加工自動(dòng)編程,解決了手工編程效率低的問題。同時(shí),對(duì)刀具加工過程的模擬,大大提高了加工的可靠性,減少了實(shí)際加工中由于過切、干涉等問題帶來的錯(cuò)誤,經(jīng)實(shí)踐證明該方法切實(shí)可行。該系統(tǒng)已經(jīng)在浙江嘉興某公司投入生產(chǎn)使用,產(chǎn)生了不錯(cuò)的經(jīng)濟(jì)效益。