Open Inventor經過TGS數(shù)年來的發(fā)展, 在3D Visualization領域上已經成為領導的先驅, 開發(fā)者可以使用各類功能強大的對象, 且透過重復使用這些對象將能快速發(fā)展繪圖應用軟件, 增加軟件的開發(fā)效率, 如此可以節(jié)省許多開發(fā)的時間, 使得軟件提早進入市場, 并使得繪圖效率能夠得到最佳化的保證Open Inventor目前已成為世界上被廣泛使用的對象導向繪圖軟件開發(fā)接口, 其提供輸入增強工具Data Converters以使其3D對象圖形庫更為豐富。Data Converters可以將CADCAM數(shù)據(jù)格式轉成IV數(shù)據(jù)格式。這些功能的執(zhí)行允許Open Inventor的開發(fā)人員任意添加現(xiàn)有的大量數(shù)據(jù)模型。但是Open Inventor只能輸出自身生成的IV數(shù)據(jù)格式, 不支持其它數(shù)據(jù)格式的輸出, 這就使得其與現(xiàn)有的其它CADCAM軟件的交流出現(xiàn)困難, 為此我們設計一種方法使IV數(shù)據(jù)格式可以與其它數(shù)據(jù)格式進行轉換。 本文以IV數(shù)據(jù)格式向STL數(shù)據(jù)格式轉換為例, 提出一種將IV數(shù)據(jù)格式向其它數(shù)據(jù)格式進行轉換的方法。
1 IV數(shù)據(jù)格式
IV數(shù)據(jù)格式是Open Inventor自身特有的模型數(shù)據(jù)格式, 每當對一個node、path或path list執(zhí)行一個寫操作時, 輸出數(shù)據(jù)就以這種格式寫出。 可以將這種格式的數(shù)據(jù)讀入Inventor scene數(shù)據(jù)庫。 這種數(shù)據(jù)格式也可以用來轉換3維模型, 并在過程之間交換數(shù)據(jù)。
IV數(shù)據(jù)格式是通過三維模型表面的三角網格化獲得的。Open Inventor的數(shù)據(jù)格式有,2種形式:ASC碼形式和二進制形式。 二進制形式的數(shù)據(jù)格式容量較小但不易閱讀理解,ASC碼形式的數(shù)據(jù)格式便于閱讀分析, 通常Open Inventor默認保存為ASC碼形式。ASC碼格式的IV數(shù)據(jù)格式主要由文件頭部、節(jié)點(域)信息、域關系、引擎數(shù)據(jù)、全局變量等部分構成, 其中文件頭部用來說明數(shù)據(jù)格式的類型和版本信息, 其它部分為IV數(shù)據(jù)格式的內部節(jié)點信息說明。以下為IV數(shù)據(jù)格式ASC碼形式的示例:
#Inventor V2.1 ascii
Separator{
Separator{
Translation{translation 050}
Cone{}
}
Annotation{
LightModel{model BASE_COLOR}
Drawstyle{style LINES}
Cube{}
}
}
2 STL數(shù)據(jù)格式
STL格式是目前快速成型系統(tǒng)中最常見的一種數(shù)據(jù)格式。STL數(shù)據(jù)格式是通過對CAD模型或曲面模型進行表面三角網格劃分而得到的,就是用一種全由小三角形面片構成的多面體去近似還原CAD模型,所以三角形面片的個數(shù)與該模型的近似程度密切相關。三角形面片數(shù)量越多,近似程度越好,精度越高。三角形面片數(shù)越少,則近似程度越差。 用同一CAD模型生成,精度不同的STL文件,精度高者可能要包含多達上萬個三角形面片,文件達數(shù)兆,而精度低者可能只用幾百個三角形面片,面片多少對后續(xù)處理的時間和難度影響很大。
STL數(shù)據(jù)格式是若干空間小三角形面片的集合,每個三角形面片用三角形的3個頂點和指向模型外部的三角形面片的法向矢量組成。STL數(shù)據(jù)格式有2種形式,一種是ASC形式,另一種是二進制形式。 二進制的數(shù)據(jù)格式要小得多,大約是ASC格式的1/6,但ASC格式的數(shù)據(jù)格式可以閱讀并能進行直觀檢查。本文討論STL數(shù)據(jù)格式的ASC形式。
ASC數(shù)據(jù)格式的第一行為說明行,記錄STL數(shù)據(jù)格式的文件名,從第二行開始記錄三角形面片,首先記錄三角形面片的法向量,然后記錄環(huán),依次給出3個頂點的坐標,3個頂點的順序與該三角形面片法向量符合“右手法則”。這樣一個三角形面片的信息記錄完畢,開始記錄下一個三角形面片,直到將整個模型的全部三角形面片記錄完畢。 圖1是ASC碼輸出形式的示例。
圖1 STL數(shù)據(jù)格式的ASC形式(片斷)
#p#分頁標題#e#3 IV格式向STL格式轉換
3.1 數(shù)據(jù)轉換的可行性分析
IV數(shù)據(jù)格式和STL數(shù)據(jù)格式都是通過三維模型表面的三角網格化獲得的,都是若干空間小三角形面片的集合。 也就是說,不論其具體形式如何,其數(shù)據(jù)格式本質上都是記錄物體表面提取后的三角形網格。 因此我們考慮通過對IV數(shù)據(jù)格式進行三角網格信息讀取來得到STL數(shù)據(jù)格式所需的信息,得到STL數(shù)據(jù)格式。
3.2 IV數(shù)據(jù)格式的信息讀取
從IV數(shù)據(jù)格式中讀取對物體表面進行三角化后所生成的三角形網格的頂點座標、法向矢量、頂點序列、法向序列等信息,將信息存入臨時存儲區(qū)。 其實現(xiàn)程序流程圖如圖2所示。
3.3 STL數(shù)據(jù)格式的輸出
將STL數(shù)據(jù)格式所需的頂點坐標、法向矢量、頂點序列等信息從臨時存儲區(qū)中讀取,以STL數(shù)據(jù)格式輸出。其程序流程圖如圖3所示。
4 試驗結果
本文所介紹的IV數(shù)據(jù)格式向STL數(shù)據(jù)格式轉換的方法已經完成了程序實現(xiàn),并應用在虛擬油泥造型系統(tǒng)中,取得了預想的效果。
圖4 某車型IV數(shù)據(jù)格式在Inventor軟件中的顯示效果
圖5 該車型IV數(shù)據(jù)格式
圖4為某車型IV數(shù)據(jù)格式在Inventor軟件中的顯示效果,圖5為該車型IV數(shù)據(jù)格式,通過本文所介紹的方法轉換后輸出的STL數(shù)據(jù)格式在UG軟件中的顯示效果。由此可見,本方法可以實現(xiàn)IV數(shù)據(jù)格式向STL數(shù)據(jù)格式的轉換且無誤差和數(shù)據(jù)損失,是一種理想的數(shù)據(jù)轉換方法。
5 結論
本文以IV數(shù)據(jù)格式向STL數(shù)據(jù)格式轉換為例介紹了一種數(shù)據(jù)轉換方法,此方法通過讀取IV數(shù)據(jù)格式中STL數(shù)據(jù)格式所需的信息完成2種格式的轉換,此方法不產生誤差且無數(shù)據(jù)損失,是一種理想的數(shù)據(jù)轉換方法。 此方法可以推廣到IV數(shù)據(jù)格式與其它數(shù)據(jù)格式的轉換中,使得Open Inventor的數(shù)據(jù)輸出接口更加豐富,更好地與其它CAD/CAM軟件進行數(shù)據(jù)交流。
相關文章
- 2021-09-08BIM技術叢書Revit軟件應用系列Autodesk Revit族詳解 [
- 2021-09-08全國專業(yè)技術人員計算機應用能力考試用書 AutoCAD2004
- 2021-09-08EXCEL在工作中的應用 制表、數(shù)據(jù)處理及宏應用PDF下載
- 2021-08-19清華社“視頻大講堂”大系AutoCAD 2012中文版機械設計
- 2021-08-11中文版 AutoCAD Mechanical 2005 機械制圖基礎教程PDF
- 2021-08-03Autodesk Revit機電應用入門篇 [王君峰 編著] 2013年P
- 2021-08-03Autodesk RevitStructure實例詳解 [黃亞斌,徐欽 主編]
- 2021-08-03Autodesk RevitStructure2012應用寶典 [歐特克軟件(中
- 2021-08-03Autodesk RevitMEP2014管線綜合設計應用全彩 [柏慕進
- 2021-08-02Autodesk RevitMEP2012應用寶典 [歐特克軟件(中國)有限