摘 要:針對數控機床的外型結構、實際加工特點以及仿真動畫形式,綜合分析并應用了幾種三維建模方法。根據結構實體幾何法(CSC)建模思想,采用層次化、結構化的建模方法,構建了機床本體(包括刀具)模型;采用基于三角網格的離散方法,有效地解決了毛坯的變形動畫仿真問題,實現了車削、銑削加工過程動態仿真;基于粒子系統的建模策略,實現了不規則物體(如冷卻液)的物理動畫仿真?;谏鲜龇椒ㄋ_發的數控仿真系統,具有較好的真實感和動畫仿真實時性。
0 引言
數控加工在現代制造業中日趨重要,數控仿真也得到了廣泛應用,相對于空運行法、試切法以及二維軌跡顯示法等傳統的數控程序檢驗方法,數控仿真更加安全有效。根據實際數控機床及加工過程,進行幾何和行為的建模仿真,一直是數控仿真系統實現的重點,針對不同的特征,三維物體的表示及建模方法有多種,如多邊形網格及表面、二次曲面及樣條曲面、掃描表示、結構實體幾何法(Constructive Solid Geometry,CSG)、八叉樹表示法、分形幾何方法、粒子系統表示等。因此,本文對于具有不同幾何和行為特點的數控仿真系統各部分采用不同的建模方法,綜合采納各種優秀的建模策略,實現系統的可視化建模仿真。
1 建模思路
以實際數控機床為對象,根據其幾何、行為特點,數控仿真系統的建模仿真主要包括以下3個部分:
?。?)數控機床本體建模(包括刀具)
數控機床本體模型的存在不僅增加了加工場景的真實性,還可在加工過程中通過機床各個部件的運動來進行碰撞檢驗。機床幾何模型可以看成一個裝配體,由床身、立柱等部件組成,部件可以再細分;機床部件的運動仿真(如數控立式加工中心中刀具庫的旋轉運動,主軸箱的上下運動等)也比較規則。因此數控仿真系統中的機床本體通常采用CSG建模方法的思想,通過簡單的體素間的交、并、差等布爾運算構成復雜模型。該方法能直觀、高效地描述機床本體,也易于實現各個部件的規則運動。
(2)加工過程動態建模仿真
在加工過程中,隨著NC代碼的執行,刀具連續切削工件,工件形狀不斷改變,屬于工件的變形動畫,這也一直是數控仿真系統的一個實現難點。對此目前主要有兩大類仿真方法:基于實體的仿真方法提供三維形體完整的幾何和拓撲信息,進行準確的過程仿真和刀位軌跡驗證,但是對于數控代碼量很大的復雜零件的加工仿真,計算量巨大,相當耗時;離散仿真則避免了實體仿真時復雜的實體模型表示和布爾運算,方法簡單且計算效率高。本文采用了一種應用廣泛且簡單高效的基于表面三角網格的物體空間離散法,通過控制工件表面的一系列網格點的屬性解決了毛坯的變形動畫仿真問題,避免了基于圖像空間離散法的圖形生成質量較差,不適合任意視角觀察工件等問題,并且它能很好地推廣到數控加工驗證和誤差分析中。
?。?)加工過程中其它動態過程建模(如冷卻液、切屑)
冷卻液以及切屑的運動仿真可以保證系統功能的完整性以及增加場景的真實性。以冷卻液為例:大量的液體連續不斷的按照某種規律動態地運動,這是一種不易用人工描述的方法指出的運動;并且液體的幾何形狀也不易準確表達。針對這種不規則物體的物理動畫仿真,通常采用粒子系統的建模思想——一種模擬不規則模糊物體的景物生成系統。
2 建模過程
2.1 機床本體的建模
采用CSG建模思想,層次化、結構化構建機床本體模型將機床本體的復雜建模過程轉換為簡單形體的建模活動的組合,具體建模方法:以實際機床為對象,忽略機床內部傳動裝置以及伺服裝置等;對機床幾何結構層層細分,對部件形體按照相似性規則進行幾何造型簡化處理;最后通過軟件三維造型基礎庫中一組形狀規則的基本幾何實體(立方體、圓柱、圓環等)的交、并運算構建機床的主要部件模型,從而最終組合形成完整的機床本體三維模型。系統具體開發中沒有采用差運算,而是將其相應地轉換為交、并運算的組合,這是因為本軟件的三維建?;贠penGL三維圖形庫,OpenGL實現基本體素的差運算要涉及模板緩存,過程相對比較復雜。
此外,還要進行機床本體的行為建模,主要指處理機床運動部件的運動特征以及相互運動關系,主要從坐標系確定、運動方式、運動自由度、運動行程等方面考慮。
刀具、夾具等的建模與機床類似。圖1以麻花鉆刀具的幾何建模為例顯示了基于CSG策略的建模過程,它可以看作機床本體建模過程的一個縮影。首先通過基本體素的布爾運算構建了兩條螺旋槽,它們組成了麻花鉆的導向部分;麻花鉆最終由柄部、導向部分、切削部分三部分組合而成。此外,參數化設計是刀具建模的重要思想,從實際刀具中提取各種參數(如圖1中刀桿長L等),控制刀具三維模型的幾何特征。
[align=center]

