資源描述:
《siemens plm sortware征文:ug openflight數(shù)據(jù)交換輸出接口開發(fā)技術(shù)研究_產(chǎn)品創(chuàng)新數(shù)字化(plm)_pdm-plm_803》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、SiemensPLMSortware征文:UGOpenFlight數(shù)據(jù)交換輸出接口開發(fā)技術(shù)研究_產(chǎn)品創(chuàng)新數(shù)字化(PLM)_PDM/PLM???1前言??????Unigraphics(UG)軟件是高端CAD/CAE/CAM系統(tǒng),目前在汽車、航空航天、機(jī)械制造等領(lǐng)域應(yīng)用廣泛。OpenFlight格式是MultiGen-Paradigm公司設(shè)計(jì)開發(fā)的視景仿真數(shù)據(jù)格式,目前廣泛應(yīng)用于視景仿真、虛擬現(xiàn)實(shí)等技術(shù)領(lǐng)域,它是Vega、VegaPrime等視景仿真開發(fā)平臺(tái)的專用數(shù)據(jù)格式,多數(shù)虛擬現(xiàn)實(shí)開發(fā)環(huán)境都與之兼容。??????截至到目前,UG不提供OpenFlight數(shù)據(jù)交換接口,無法直
2、接把UG模型文件轉(zhuǎn)換為OpenFlight數(shù)據(jù)文件。然而在場(chǎng)景漫游、虛擬裝配/拆卸、虛擬培訓(xùn)、虛擬樣機(jī)等眾多領(lǐng)域,常常需要把UG模型數(shù)據(jù)轉(zhuǎn)換為OpenFlight數(shù)據(jù)格式文件。目前較為常用的技術(shù)途徑是把UG文件轉(zhuǎn)換為某種中性格式(如VRML、STL、PLY等),然后通過某個(gè)商用轉(zhuǎn)換軟件把中性文件轉(zhuǎn)換為OpenFlight數(shù)據(jù)文件,這種方式經(jīng)過多次數(shù)據(jù)轉(zhuǎn)換,缺陷較大,比較突出的問題是模型的拓?fù)浣Y(jié)構(gòu)和裝配層次在轉(zhuǎn)換過程中的丟失以及轉(zhuǎn)換后生成的多邊形數(shù)量難以控制。??????為解決上述問題,必須開發(fā)UG到OpenFlight的數(shù)據(jù)交換接口。??????2文件描述及組織方式分析???
3、???UG和OpenFlight之間的模型轉(zhuǎn)換問題源于視景仿真環(huán)境與CAD環(huán)境中對(duì)形體描述方法的差異,UG采用參數(shù)曲面來描述三維幾何形體并保留了模型的建模過程,OpenFlight則采用多邊形描述任意幾何,并通過多邊形數(shù)量的增減、紋理映射實(shí)現(xiàn)對(duì)物體的細(xì)節(jié)描述。??????UG幾何建模核心Parasolid的模型結(jié)構(gòu)(圖1)包括拓?fù)洹缀魏拖嚓P(guān)數(shù)據(jù)三個(gè)部分。其中裝配件是一個(gè)對(duì)其它裝配件或體的指針的集合;每一個(gè)指針被稱為一個(gè)實(shí)例;變換表示幾何操作,包括平移、旋轉(zhuǎn)等,主要依附于實(shí)例。???OpenFlight是典型的層次型數(shù)據(jù)存儲(chǔ)格式,各個(gè)層次數(shù)據(jù)之間通過樹狀結(jié)構(gòu)描述各類節(jié)點(diǎn)之間的
4、聯(lián)系,它通過幾何體(Geometry)、層次(hierarchy)和屬性(attributes)三種元素定義三維物體。其中幾何體把三維模型看作一系列有序坐標(biāo)點(diǎn)的集合,包含多邊形、邊和頂點(diǎn),可以構(gòu)造平面,并通過一系列平面逼近任意三維形體;幾何體通過層次關(guān)系組織在一起;屬性用來提供節(jié)點(diǎn)的附加特性,包括顏色、紋理、材質(zhì)等屬性,從而獲得需要的三維可視效果。一個(gè)典型的OpenFlight場(chǎng)景結(jié)構(gòu)如圖2所示。???可以看出,UG和OpenFlight之間的數(shù)據(jù)轉(zhuǎn)換的關(guān)鍵在于把參數(shù)曲面轉(zhuǎn)換為某種近似程度的多邊形網(wǎng)格模型,并按照規(guī)定的層次和結(jié)構(gòu)進(jìn)行多邊形網(wǎng)格存儲(chǔ)。???3?UGOpenFli
5、ght輸出接口開發(fā)技術(shù)??????3.1總體技術(shù)方案??????圖3是UGOpenFlight輸出接口開發(fā)技術(shù)方案流程圖,該方案分為UG模型相關(guān)信息獲取和OpenFlight文件寫入兩個(gè)階段,第一階段通過UG提供的二次開發(fā)接口NXOpenC和NXOpenC++遍歷需要轉(zhuǎn)換的UGCAD模型,通過開發(fā)實(shí)現(xiàn)參數(shù)曲面離散及多邊形網(wǎng)格剖分算法、裝配層次和拓?fù)浣Y(jié)構(gòu)自動(dòng)提取等算法,把得到的裝配層次信息、零部件方位矩陣、相關(guān)屬性信息、模型拓?fù)浣Y(jié)構(gòu)和模型多邊形網(wǎng)格信息等保存在相應(yīng)的數(shù)據(jù)結(jié)構(gòu)中。第二階段通過OpenFlightAPI把保存的相關(guān)信息通過裝配層次關(guān)系重構(gòu)、模型拓?fù)浣Y(jié)構(gòu)重構(gòu)等算法保存
6、為需要的OpenFlight格式文件。??????由于該方案在內(nèi)部封裝實(shí)現(xiàn)了參數(shù)曲面離散和多邊形網(wǎng)格剖分算法,因此可以通過調(diào)整相關(guān)參數(shù)快速方便的得到一系列不同層次細(xì)節(jié)的多邊形網(wǎng)格模型。??????3.2數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)??????設(shè)計(jì)結(jié)構(gòu)的設(shè)計(jì)要同時(shí)考慮UG和OpenFlight的文件組織和場(chǎng)景描述,對(duì)于UGCAD模型而言,分為裝配模型和零件模型兩類,UG中的裝配以樹狀結(jié)構(gòu)組織裝配中的組件和零件,一個(gè)部件文件只能有一個(gè)根節(jié)點(diǎn),UG裝配文件指向下屬部件的幾何體及特征,只包含對(duì)零件模型的虛擬引用而不包含具體的模型幾何,當(dāng)模型文件修改以后,UG裝配中的相關(guān)數(shù)據(jù)會(huì)自動(dòng)更新。設(shè)計(jì)了類似如下
7、數(shù)據(jù)結(jié)構(gòu):???structPoint3d{?floatx;?floaty;?floatz;}?//代表三維空間中的一個(gè)點(diǎn)坐標(biāo)。???structPtNorm{floatx_norm;floaty_norm;floatz_norm;}//代表某個(gè)點(diǎn)的法向量。???structTriIndex?//代表一個(gè)三角形網(wǎng)格???{longpt1_idx;longpt2_idx;longpt3_idx;//代表一個(gè)三角形的三個(gè)頂點(diǎn)的索引值???longpt1_NormIdx;longpt2_NormIdx;lon