王秋紅 (安徽機電職業技術學院數控工程系,安徽蕪湖241000)
VRML是Internet上基于WWW的虛擬現實建模語言,被稱為第2代網絡語言,用來描述三維物體及其運動行為,具有三維性、交互性、分布式集成性和逼真性等特點[1-3],通過虛擬現實技術創建虛擬環境,可以模擬機械產品模具的裝配過程,幫助學習人員熟悉設備的結構以及裝配關系。
UG軟件是集CAD/CAE/CAM為一體的三維參數化設計軟件之一,也是當今世界最先進的計算機輔助設計、分析和制造軟件中的一員,成為UGS產品家族中應用最為廣泛的設計軟件[4]。UG軟件提供了VRML軟件的接口。下面,筆者通過UG軟件完成模具產品的建模、裝配,通過提取裝配體信息利用VRML的環境最終完成動態裝配的演示動畫,并以2009年全國職業技能大賽 “產品造型與快速成型模擬題一” ——新型煙缸蓋子產品模具 (以下簡稱 “南瓜蓋”)為例說明以上過程。
“南瓜蓋”模具在UG軟件中完成。首先,在UG軟件中建立南瓜蓋零件,然后利用UG軟件中的注射模設計模塊,逐步完成模具的設計,包括進行零件的初始化、設定材料收縮率、坐標系等;對零件進行模具設計、型腔排布、分型;分型后加載模架,設計流道、澆口、頂針、冷卻系統;最后完成模具設計,如圖1所示。
下面利用UG運動仿真模塊,逐步完成該塑料模具的開模及裝配運動仿真,步驟如下:①模型的準備 。運動仿真的模型對象點、線、面、體,裝配及非裝配的三維模型均可。②運動分析,分析各桿件之間的運動關系。③定義剛性的連桿。④添加運動副和運動驅動,即設計零部件之間的相對運動。⑤解算及后處理,最終生成動畫。
以開模運動仿真為例介紹具體操作如下:首先導入模型零件→分析模具開模時零部件的相對運動關系 (如圖2所示可知,開模時主要有3部分結構的運動,分別為模具的動模、定模、塑料件及推出機構3部分的運動,具體過程是先動模移動與定模分開,當動模張開到一定距離時,推出機構運動,推出塑料零件)→定義連桿 (分別定義以上3部分為連桿,定義連桿時要定義全,包括一些特征曲線也要定義,以便后期設定運動時使用)→添加運動副和運動驅動 (開模運動主要定義滑動副,設定驅動類型、幅值、頻率、相位角、位移等)→最后進行結算及后處理→生成動畫。
進行裝配路徑規劃首先要符合裝配體的真實裝配順序,此外也要避免裝配體中零件的干涉,對于該模具可將定模部分所有零件視為一個組件,命名為 “組件1”,裝配順序為:定模板→在定模板上裝入定模座板→將澆口套裝進定模板和定模座板→用銷釘和螺釘固定以上部件→裝入定位圈、連接螺釘。

圖1 利用UG軟件設計的 “南瓜蓋”模具

圖2 “南瓜蓋”模具的開模運動
動模部分所有零件視為一個組件,命名為 “組件2”,裝配順序為:支撐塊→動模板→在動模板上裝入導柱并按規定方向放在支撐板上→將型芯裝入動模板→銷釘固定支撐板和動模板→型芯固定螺釘→按規定方向放推桿固定板→裝入拉料桿、復位桿→推板→螺釘連接推板和推桿固定板→按規定方向放墊塊→在墊塊上放動模座板→螺釘連接整體。
最后將組件1、2合模,裝配結束。
將UG文件導出為VRML V2.0版的wrl格式文件,然后用VRML編輯器VrmlPad讀入,對對象進行場景渲染和動畫制作。下面以 “南瓜蓋”模具為例介紹其制作過程。
VRML通過時間傳感器 (TimeSensor)和插補器 (Interpolator)以及路由 (ROUTE)語句來實現關鍵動畫[1]。基本流程由時間傳感器給出控制動畫效果的時鐘,該時鐘包含了動畫效果的開始時間、停止時間、循環周期以及是否循環等動畫控制參數;然后通過該時鐘的事件輸出在虛擬世界中驅動插補器節點產生相應的動畫效果。如果需要變速動畫過程或者復雜動畫過程,需要結合腳本語言java來實現時間傳感器的輸出控制插補器和javascript的輸入,這樣,插補器和javascript的輸出就可以控制整個裝配體中每個組件的移動和旋轉等動作。
具體處理方法是:在UG NX軟件中的裝配狀態下,每次導出一個零件,將其余零件隱藏掉,這樣重復操作到每一個零件,一次保存為 101.w rl、102.wrl、103.wrl……,如從UG中導出定模座板保存為101.wrl。
所有部件導出完畢之后,這時候就要利用inline命令將所有wrl文件聯系起來,然后建立一個新的wrl文件,保存為 “靜態模型200.w rl”。每個組件文件要與 “靜態模型200.w rl”這一整體文件全部存在一個文件夾里,這樣,用VRML瀏覽器打開才能觀看到整個靜態模型。圖3為通過VRML瀏覽器觀看的靜態模型。

圖3 轉換后的“南瓜蓋”模具的虛擬現實文件
在實際裝配過程中,被裝配零件由于受裝配關系的約束而存在裝配順序問題[5]。通過規劃零件在虛擬空間的運動軌跡實現其虛擬裝配。具體步驟如下:
1)定義T ouchSensor節點,可實現用戶與系統的交互式裝配。利用VRML按鍵傳感器節點或者觸摸傳感器節點等可以實現用戶與虛擬場景的交互,控制模具的虛擬裝配過程。
2)定義TimeSensor節點,確定各個組件的變化周期及循環方式。當獲得交互指令后消息從Time-Sensor節點的EventOut事件路由到其他節點,當TimeSensor節點的時鐘開始計時時,被路由的節點發生相應的變化。
3)定義若干個PositionInterp01ator節點,設置零件平移。為了更好的表現出模具中南瓜蓋零件的形態,程序還要添加OrientationInterpolator節點,將中間的南瓜蓋零件旋轉起來。OrientationInterpolator字段動態改變觀察方向,或者改變形體的方向。
4)通過2條路由ROUTE語句,將時間代碼與位置代碼結合,實現真正意義的動畫:
ROUTE Timer1.fraction_changed TO Translator1.set_fraction(時間的變化傳到位置內插器)
ROUTE Translator1.value_changed TO Body__1.set_translation(位置內插器將特定時間的位置數值傳給形體所在的局部坐標系)
虛擬裝配的結果如圖4所示。

圖4 模具虛擬裝配動畫
利用UG或VRML進行虛擬裝配各有特點,但VRML的文件更便于網絡傳輸,易于與用戶進行交互,將其運用到教學資源庫的開發中更有優勢。
[1]汪興謙.V RML與Java編程實例實例講解 [M].北京:中國水利水電出版社,2001:1-23.
[2]黃文麗,盧碧紅,楊志剛,等.VRM L語言入門與應用[M].北京:中國鐵道出版社,2003:10-19.
[3]汪志達,葉偉.VRML虛擬現實網頁設計 [M].北京:清華大學出版社,2006:12-16.
[4]青春.基于UG的數控編程及加工過程仿真 [D].呼和浩特:內蒙古工業大學,2007.
[5]池建斌,郭海新,王晨,等.基于VRM L-Java的減速器虛擬拆裝系統的實現[J].工程圖學學報,2008(2):48-53.