我想看一级黄色大片_久久亚洲国产精品一区二区_久久精品免视看国产明星_91久久青青青国产免费

您的位置:網站首頁 > Proe教程

基于Virtools的Pro/ENGINEER模型優化

時間:2011-02-23 08:51:08 來源:

  一、前言

  隨著虛擬現實技術的迅速發展和應用,電子電工虛擬實驗室、電氣元 件虛擬裝配、虛擬電子儀器和建筑電氣設備建模等虛擬環境互動的虛擬現 實系統應用日益廣泛。但這些都需要 三維建模以及三維驅動才能實現逼真 的“沉浸”效果。

  V i r t o o l s技術以其強大的三維引 擎功能逐漸得到了廣泛的應用。但V i r t o o l s本身并不具備三維實體模型 的建模能力及角色動畫制作的能力, 所以在使用V i r t o o l s進行虛擬場景構 建時,須借助其他的三維模型建模及 角色動畫制作軟件。而后以其專有的 插件導出成V i r t o o l s專用的格式,但 是其自帶的Virtools Dev模塊只提供了 Maya、3DS MAX、LightWave和XSI四種 建模軟件的輸出插件。而對于用C A D常 用軟件P r o/E N G I N E E R所建立的電氣元 件模型,Virtools Dev并沒有提供Pro/ E N G I N E E R的輸出插件。因此,筆者利 用三種常見的C A D格式對模型進行轉 換,實現Pro/ENGINEER模型向Virtools 的導入。

  二、模型格式轉換

  每一種C A D軟件系統都可以接受某些文件格式的輸入,并能夠進行某些文件格式的輸出。我們把某一種CAD軟件可以接受的輸入文件格式集合定 義為I ={i | i 1,i 2,…,i n,n >0},n 為 輸入文件格式的總數。可以輸出的文件格式集合定義為O ={o|o1,o2,…,om,m >0},m為輸出文件格式的總數,則兩種C A D軟件系統A和B可以進行交 流的條件為:(I A∩O B)∪(O A∩I B)≠Φ ;可以進行雙向交流的條件為:(I A∩O B)∩(O A∩I B)≠Φ 。

  當IA∩OB=Φ或是(IA∩OB)∪(OA∩IB)≠Φ,但由于軟件之間精度而導致轉換效果較差時,B系統的文件是不可以直接轉換到A系統中,雙向交流就更無從談起。這種情況下有兩種解決方法,一是直接開發轉換程序,但此方法耗費的人力和時間非常多所以不常見;另一種是使用第三方軟件C,使得B 和C、C和A滿足上述交換條件。

  由于V i r t o o l s自帶的插件支持由3DS MAX向Virtools Dev導出其所支持 的文件格式。因此,以3D S M A X為媒 介,通過由Pro/ENGINEER到3DS MAX再 到Virtools Dev的方法,可以實現模型 的導入。

  三、模型優化方法

  在Pro/ENGINEER的輸出和3DS MAX的輸入格式中,依照上述原理選擇常見的STL、OBJ和VRML格式分別進行從Pro/ENGINEER到3DS MAX的格式轉換。

  1.STL格式

  STL(Sterolithography)文件格式 是一種為快速原型制造技術(R P M)服務 的三維圖形文件格式。它分為A S CⅡ碼 和二進制兩種。隨著快速原型制造技 術的發展與應用,S T L文件格式也得 到了各C A D/C A M軟件公司的廣泛支持。

  S T L文件表示立體圖形的方式較為簡 單。對于一個獨立的立體圖形,它用許多空間小三角面對其進行逼近,通 過記錄各小三角面的頂點和法向矢量 信息來間接描述原來的立體圖形。

  從Pro/ENGINEER中輸出STL文件可 采用其默認的坐標系,但是要選擇合適 的偏差控制,其參數為“弦高”和“角 度控制”。弦高表示三角形逼近的絕 對誤差,角度控制表示三角形平面與其 逼近的曲面切平面夾角的余弦。很多時 候采用其默認值可能不能保證其轉換精 度,一般情況下弦高選擇0.001至0.002(英寸)或0.025至0.05(m m)為宜,角度 控制可在0.5至1之間選擇,也可根據情 況選擇較小的值。

  導出的S T L文件可以直接導入到3DS MAX中,但是如果在Pro/ENGINEER 中對模型添加了顏色(見圖1),則這 些顏色信息將在3DS MAX中丟失,也就分是說導出的S T L文件并不帶有顏色信 息,而且無論P r o/E N G I N E E R文件是由 多少部分組成的裝配整體,導入到3D S M A X中其文件都是一個整體,并不能單 獨為其添加顏色。這樣對于在Virtools 中進行模型編輯將會帶來麻煩,使之 很難有零件的動作行為。但是3DS MAX 中的修改功能可以彌補這個不足,如 果在添加完顏色后想減少模型的組成,也可選擇“附加”,來減少模型面的組成,如圖2所示。如果有的三角 面片逼近不真實,可以在“分離”后 對單獨的面進行優化,以達到較好的 模型效果,然后就可以按照Virtools的 專有格式通過3DS MAX進行導出。

  2.OBJ格式

  OBJ(Wavefront Object)模型文 件為文本類型,結構比較簡單,它保存的是一些多邊形的信息,諸如頂點 幾何坐標、紋理坐標、點與點如何連 線組成線、面等。用三角形面片拼合 就可以構造出三維物體。每一個O B J文 件都附帶一個材質庫文件,材質庫文 件名由O B J文件中“m t l l i b”關鍵字后 的參數給出,它描述了O B J文件中所使 用的材質信息,結構與OBJ文件類似。

  O B J文件與S T L文件組合模型的方 式類似,都是用三角形面片進行構造 三維物體。正是由于O B J文件本身附帶 了材質庫文件,這樣在Pro/ENGINEER中 的模型顏色信息將不會在導入3D S M A X 后丟失。而且O B J文件也保留了P r o/ E N G I N E E R模型的原組成,但是需要在“組”菜單下進行“解組”,即P r o/ E N G I N E E R的*.a s m文件含有多少個零件 在3D S M A X中解組后就有多少部分,而 并不象S T L文件那樣把P r o/E N G I N E E R模 型導成一個整體。但是,由于軟件之 間的算法和精度不同,OBJ文件較STL文件容易出現破面,即三角面丟失、產生裂縫或是由材質信息丟失而導致面透明。而3DSMAX中的修改功能亦可以彌補這個不足。

  在從Pr o/ENGINEE R導出OBJ 文件時除了“弦高”和“角度控 制”這兩個參數外,還要根據提示選擇要導出的物體以及參考平面,然后導入3D S M A X中,如圖3 所示。圖3中明顯出現了面丟失的 現象,解決方法如下。

  (1)方法一(見圖4) 這樣便可解決由于顏色丟失而產生的破面。

  (2)方法二(見圖5) 還可以對其邊、面進行拉伸從而修補破面,修補后如圖6所示。修補后 的模型就可以導入到Virtools中了。

  3.VRMLVRML是描述多維交互式模擬環境 的一種語言。這種模擬環境,就是通 過全球Internet和World Wide Web上的超鏈接形成的虛擬世界。虛擬世界所 有組成部分的顯示、交互和網絡接口 都能用VRML進行描述。

  V R M L的造型不是實體模型而是面模型,VRML不提供對幾何形體的精確表達,即VRML所描述的幾何形體不能 作為產品設計生產的依據。雖然VRML具有一些簡單的基本體素節點,如長方體、球體和圓柱體,但它不支持體 素的布爾運算。對于不完整的基本體素、復雜形體、自由曲面等,VRM L統一使用面片擬合方法實現。

  在Pro/ENGINEER導出VRML 文件的時候,可以選擇默認的 設置,也可以將“視圖”和“參數”都選擇為“無”。導 入到3D S M A X后,其顏色信息 得到了保留,但是會多出許多除了模型之外的其他東西,而 且模型尺寸也較小。首先全部 選擇模型后進行放大,以便直 觀觀察導入的模型;其次所謂的多余東西是相機和輔助對象,這是VRML文件自帶的信息,只要在選中后對其進行刪除,剩下的就是我們所需 要的模型。

  但是此時的模型已不是Pro/ENGINEER中的組成部分,而是變成了許多的面片,可以利用“附加”功能,按照自己的需要對其進行模型結構的重組。之后就可以按照Virtools的專有格式導入了,此時注意,導入后其模型尺寸比較小,需要在Virtools中進行放大,如圖7所示。

  四、比較與分析

  如圖8所示,三種格式均采用面片擬合、逼近的方法進行建模,并不像 Pro/ENGINEER那樣是實體模型。

  STL文件無論是ASCII碼格式還是二進制格式,其定義都非常清晰、明確、易懂。但是STL文件也有如下不足:一是在模型表面上相鄰的三角形在S TL文件中不一定保持相鄰關系;二是多個三角形的公共頂點坐標被重復地列出,而且其不帶有色彩信息,并自動將模型合并成了一個整體。正是由于以上原因,STL格式對于零件較多、體積較大的Pr o/ENGINEER模型將會出現倒角不明顯,三角面片逼近圓形、不真實的缺點。

  OBJ文件雖然帶有顏色信息,但是其出現破面的幾率較STL文件高,其缺陷表現為:法向量錯 誤、多邊共線、裂縫或覆蓋、孔洞,由此而導致破面的出現。然而OBJ格式對于任何模型,無論其 大小,其三角面片逼近都是相似的,不會出現部分曲面逼近不真實的情況。

  V R M L文件具有較好的面片擬 合特性,而且其自身還帶有鮮明 的顏色信息,對于在3DS MAX中的 優化只是刪減多余的部分和對其 面片進行重組。但是對于建模實 體零件較多的模型,導入3DS MAX 后其面片會很多,所以對于面片 重組的運算時間將會延長;但是 如果模型只是在V i r t o o l s中充當 視景的作用則沒有實際的動畫要求,面片重組可以適當地減少以 縮短運算時間。

  綜上所述,對于色彩種類較 少的模型可以采用S T L格式導出, 對于色彩較多且文件較小的模型 可以采用V R M L格式導出,對于色彩較 多且文件較大的Pro/ENGINEER模型可以 采用O B J格式導出。其三種格式各有優 點,在實際操作中要靈活采用。

  五、應用

  將Pr o/ENGINEER的三維模型通過上述方法進行格式轉換,成功導入到Virtools中后進行三維驅動,建立了電氣設備的虛擬操作實驗室。由于該實驗室的模型要有明顯的顏色信息,且大部分只是作為沒有動畫的場景,故而主要采用OBJ格式和VRML格式進行轉換和優化,最后達到了模型作為虛擬場景的要求,如圖9所示。

  六、結論

  無論哪一種文件格式,都有可能出現破面或是逼近不真實的問題,但 都可以利用前述方法通過3DS MAX對其 進行優化,使得P r o/E N G I N E E R模型在 不丟失原特征的情況下較好地導入到 Virtools中。對于電氣類的元件模型, 針對其顏色信息多、模型擬合面片較少,且大多是作為固定的視景模型使 用的特點,比較適宜采用O B J格式和 VRML格式進行格式轉換。

  由于本文所采用的三種格式都是 C A D軟件中比較常見的類型,其模型轉 換方法不僅適用于Pro/ENGINEER和3DS M A X之間,同時也為其他C A D軟件間的 模型轉換提供了參考依據,其模型轉 換和優化方法具有一定的普遍性。