一、前言
隨著虛擬現(xiàn)實(shí)技術(shù)的迅速發(fā)展和應(yīng)用,電子電工虛擬實(shí)驗(yàn)室、電氣元 件虛擬裝配、虛擬電子儀器和建筑電氣設(shè)備建模等虛擬環(huán)境互動(dòng)的虛擬現(xiàn) 實(shí)系統(tǒng)應(yīng)用日益廣泛。但這些都需要 三維建模以及三維驅(qū)動(dòng)才能實(shí)現(xiàn)逼真 的“沉浸”效果。
V i r t o o l s技術(shù)以其強(qiáng)大的三維引 擎功能逐漸得到了廣泛的應(yīng)用。但V i r t o o l s本身并不具備三維實(shí)體模型 的建模能力及角色動(dòng)畫(huà)制作的能力, 所以在使用V i r t o o l s進(jìn)行虛擬場(chǎng)景構(gòu) 建時(shí),須借助其他的三維模型建模及 角色動(dòng)畫(huà)制作軟件。而后以其專有的 插件導(dǎo)出成V i r t o o l s專用的格式,但 是其自帶的Virtools Dev模塊只提供了 Maya、3DS MAX、LightWave和XSI四種 建模軟件的輸出插件。而對(duì)于用C A D常 用軟件P r o/E N G I N E E R所建立的電氣元 件模型,Virtools Dev并沒(méi)有提供Pro/ E N G I N E E R的輸出插件。因此,筆者利 用三種常見(jiàn)的C A D格式對(duì)模型進(jìn)行轉(zhuǎn) 換,實(shí)現(xiàn)Pro/ENGINEER模型向Virtools 的導(dǎo)入。
二、模型格式轉(zhuǎn)換
每一種C A D軟件系統(tǒng)都可以接受某些文件格式的輸入,并能夠進(jìn)行某些文件格式的輸出。我們把某一種CAD軟件可以接受的輸入文件格式集合定 義為I ={i | i 1,i 2,…,i n,n >0},n 為 輸入文件格式的總數(shù)。可以輸出的文件格式集合定義為O ={o|o1,o2,…,om,m >0},m為輸出文件格式的總數(shù),則兩種C A D軟件系統(tǒng)A和B可以進(jìn)行交 流的條件為:(I A∩O B)∪(O A∩I B)≠Φ ;可以進(jìn)行雙向交流的條件為:(I A∩O B)∩(O A∩I B)≠Φ 。
當(dāng)IA∩OB=Φ或是(IA∩OB)∪(OA∩IB)≠Φ,但由于軟件之間精度而導(dǎo)致轉(zhuǎn)換效果較差時(shí),B系統(tǒng)的文件是不可以直接轉(zhuǎn)換到A系統(tǒng)中,雙向交流就更無(wú)從談起。這種情況下有兩種解決方法,一是直接開(kāi)發(fā)轉(zhuǎn)換程序,但此方法耗費(fèi)的人力和時(shí)間非常多所以不常見(jiàn);另一種是使用第三方軟件C,使得B 和C、C和A滿足上述交換條件。
由于V i r t o o l s自帶的插件支持由3DS MAX向Virtools Dev導(dǎo)出其所支持 的文件格式。因此,以3D S M A X為媒 介,通過(guò)由Pro/ENGINEER到3DS MAX再 到Virtools Dev的方法,可以實(shí)現(xiàn)模型 的導(dǎo)入。
三、模型優(yōu)化方法
在Pro/ENGINEER的輸出和3DS MAX的輸入格式中,依照上述原理選擇常見(jiàn)的STL、OBJ和VRML格式分別進(jìn)行從Pro/ENGINEER到3DS MAX的格式轉(zhuǎn)換。
1.STL格式
STL(Sterolithography)文件格式 是一種為快速原型制造技術(shù)(R P M)服務(wù) 的三維圖形文件格式。它分為A S CⅡ碼 和二進(jìn)制兩種。隨著快速原型制造技 術(shù)的發(fā)展與應(yīng)用,S T L文件格式也得 到了各C A D/C A M軟件公司的廣泛支持。
S T L文件表示立體圖形的方式較為簡(jiǎn) 單。對(duì)于一個(gè)獨(dú)立的立體圖形,它用許多空間小三角面對(duì)其進(jìn)行逼近,通 過(guò)記錄各小三角面的頂點(diǎn)和法向矢量 信息來(lái)間接描述原來(lái)的立體圖形。
從Pro/ENGINEER中輸出STL文件可 采用其默認(rèn)的坐標(biāo)系,但是要選擇合適 的偏差控制,其參數(shù)為“弦高”和“角 度控制”。弦高表示三角形逼近的絕 對(duì)誤差,角度控制表示三角形平面與其 逼近的曲面切平面夾角的余弦。很多時(shí) 候采用其默認(rèn)值可能不能保證其轉(zhuǎn)換精 度,一般情況下弦高選擇0.001至0.002(英寸)或0.025至0.05(m m)為宜,角度 控制可在0.5至1之間選擇,也可根據(jù)情 況選擇較小的值。
導(dǎo)出的S T L文件可以直接導(dǎo)入到3DS MAX中,但是如果在Pro/ENGINEER 中對(duì)模型添加了顏色(見(jiàn)圖1),則這 些顏色信息將在3DS MAX中丟失,也就分是說(shuō)導(dǎo)出的S T L文件并不帶有顏色信 息,而且無(wú)論P(yáng) r o/E N G I N E E R文件是由 多少部分組成的裝配整體,導(dǎo)入到3D S M A X中其文件都是一個(gè)整體,并不能單 獨(dú)為其添加顏色。這樣對(duì)于在Virtools 中進(jìn)行模型編輯將會(huì)帶來(lái)麻煩,使之 很難有零件的動(dòng)作行為。但是3DS MAX 中的修改功能可以彌補(bǔ)這個(gè)不足,如 果在添加完顏色后想減少模型的組成,也可選擇“附加”,來(lái)減少模型面的組成,如圖2所示。如果有的三角 面片逼近不真實(shí),可以在“分離”后 對(duì)單獨(dú)的面進(jìn)行優(yōu)化,以達(dá)到較好的 模型效果,然后就可以按照Virtools的 專有格式通過(guò)3DS MAX進(jìn)行導(dǎo)出。
2.OBJ格式
OBJ(Wavefront Object)模型文 件為文本類型,結(jié)構(gòu)比較簡(jiǎn)單,它保存的是一些多邊形的信息,諸如頂點(diǎn) 幾何坐標(biāo)、紋理坐標(biāo)、點(diǎn)與點(diǎn)如何連 線組成線、面等。用三角形面片拼合 就可以構(gòu)造出三維物體。每一個(gè)O B J文 件都附帶一個(gè)材質(zhì)庫(kù)文件,材質(zhì)庫(kù)文 件名由O B J文件中“m t l l i b”關(guān)鍵字后 的參數(shù)給出,它描述了O B J文件中所使 用的材質(zhì)信息,結(jié)構(gòu)與OBJ文件類似。
O B J文件與S T L文件組合模型的方 式類似,都是用三角形面片進(jìn)行構(gòu)造 三維物體。正是由于O B J文件本身附帶 了材質(zhì)庫(kù)文件,這樣在Pro/ENGINEER中 的模型顏色信息將不會(huì)在導(dǎo)入3D S M A X 后丟失。而且O B J文件也保留了P r o/ E N G I N E E R模型的原組成,但是需要在“組”菜單下進(jìn)行“解組”,即P r o/ E N G I N E E R的*.a s m文件含有多少個(gè)零件 在3D S M A X中解組后就有多少部分,而 并不象S T L文件那樣把P r o/E N G I N E E R模 型導(dǎo)成一個(gè)整體。但是,由于軟件之 間的算法和精度不同,OBJ文件較STL文件容易出現(xiàn)破面,即三角面丟失、產(chǎn)生裂縫或是由材質(zhì)信息丟失而導(dǎo)致面透明。而3DSMAX中的修改功能亦可以彌補(bǔ)這個(gè)不足。
在從Pr o/ENGINEE R導(dǎo)出OBJ 文件時(shí)除了“弦高”和“角度控 制”這兩個(gè)參數(shù)外,還要根據(jù)提示選擇要導(dǎo)出的物體以及參考平面,然后導(dǎo)入3D S M A X中,如圖3 所示。圖3中明顯出現(xiàn)了面丟失的 現(xiàn)象,解決方法如下。
(1)方法一(見(jiàn)圖4) 這樣便可解決由于顏色丟失而產(chǎn)生的破面。
(2)方法二(見(jiàn)圖5) 還可以對(duì)其邊、面進(jìn)行拉伸從而修補(bǔ)破面,修補(bǔ)后如圖6所示。修補(bǔ)后 的模型就可以導(dǎo)入到Virtools中了。
3.VRMLVRML是描述多維交互式模擬環(huán)境 的一種語(yǔ)言。這種模擬環(huán)境,就是通 過(guò)全球Internet和World Wide Web上的超鏈接形成的虛擬世界。虛擬世界所 有組成部分的顯示、交互和網(wǎng)絡(luò)接口 都能用VRML進(jìn)行描述。
V R M L的造型不是實(shí)體模型而是面模型,VRML不提供對(duì)幾何形體的精確表達(dá),即VRML所描述的幾何形體不能 作為產(chǎn)品設(shè)計(jì)生產(chǎn)的依據(jù)。雖然VRML具有一些簡(jiǎn)單的基本體素節(jié)點(diǎn),如長(zhǎng)方體、球體和圓柱體,但它不支持體 素的布爾運(yùn)算。對(duì)于不完整的基本體素、復(fù)雜形體、自由曲面等,VRM L統(tǒng)一使用面片擬合方法實(shí)現(xiàn)。
在Pro/ENGINEER導(dǎo)出VRML 文件的時(shí)候,可以選擇默認(rèn)的 設(shè)置,也可以將“視圖”和“參數(shù)”都選擇為“無(wú)”。導(dǎo) 入到3D S M A X后,其顏色信息 得到了保留,但是會(huì)多出許多除了模型之外的其他東西,而 且模型尺寸也較小。首先全部 選擇模型后進(jìn)行放大,以便直 觀觀察導(dǎo)入的模型;其次所謂的多余東西是相機(jī)和輔助對(duì)象,這是VRML文件自帶的信息,只要在選中后對(duì)其進(jìn)行刪除,剩下的就是我們所需 要的模型。
但是此時(shí)的模型已不是Pro/ENGINEER中的組成部分,而是變成了許多的面片,可以利用“附加”功能,按照自己的需要對(duì)其進(jìn)行模型結(jié)構(gòu)的重組。之后就可以按照Virtools的專有格式導(dǎo)入了,此時(shí)注意,導(dǎo)入后其模型尺寸比較小,需要在Virtools中進(jìn)行放大,如圖7所示。
四、比較與分析
如圖8所示,三種格式均采用面片擬合、逼近的方法進(jìn)行建模,并不像 Pro/ENGINEER那樣是實(shí)體模型。
STL文件無(wú)論是ASCII碼格式還是二進(jìn)制格式,其定義都非常清晰、明確、易懂。但是STL文件也有如下不足:一是在模型表面上相鄰的三角形在S TL文件中不一定保持相鄰關(guān)系;二是多個(gè)三角形的公共頂點(diǎn)坐標(biāo)被重復(fù)地列出,而且其不帶有色彩信息,并自動(dòng)將模型合并成了一個(gè)整體。正是由于以上原因,STL格式對(duì)于零件較多、體積較大的Pr o/ENGINEER模型將會(huì)出現(xiàn)倒角不明顯,三角面片逼近圓形、不真實(shí)的缺點(diǎn)。
OBJ文件雖然帶有顏色信息,但是其出現(xiàn)破面的幾率較STL文件高,其缺陷表現(xiàn)為:法向量錯(cuò) 誤、多邊共線、裂縫或覆蓋、孔洞,由此而導(dǎo)致破面的出現(xiàn)。然而OBJ格式對(duì)于任何模型,無(wú)論其 大小,其三角面片逼近都是相似的,不會(huì)出現(xiàn)部分曲面逼近不真實(shí)的情況。
V R M L文件具有較好的面片擬 合特性,而且其自身還帶有鮮明 的顏色信息,對(duì)于在3DS MAX中的 優(yōu)化只是刪減多余的部分和對(duì)其 面片進(jìn)行重組。但是對(duì)于建模實(shí) 體零件較多的模型,導(dǎo)入3DS MAX 后其面片會(huì)很多,所以對(duì)于面片 重組的運(yùn)算時(shí)間將會(huì)延長(zhǎng);但是 如果模型只是在V i r t o o l s中充當(dāng) 視景的作用則沒(méi)有實(shí)際的動(dòng)畫(huà)要求,面片重組可以適當(dāng)?shù)販p少以 縮短運(yùn)算時(shí)間。
綜上所述,對(duì)于色彩種類較 少的模型可以采用S T L格式導(dǎo)出, 對(duì)于色彩較多且文件較小的模型 可以采用V R M L格式導(dǎo)出,對(duì)于色彩較 多且文件較大的Pro/ENGINEER模型可以 采用O B J格式導(dǎo)出。其三種格式各有優(yōu) 點(diǎn),在實(shí)際操作中要靈活采用。
五、應(yīng)用
將Pr o/ENGINEER的三維模型通過(guò)上述方法進(jìn)行格式轉(zhuǎn)換,成功導(dǎo)入到Virtools中后進(jìn)行三維驅(qū)動(dòng),建立了電氣設(shè)備的虛擬操作實(shí)驗(yàn)室。由于該實(shí)驗(yàn)室的模型要有明顯的顏色信息,且大部分只是作為沒(méi)有動(dòng)畫(huà)的場(chǎng)景,故而主要采用OBJ格式和VRML格式進(jìn)行轉(zhuǎn)換和優(yōu)化,最后達(dá)到了模型作為虛擬場(chǎng)景的要求,如圖9所示。
六、結(jié)論
無(wú)論哪一種文件格式,都有可能出現(xiàn)破面或是逼近不真實(shí)的問(wèn)題,但 都可以利用前述方法通過(guò)3DS MAX對(duì)其 進(jìn)行優(yōu)化,使得P r o/E N G I N E E R模型在 不丟失原特征的情況下較好地導(dǎo)入到 Virtools中。對(duì)于電氣類的元件模型, 針對(duì)其顏色信息多、模型擬合面片較少,且大多是作為固定的視景模型使 用的特點(diǎn),比較適宜采用O B J格式和 VRML格式進(jìn)行格式轉(zhuǎn)換。
由于本文所采用的三種格式都是 C A D軟件中比較常見(jiàn)的類型,其模型轉(zhuǎn) 換方法不僅適用于Pro/ENGINEER和3DS M A X之間,同時(shí)也為其他C A D軟件間的 模型轉(zhuǎn)換提供了參考依據(jù),其模型轉(zhuǎn) 換和優(yōu)化方法具有一定的普遍性。
相關(guān)文章
- 2021-09-08BIM技術(shù)叢書(shū)Revit軟件應(yīng)用系列Autodesk Revit族詳解 [
- 2021-09-08全國(guó)專業(yè)技術(shù)人員計(jì)算機(jī)應(yīng)用能力考試用書(shū) AutoCAD2004
- 2021-09-08EXCEL在工作中的應(yīng)用 制表、數(shù)據(jù)處理及宏應(yīng)用PDF下載
- 2021-08-30從零開(kāi)始AutoCAD 2014中文版機(jī)械制圖基礎(chǔ)培訓(xùn)教程 [李
- 2021-08-30從零開(kāi)始AutoCAD 2014中文版建筑制圖基礎(chǔ)培訓(xùn)教程 [朱
- 2021-08-30電氣CAD實(shí)例教程AutoCAD 2010中文版 [左昉 等編著] 20
- 2021-08-30電影風(fēng)暴2:Maya影像實(shí)拍與三維合成攻略PDF下載
- 2021-08-30高等院校藝術(shù)設(shè)計(jì)案例教程中文版AutoCAD 建筑設(shè)計(jì)案例
- 2021-08-29環(huán)境藝術(shù)制圖AutoCAD [徐幼光 編著] 2013年P(guān)DF下載
- 2021-08-29機(jī)械A(chǔ)utoCAD 項(xiàng)目教程 第3版 [繆希偉 主編] 2012年P(guān)DF