基于ObjectARX的虛擬車銑加工三維仿真設(shè)計(jì)
以AutoCAD為開發(fā)平臺(tái),利用ObjectARX開發(fā)工具,在Visual C++ dotNET環(huán)境中進(jìn)行車銑加工三維仿真設(shè)計(jì)的開發(fā)。實(shí)現(xiàn)虛擬刀具和待加工零件的參數(shù)化建模、切削過程控制以及刀具和零件的運(yùn)動(dòng)控制等功能。
1 刀具和工件的建模
在AutoCAD中,圖形實(shí)體數(shù)據(jù)都是按照一定的格式存放的,ObjeetARX提供了AutoCAD最底層實(shí)體數(shù)據(jù)庫的操作。在作者所設(shè)計(jì)的仿真環(huán)境中從最基本的拉伸和旋轉(zhuǎn)生成實(shí)體出發(fā)構(gòu)建出虛擬刀具和待加工零件。
1.1 虛擬車刀和銑刀的構(gòu)建
創(chuàng)建虛擬車刀的基本過程為:(1)定義車刀參數(shù)(刀厚、刀長、刀尖角度和刀體傾角等);(2)由刀具輪廓特征點(diǎn)生成AutoCAD中三維多義線對(duì)象(AcDb3dPolylined),并根據(jù)刀體厚度和傾斜角度確定拉伸路徑;(3)由特征點(diǎn)組成的多義線對(duì)象構(gòu)造面域(AcDbRegion);(4)將面域按照既定的拉伸路徑拉伸(AcDb3dSolid::extmdeAlongPath)出刀體對(duì)象(AcDbObjectld);(5)將生成實(shí)體寫入到AutoCAD實(shí)體數(shù)據(jù)庫(AcDbBlockTableRecord::appendAcDbEntity)。
構(gòu)建虛擬銑刀的過程和虛擬車刀類似,也是通過銑刀特征點(diǎn)構(gòu)造面域,結(jié)合旋轉(zhuǎn)(AcDb3dSolid::revolve)或者上述的拉伸生成實(shí)體。
1.2 待加工零件的構(gòu)建
待加工零件可能具有較復(fù)雜的形狀,AutoCAD提供了手動(dòng)建模的各種方法,但對(duì)于一些形狀特征相對(duì)固定,設(shè)計(jì)思路較成熟的零件如果能采用參數(shù)化的設(shè)計(jì),操作人員只需要輸入零件的各個(gè)特征參數(shù)即可自動(dòng)建模,可以大大地降低零件設(shè)計(jì)過程以及簡化加工仿真的前期準(zhǔn)備工作,在實(shí)際設(shè)計(jì)中通過編制程序,實(shí)現(xiàn)了零件的參數(shù)化建模,通過彈出參數(shù)設(shè)置對(duì)話框進(jìn)行設(shè)計(jì)。如圖1所示是通過設(shè)置零件參數(shù)后,由計(jì)算機(jī)自動(dòng)建模生成的待加工零件的旋轉(zhuǎn)剖面圖。
圖1 待加工零件旋轉(zhuǎn)剖面圖
2 刀具和工件的運(yùn)動(dòng)控制
(1)切削加工運(yùn)動(dòng)的實(shí)現(xiàn)
要實(shí)現(xiàn)虛擬切加工,必須控制好刀具與工件之間的相對(duì)運(yùn)動(dòng),在AutoCAD中實(shí)體的運(yùn)動(dòng)是通過旋轉(zhuǎn)和平移變換來實(shí)現(xiàn)的,以螺紋車削加工為例,刀具相對(duì)于工件的運(yùn)動(dòng)為空間螺旋線,可以通過平移和旋轉(zhuǎn)變換相結(jié)合進(jìn)行。
設(shè)工件軸線為x軸,旋轉(zhuǎn)變換為
在AutoCAD中可調(diào)用三維實(shí)體函數(shù)AcDb3dSolid::tramformBy來實(shí)現(xiàn)上面2種變換。相對(duì)運(yùn)動(dòng)的控制需結(jié)合具體要求進(jìn)行程序設(shè)計(jì),比如平面銑削加工的插補(bǔ)運(yùn)算,可以模擬X、Y兩個(gè)方向步進(jìn)電機(jī)的運(yùn)動(dòng)來實(shí)現(xiàn)控制,多軸聯(lián)動(dòng)的數(shù)控加工所對(duì)應(yīng)的相對(duì)運(yùn)動(dòng),在AutoCAD中也能通過這種方法來實(shí)現(xiàn)。
圖2是對(duì)1.2所述的支撐銷進(jìn)行螺紋切削的加工過程示意,圖中顯示了在車削螺紋的時(shí)候刀具相對(duì)于工件的運(yùn)動(dòng)過程。
圖2 虛擬車刀切削加工刀具運(yùn)動(dòng)過程示意
(2)刀具的偏置
在虛擬銑削加工中,刀具中心始終與實(shí)體輪廓保持一定的距離(刀具半徑值),因此刀具中心軌跡實(shí)際上可以由實(shí)體輪廓偏置產(chǎn)生,即把實(shí)體輪廓按照一定的方向偏置一定的距離。AutoCAD提供了較好的實(shí)體偏置功能,它以原始曲線為基準(zhǔn),按需要的方向生成等距曲線,并進(jìn)行了適當(dāng)?shù)母缮嫣幚?。AutoCAD要完成實(shí)體偏置功能需要輸入:操作對(duì)象實(shí)體、偏置距離、偏置方向(刀具偏置和銑削加工時(shí)加工對(duì)象是凹島還是凸島有關(guān))。需要進(jìn)行輪廓偏置的實(shí)體包括銑削島、槽和倒角等,這些實(shí)體可以通過系統(tǒng)自動(dòng)選擇,偏置距離一般在選擇加工刀具時(shí)進(jìn)行確定,可以設(shè)置為自動(dòng)和手動(dòng)2種。
(3)走刀軌跡的規(guī)劃
合理制定加工路線有利于提高加工效率。以銑削加工為例,一般有行切或環(huán)切2種加工方式。行切法走刀路線是一組平行線,按走刀方式的不同可以劃分為雙向走刀及單向走刀。雙向走刀相對(duì)加工效率較高,空行程較少,但是在加工過程中將交替出現(xiàn)順銑、逆銑,兩者切削效果不同,影響加工表面的質(zhì)量和切削力的大小。單向走刀時(shí)刀具始終只沿一個(gè)方向走刀,在一個(gè)單向行程結(jié)束后,將刀具抬到一定的安全高度并快速返回到下一加工行程的起點(diǎn),然后進(jìn)行下一個(gè)單向行程,循環(huán)進(jìn)行。該方式優(yōu)點(diǎn)是刀具可保持相同的切削狀態(tài)進(jìn)行加工。行切比較適合簡單輪廓形狀加工的情況,而且有利于采用大直徑刀具進(jìn)行加工。環(huán)切走刀路徑實(shí)際上都是由輪廓偏置產(chǎn)生的,環(huán)切法加工可使加工狀態(tài)保持一致,同時(shí)能保證外輪廓的加工精度,但環(huán)切法刀位計(jì)算比較復(fù)雜。 #p#page_title#e#
兼顧加工效率與加工質(zhì)量,在銑削仿真加工設(shè)計(jì)中采用行切和環(huán)切2種走刀路線,先采用行切加工去掉大量的余料,再視具體情況使用一次或一次以上的環(huán)切加工來切削輪廓附近的欠切區(qū)域。
3 切削加工過程的實(shí)現(xiàn)
AutoCAD提供了實(shí)體之間的“并、交、差”布爾運(yùn)算,刀具與工件之間的加工過程可以用實(shí)時(shí)的布爾“差”運(yùn)算來實(shí)現(xiàn),刀具與工件每發(fā)生一次相對(duì)運(yùn)動(dòng)就進(jìn)行一次布爾運(yùn)算,將工件中被刀具“切削”掉的部分通過“差”運(yùn)算去除掉,刀具在運(yùn)動(dòng)過程中所形成的包絡(luò)曲面決定了被加工工件的形狀。在AutoCAD中可調(diào)用三維實(shí)體函數(shù)AcDb3dSolid::booleanOper來實(shí)現(xiàn),如圖3所示,表示了刀具運(yùn)動(dòng)中生成的刀具掃描體對(duì)工件進(jìn)行切削的過程。
圖4所示是在AutoCAD 2007中,調(diào)用作者所開發(fā)的程序進(jìn)行某棒料螺紋車削加工的運(yùn)動(dòng)過程(三維實(shí)體顯示模式),圖5是進(jìn)行銑削加工仿真過程(線框顯示模式)
圖3 刀具與工件的布爾運(yùn)算
圖4 車削螺紋加工過程仿真(實(shí)體模式)
圖5 銑刀銑削過程仿真(線框模式)
4 加工仿真軟件設(shè)計(jì)的思路
加工仿真設(shè)計(jì)作為一個(gè)服務(wù)于工程實(shí)際應(yīng)用的軟件,為了保證系統(tǒng)能夠?yàn)閺V大用戶所接受,在作者設(shè)計(jì)的仿真加工軟件中考慮到以下設(shè)計(jì)原則:(1)面向應(yīng)用,系統(tǒng)及模塊的功能設(shè)計(jì),緊緊圍繞工程設(shè)計(jì)中急需解決的問題,如:設(shè)計(jì)開銷、計(jì)算速度等。(2)面向用戶,用戶界面的設(shè)計(jì)應(yīng)該符合設(shè)計(jì)人員的習(xí)慣,使得工程人員經(jīng)過簡單的培訓(xùn)就可以直接使用系統(tǒng)完成相關(guān)工作。(3)增強(qiáng)可靠性,過程的邏輯清楚簡明。通過把任意一個(gè)處理過程分解為一些模塊的集合,避免了不必要的復(fù)雜性,其中每個(gè)模塊都足夠簡單,所以整個(gè)系統(tǒng)從整體上易把握,利于修改、分析和理解。
5 結(jié)語
通過ObjectARX在Visual C++dotNet開發(fā)環(huán)境中實(shí)際開發(fā)的加工仿真軟件,經(jīng)過測試能在AutoCAD2007中實(shí)現(xiàn)零件和刀具的參數(shù)化建模、通過控制刀具和待加工零件之間的相對(duì)運(yùn)動(dòng)實(shí)現(xiàn)虛擬切削加工的動(dòng)態(tài)三維仿真,從用戶操作界面到AutoCAD中每一個(gè)實(shí)體的特征均能進(jìn)行較底層的定制,并可以進(jìn)一步結(jié)合Windows平臺(tái)實(shí)現(xiàn)網(wǎng)絡(luò)化開發(fā)和對(duì)應(yīng)加工數(shù)據(jù)的數(shù)據(jù)庫開發(fā),可以應(yīng)用于加工仿真的生產(chǎn)實(shí)際。
參考文獻(xiàn):
[1]陳文義,劉志新.虛擬制造的銑削加工過程[J].煤礦機(jī)械,2005,26(5):105-106.
[2]黃潔,杜平安.切削加工過程的仿真方法研究與實(shí)現(xiàn)[J].電子科
技大學(xué)學(xué)報(bào),2007,36(2):298-301.
[3]馬毅.三維浮雕CAD/CAM軟件系統(tǒng)開發(fā)研究[D].成都:電子科技大學(xué),2003.
[4]AutoDesk.AutoCAD R2007 objectARX Devdoper’s Guide[E].www.autodesk.com,2007.