楊 光
(集美大學機械工程學院,福建 廈門 361021)
在機械領(lǐng)域,虛擬設(shè)計的工業(yè)應(yīng)用主要以產(chǎn)品設(shè)計為對象,實現(xiàn)虛擬樣機、虛擬裝配、動態(tài)仿真、網(wǎng)絡(luò)交互等功能。虛擬設(shè)計可以表現(xiàn)產(chǎn)品的外觀以及動態(tài)過程的仿真,如機器工作原理的虛擬表達、虛擬裝配過程或虛擬操作,或者是工業(yè)過程的虛擬體現(xiàn)等。這些過程,均為設(shè)計人員進行合理和優(yōu)化設(shè)計提供了重要的參考,代替小試甚至中試過程,同樣為產(chǎn)品開發(fā)節(jié)約了大量的時間、人力、物力和財力[1-6]。利用虛擬現(xiàn)實技術(shù)創(chuàng)建的液壓萬能試驗機虛擬實驗環(huán)境,人與環(huán)境互相交流,可以模擬真實的試驗過程,通過信息反饋,還可以從中獲得有關(guān)試驗的一些啟示,從而熟悉整臺設(shè)備結(jié)構(gòu)以及試驗過程。
建筑與影視作品的虛擬現(xiàn)實建模多依賴于3ds max和Maya,機械行業(yè)產(chǎn)品建模要求嚴格的尺寸、形狀和裝配關(guān)系。CAXA軟件包括特征造型、曲面造型、實體造型在內(nèi)的多種造型方法,同時提供了自頂向下和自底向上的裝配設(shè)計方法。CAXA軟件同時提供了VRML軟件的數(shù)據(jù)接口。液壓萬能試驗機的虛擬現(xiàn)實,首先通過CAXA軟件完成工業(yè)產(chǎn)品造型和靜態(tài)裝配模型,然后結(jié)合VRML和Javascript技術(shù),完成動態(tài)裝配、試驗過程的實現(xiàn)、試樣力學性能仿真和零件信息提取等方面的內(nèi)容。
液壓萬能試驗機靜態(tài)裝配模型在 CAXA軟件中完成。首先,在CAXA軟件中逐個建立液壓萬能試驗機系統(tǒng)零件模型,包括機體、下滑塊、按鈕1、按鈕2、按鈕3、螺桿1、螺桿2和表盤等。然后,將所有零件按照組件裝配,最后裝配成完整的液壓萬能試驗機。
接下來,將CAXA的ics格式的文件導出為VRML V2.0版的wrl格式文件,然后在VRML文件編輯器VrmlPad中讀入wrl文件,再對此對象進行場景渲染或者動畫制作等。但是,對于比較復雜的裝配文件,如果將裝配的ics文件作為整體導出為wrl格式,會導致在虛擬現(xiàn)實編輯軟件中文件過大,帶來對組件和零件的操作不方便等一系列麻煩。一般的處理方法是:在CAXA軟件中的裝配狀態(tài)下,每次導出一個零件,其余零件隱藏掉,這樣重復操作至導出每一個零件;然后建立一個新的wrl格式文件,利用Inline命令將所有零件的wrl文件聯(lián)系起來[3],此時,不用做調(diào)整,就可以保證各個零件的相對位置的正確性,圖1為部分零部件的Inline命令和轉(zhuǎn)換后液壓萬能試驗機裝配體的虛擬現(xiàn)實模型。

圖1 Inline命令和轉(zhuǎn)換后的液壓萬能試驗機虛擬現(xiàn)實模型
液壓萬能試驗機的虛擬工作過程包括機體動畫設(shè)置和材料力學性能試驗仿真的關(guān)鍵技術(shù)。
VRML通過時間傳感器(TimeSensor)和插補器(Interpolator)以及路由(ROUTE)語句來實現(xiàn)關(guān)鍵動畫[3]。基本過程為時間傳感器給出控制動畫效果的時鐘,這個時鐘包括動畫的開始時間、停止時間、時間間隔和是否循環(huán)等參數(shù),此時鐘信息輸出到插補器節(jié)點,插補器節(jié)點定義了關(guān)鍵點和關(guān)鍵數(shù)值,VRML根據(jù)插補器節(jié)點的設(shè)置進行關(guān)鍵點外區(qū)域的線性插值,完成勻變速動畫過程。如果需要變速動畫過程或者復雜動畫過程,需要結(jié)合腳本語言 Javascript來實現(xiàn):時間傳感器的輸出可以控制插補器和 Javascript的輸入,而插補器和 Javascript的輸出又可以控制零件的移動和旋轉(zhuǎn)等動作。對于液壓萬能試驗機,在對相應(yīng)按鈕設(shè)置觸發(fā)傳感器之后,時間傳感器開始作用,此時,表盤指針指示壓力的變化,兩個螺桿旋轉(zhuǎn),同時,下滑塊移動,實現(xiàn)拉伸或者壓縮試樣的運動。
圖2為實現(xiàn)兩個螺桿旋轉(zhuǎn)和下滑塊移動的動畫路由,包括時間傳感器、位置插補器和朝向插補器的設(shè)置。

