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

圖1 利用UG軟件設(shè)計(jì)的 “南瓜蓋”模具

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

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

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