堯 燕
(深圳職業(yè)技術(shù)學(xué)院 機(jī)電工程學(xué)院,廣東 深圳 518055)
虛擬裝配技術(shù)是虛擬現(xiàn)實技術(shù)在現(xiàn)代先進(jìn)設(shè)計與制造領(lǐng)域的重要應(yīng)用之一,它在縮短產(chǎn)品開發(fā)周期、降低設(shè)計成本等方面有著重要的意義.與傳統(tǒng)的裝配相比,虛擬裝配不需要生成出樣品,直接采用虛擬產(chǎn)品模型在虛擬的環(huán)境中通過數(shù)據(jù)手套或者計算機(jī)程序語言控制,在可視化的環(huán)境中完成裝配操作.
現(xiàn)代常用的 CAD軟件在提供了完美的設(shè)計平臺后也提供了較好的裝配平臺.但是其裝配平臺只局限于該設(shè)計平臺內(nèi)可用,無法實現(xiàn)通用性,更無法生成網(wǎng)絡(luò)通用的格式,無法實現(xiàn)無界瀏覽和虛擬裝配操作.VRML技術(shù)是一種用于建立真實世界的場景模型或人們虛構(gòu)的三維世界的場景建模語言,具有平臺無關(guān)性,它面向網(wǎng)絡(luò),提供了較好的面向?qū)ο蟮木幊碳夹g(shù),是一種較好的虛擬裝配解決方案[1].本研究基于VRML技術(shù),建立了一個基于網(wǎng)絡(luò)的虛擬裝配仿真平臺.
VRML(Virtual Reality Modeling Language)是一種應(yīng)用于互聯(lián)網(wǎng)、面向?qū)ο蟮慕忉屝腿S造型語言.隨著硬件技術(shù)和 Internet技術(shù)的飛速發(fā)展,以及 3D技術(shù)的日益成熟,人們迫切需要通過網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)共享和數(shù)據(jù)發(fā)布[2].VRML描述的三維圖形能被標(biāo)準(zhǔn)瀏覽器接受,因而被廣泛的應(yīng)用于網(wǎng)絡(luò)以及與平臺無關(guān)的虛擬現(xiàn)實中.VRML的訪問方式是基于客戶/服務(wù)器模式,其中服務(wù)器提供VRML文件及其他客戶希望通過網(wǎng)絡(luò)訪問的文件,客戶端瀏覽器負(fù)責(zé)解釋VRML文件并渲染生成可視化場景,大部分計算在客戶端實現(xiàn),減少了服務(wù)器的壓力.
VRML把虛擬的世界看成一個場景,用節(jié)點(Node)描述構(gòu)成場景的每一個對象,如幾何模型、光源、聲音等,節(jié)點的屬性用域來描述,用文本方式對每一個節(jié)點對象進(jìn)行描述并通過節(jié)點間的層層嵌套就構(gòu)成了一個VRML文件[3].同時,VRML支持Java和Java Applet擴(kuò)展,利用其提供的Script腳本功能可以實現(xiàn)較強(qiáng)的功能和交互性,為虛擬裝配提供了較好的基礎(chǔ).
基于VRML的虛擬裝配流程,一般為:①生成裝配用模型,可以采用VRML的節(jié)點編輯技術(shù)編輯生成;②對單個模型組裝結(jié)合成為大型場景.由于場景中模型較多,一般需要對其進(jìn)行壓縮和優(yōu)化;③對模型可能的運動進(jìn)行分析,對每種可能的運動方式進(jìn)行編程控制;④發(fā)布裝配平臺,進(jìn)行虛擬裝配.如圖1所示.
圖1 VRML虛擬裝配的一般流程
用VRML編輯器如VrmlPad可以生成立體模型,但是對于較復(fù)雜的形體,這種方法效果不太理想.本研究采用由三維建模軟件建模后然后通過數(shù)據(jù)轉(zhuǎn)換,得到VRML格式的模型[4].圖2為本虛擬裝配系統(tǒng)采用SolidWorks軟件建模后,采用另存為VRML97格式后的齒輪泵泵體.
圖2 VRML格式的泵體
各個模型建立后,可以建立齒輪泵裝配的場景.但是由于齒輪泵各個模型間的位置關(guān)系是相對固定的,所以,建立場景之前最好在SolidWorks軟件中建立齒輪泵的裝配體,然后隱藏其它所有零件,先依次輸出單個零件的VRML模型,然后在編輯器VrmlPad中采用inline語句建立齒輪泵裝配場景.其部分代碼如下:
對于齒輪泵可以設(shè)泵體為不運動體,其它模型都相對于它運動.經(jīng)過分析,裝配過程應(yīng)該為左右2個方向可以同時拆裝.拆卸左側(cè)依次為:壓蓋螺母→填料壓蓋→填料;右側(cè)依次為:螺釘→泵蓋→紙墊圈→小齒輪→齒輪軸→平鍵.裝配順序反之.為了簡化控制,螺母螺釘?shù)刃D(zhuǎn)前進(jìn)的模型簡化成為直線運動[5].為此,在 VrmlPad中添加動畫時鐘和平移路徑的控制代碼:
虛擬裝配平臺通過場景建立和運動控制編程后,可以網(wǎng)絡(luò)發(fā)布.由于采用的是B/S架構(gòu),只需要把設(shè)計好的平臺在服務(wù)器端配置好,用戶就可以在客戶端使用.用戶在瀏覽器中打開對應(yīng)網(wǎng)頁,其相應(yīng)模型數(shù)據(jù)和控制的Java代碼就傳送到客戶端,對用戶的仿真操作由客戶端程序控制.
對齒輪泵仿真平臺的運用,主要可以仿真其裝配過程和拆卸過程,同時可以仿真其工作時的動態(tài)過程.用鼠標(biāo),用戶可以在客戶端按照順序拖動模型,實現(xiàn)裝配或拆卸動作.拖動的順序不對即裝配順序不合理,就無法拖動模型,和實際相符合.也可以單擊模型,讓模型繞Z軸旋轉(zhuǎn),充分觀察模型;雙擊模型,讓模型繞其工作軸或者工作孔旋轉(zhuǎn),仿真其工作過程.圖3為發(fā)布后的齒輪泵仿真平臺拆卸操作后的效果.
圖3 虛擬裝配平臺虛擬拆卸后的齒輪泵
[1] 趙利清,王樹棟.基于VRML的虛擬園林設(shè)計要素構(gòu)建[J].中國農(nóng)學(xué)通報,2011(4):248-250.
[2] 謝杰,姬曉輝.VRML技術(shù)及應(yīng)用[J].洛陽工業(yè)高等??茖W(xué)校學(xué)報,2006(3):28-29.
[3] 孫俊峰,游運華,盧潔,等.基于VRML的心理學(xué)虛擬實驗設(shè)計與實現(xiàn)[J].計算機(jī)仿真,2006(4):283-285.
[4] 鄧新農(nóng).關(guān)于3Dmax中的VRML運用的探討[J].職業(yè)技術(shù),2010(5):43-44.
[5] 袁鋒偉,李必文,何彬.基于SolidWorks-VRML實現(xiàn)虛擬現(xiàn)實的精確建模[J].機(jī)電工程,2007(10):103-105.