圖2 動畫路由
材料力學性能試驗仿真的關(guān)鍵技術(shù)包括試樣變形和應(yīng)力應(yīng)變曲線仿真等方面的內(nèi)容。
2.2.1 試樣變形的實現(xiàn)
此處以壓縮塑性材料為例,試樣變形通過開關(guān)節(jié)點和腳本實現(xiàn),在開關(guān)節(jié)點中內(nèi)聯(lián)試樣變形的關(guān)鍵狀態(tài)文件。其中,腳本語句和路由語句如下:
DEF cpu Script {
eventIn SFFloat curfra
eventOut SFInt32 outCho
url "javascript:
// Handler for event curfra of type SFFloat.
function curfra (value, timestamp)
{ print(curfra);
outCho=curfra*20/2.5;
}" }
ROUTE cpu.outCho TO swit.set_whichChoice
ROUTE tims.fraction_changed TO cpu.curfra
ROUTE touch.touchTime TO tims.startTime
在瀏覽器中,點擊按鈕1后,表針開始旋轉(zhuǎn),螺桿開始旋轉(zhuǎn),下滑塊下滑,下滑塊的壓頭接觸工件之后,隨著壓力增加,塑性材料試樣經(jīng)過彈性變形階段和屈服階段直至被壓扁。
2.2.2 應(yīng)力應(yīng)變曲線仿真技術(shù)
液壓萬能試驗機在仿真測試材料性能時,同時可以輸出應(yīng)力應(yīng)變曲線,這樣使得材料力學性能更加一目了然。應(yīng)力應(yīng)變曲線仿真技術(shù)和試樣變形技術(shù)一樣,通過開關(guān)節(jié)點和腳本實現(xiàn)。圖3為塑性材料試樣變形及與其對照的應(yīng)力應(yīng)變曲線的虛擬現(xiàn)實。

圖3 試樣變形及應(yīng)力應(yīng)變曲線
2.2.3 聲音添加
VRML所播放的聲音有自己的聲源,它模擬現(xiàn)實中的3D聲音傳播方式,給人現(xiàn)實中的聽覺感受。為了達到虛擬工作過程的逼真效果,具體做法是,首先錄制液壓萬能試驗機各種動作的現(xiàn)場聲音,然后進行剪裁和分段處理,通過聲音節(jié)點給 VRML世界添加合適的聲音,實現(xiàn)過程如下:
Sound {
source DEF sou AudioClip {url "test.wav"
loop FALSE}
location 0 0 0
direction 1 0 0
maxBack 100000
maxFront 100000
minBack 1
minFront 1
intensity 1}
2.2.4 信息提取
利用VRML中的Anchor節(jié)點可以實現(xiàn)虛擬現(xiàn)實中的裝配零件信息的獲取[4]。比如,要想提取試樣的材料信息并超鏈接到試樣文件,具體實現(xiàn)語句為:
Anchor { url" shiyang1a.wrl"
description "HT200 D=2mm L=2mm "
children [DEF shiyang1a Transform {…} ]}
圖4為試樣材料信息的提取結(jié)果,當鼠標放在試樣上時,出現(xiàn)“HT200 D=2mm L=2mm”字樣,單擊鼠標,VRML空間轉(zhuǎn)換到試樣文件形成的環(huán)境空間,如圖5所示,在此,可以單獨瀏覽試樣零件。

圖4 試樣信息提取

圖5 試樣超鏈接
利用VRNML、Javascript技術(shù)與 CAXA的協(xié)同設(shè)計,能夠很好地完成具有交互功能的萬能試驗機的虛擬試驗過程,在不消耗實材的情況下,可以反復觀察試驗現(xiàn)象,其具體解決技術(shù)應(yīng)用于工程機械的虛擬現(xiàn)實具有普遍意義。
[1]尹念東, 余 群. 基于桌面虛擬現(xiàn)實系統(tǒng)車輛運動仿真的立體視覺實現(xiàn)[J]. 農(nóng)業(yè)機械學報, 2002, 33(1):23-26.
[2]倪 濤, 趙丁選, 倪 水, 等. 基于虛擬現(xiàn)實的遙控操作工程機器人圖形仿真[J]. 農(nóng)業(yè)機械學報, 2005,36(5): 80-83.
[3]王 炎. 虛擬現(xiàn)實建模語言 VRML[J]. 計算機科學,1999, 26(12): 38-42.
[4]張潞弟, 朱群雄. 新型虛擬現(xiàn)實建模交互方法[J].計算機工程, 2008, 34(1): 72-75.
[5]張翠敏, 王菁華, 董翠英. 應(yīng)用OpenGL實現(xiàn)鋼坯溫度場的虛擬現(xiàn)實可視化[J]. 機床與液壓, 2008, 36(2):157-159.
[6]高印寒, 馬增治, 李春光, 等. 虛擬現(xiàn)實技術(shù)及其在機械工程中的應(yīng)用[J]. 吉林大學學報(工學版), 2003,33(2): 105-106.