圖1 麻花鉆建模示意圖[/align]
2.2 加工過程動態仿真建模
基于表面三角網格的物體空間離散法的具體策略是:將上表面離散為均勻點陣,再將這些點陣連接為三角片矩陣。程序運行時,不斷地按照刀具路徑修改上表面點陣的屬性,再進行真實感渲染,就可以達到實時顯示加工過程的效果,整個算法分為三大部分:毛坯離散化;判斷、計算過程;毛坯繪制。
2.2.1 毛坯離散化
本文主要針對數控車削和三軸銑削加工:車削毛坯多為圓柱狀,且多用于加工回轉表面;三軸銑削毛坯一般為長方體狀,且只有毛坯的上表面為加工面。因此兩者離散過程略有差異,圖2為車削和銑削毛坯的離散原理圖。以車削毛坯為例,將其回轉體表面分別沿軸向和徑向細分,形成均勻的四邊形網格陣列;若有孔加工,毛坯孔內表面也同樣離散為四邊形網格;兩端面則根據有無孔加工相應離散為三角形網格或四邊形網格。在毛坯離散化時并沒有全部采用一般的三角形網格(根據三點共面原則),有時以四邊形網格為基本單位。以圖2中任意四邊形ABCD為例,它作為車削毛坯回轉體表面的一部分,顯然ABCD四點共面,與采用三角網格ABD、BCD的效果一樣,只是三角網格的一種特殊情況。
[align=center]

圖2 毛坯離散示意圖[/align]
毛坯離散化過程還包括節點數據結構定義以及節點數據順序存儲。離散過程中毛坯離散精度(網格節點密度)的選擇也非常重要,精度越高,圖形真實感越好;但是隨之也會影響仿真實時性。
2.2.2 判斷計算過程
仿真的判斷計算過程一般包括:根據刀具移動軌跡、刀具種類計算刀具掃描域和刀具掃描面;判斷毛坯節點是否位于刀具掃描域中以及是否與刀具掃描面相交(以此確定毛坯節點是否被刀具切削);修改被切削的節點數據(節點半徑值或高度值)。判斷計算過程的重點是刀具掃描面的計算。
以銑削加工為例,銑削加工中材料去除的過程就是毛坯節點數據根據刀具掃描面改變的過程。主要針對三種刀具(球頭刀、平底刀和環形刀)討論銑削加工仿真。首先根據APT(Automatically ProgrammedTools)刀具模型,通過刀具參數判斷三種刀具類型,然后分類計算刀具切削掃描面。刀具掃描面的計算比較復雜,目前一種有關刀具掃描面計算的方法為:在根據刀具種類得到刀具掃描面形狀后,按照一定的規則(形體特征或刀具運動方向矢量和刀具表面點的法矢量的關系將復雜的刀具掃描面分為幾個組成部分,然后對每一個部分分別求解其數學表達式。本系統就是根據上述方法,按照形體特征,將復雜的刀具掃描面的計算分解為各個部分(平面、球面、柱面等)相對簡單的計算。
2.2.3 毛坯繪制
毛坯繪制是以離散后的網格節點為基礎,忽略毛坯內部構造,繪制整個毛坯形體包絡面,各個面由三角面片或四角面片逼近形成??紤]到軟件實時性和真實感,具體實現時要注意圖形消隱算法、平滑的動畫實現和節點法向量計算(影響光照)等問題。圖3即為根據上述算法采用球頭刀進行行切加工后的毛坯曲面效果圖。

2.3 粒子系統建模方法的應用
為了模擬實際加工中冷卻液噴出的動態效果,根據粒子系統的建模策略,將流動的冷卻液看成由許多個液體顆粒不斷地運動而形成的。首先將這些液體顆粒抽象成具有一定幾何特征和行為屬性的粒子(如:粒子位置、類型、生長時間等),采用雙向鏈表結構保證粒子系統運動的連續性;接著定義一組數學特征(粒子形狀特征、運動軌跡方程、運動約束方程)控制粒子的屬性;最后通過在粒子系統動態運動過程中周而復始地完成以下4個工作:粒子源產生新粒子、計算并更新粒子屬性、刪除死粒子、繪制粒子,最終形成源源不斷的粒子流。但是粒子系統建模方法占用內存,減慢仿真的實時性,考慮到整個系統仿真實時性的要求,在冷卻液的具體繪制時,做了以下簡化和假設:
(1)造型簡化。采用紋理貼圖的方式可以很真實地再現粒子外形,但是當粒子數目巨大時,這種方法將極大地消弱仿真的實時性。因此本文定義冷卻液粒子系統中粒子的幾何形狀為沿著粒子運動方向的短線段。
(2)假設粒子的運動初始位置為局部坐標系原點,這樣避免了運動方程以及約束方程的復雜性;同時通過調用OpenGL中glTranslate和glRotate函數確定冷卻液在世界坐標系中的位置。
(3)將粒子的運動軌跡簡化為直線軌跡,而不是復雜的曲線方程;并且將粒子的運動范圍約束在一個的可以數學描述的區域內,如錐形體。
?。?)假設每個粒子的運動方向都是隨機的,一旦確定整個生命周期都保持不變。
圖4為最終形成的冷卻液效果圖,其中冷卻液粒子的顏色、粒子大小、運動范圍、粒子密度都可以通過參數來進行修改。
[align=center]

圖4 冷卻液仿真效果圖[/align]
3 結論
本文綜合應用多種建模技術,利用各種建模方法的優點完成了復雜的數控仿真系統建模,并在此基礎上,在Windows環境下,基于OpenGL,以VisualC++6.0為工具開發了數控仿真系統,圖5為車床三維模型圖及車削加工過程仿真效果圖。實例表明:三維圖形顯示具有一定的真實感,加工過程動畫仿真實時性較好。
[align=center]

圖5 車削仿真效果圖[/align]