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