一、概述
前面講解過模型在內存中的結構,現在回顧一下,當模型導入成功后,整個模型數據會以原生結構的 PRC 組裝樹形式存放到內存中。()
PRC結構的主要類型包含四種,分別是模型文件(Model file)、產品結構節點(Product Occurrence)、零件定義(Part definitions)和表示項(Representation items),其具體結構圖如下:

下面我們根據這個脈絡,從文件的指針入手,簡單說一下如何獲取到模型的幾何數據。
二、遍歷模型
1、模型入口
我們在導入模型后,會獲取到導入模型的文件指針(A3DAsmModelFile* m_psModelFile),它是我們遍歷模型所有數據的入口。
2、解析產品結構節點(Product Occurrence)
接下來我們根據文件指針m_psModelFile查找其對應的A3DAsmModelFileData數據,在A3DAsmModelFileData數據中可以獲取到“產品結構節點(Product Occurrence)”的數量和子節點集合。
之后判斷子節點的類型,如果子節點也是“產品結構節點”類型,則進行遞歸,查找子節點下面的子節點,這樣不斷遞歸,就可以將模型中所有的“產品結構節點”找出。
如果子節點的類型是“零件定義(Part definitions)”類型,則就進行下面的解析“零件定義(Part definitions)”節點的操作。
3、解析零件定義(Part definitions)
在獲取到“零件定義(Part definitions)”節點后,我們可以獲取到“零件定義(Part definitions)”節點對應的“零件定義數據”,通過“零件定義數據”就可以獲取到該節點對應的“表示項(Representation items)”的數量和集合。
這一級節點的解析比較簡單,沒有遞歸。
4、解析表示項(Representation items)
在獲取到“表示項(Representation items)”節點后,我們就可以獲取該節點封裝的細分數據和 B-rep數據。
其中細分數據一定會有,即便源模型中沒有,HOOPS Exchange也會生成;B-rep數據可能會有,因為有的源模型格式并不支持B-rep數據。
下面分別介紹這兩種數據。
三、細分曲面數據(Tessellation)
細分曲面數據可以理解成我們肉眼所見的網格數據。我們可以獲取到表示項中默認的細分曲面數據,但對于許多應用程序,獲得默認曲面細分是不夠的,因此可以設置細分曲面數據中的參數,根據這些參數重新生成符合要求的細分曲面數據。
A3DRWParamsTessellationData可以影響細分曲面數據的生成,其參數如下:
-
TessellationLevelOfDetail - 由其它A3DRWParamsTessellationData預設值組成的高級設置。如果選擇UserDefined,我們可以自定義自己的一組值。
-
AccurateTessellation - 將此值設置為true將生成更適合分析的細分。可用于所有細分級別。
-
AccurateTessellationWithGrid - 一種精確的曲面細分模式,其中在網格布局中插入點。
-
ChordHeightRatio - 指定邊界框的對角線長度與弦高的比率。
-
AngleToleranceDeg - 指定邊的兩個連續段之間的角度。
-
MaxChordHeight(和UseHeightInsteadOfRatio) - 指定曲面和生成的細分之間的最大距離。
-
KeepUV - 將參數點保留為紋理點。
-
AccurateSurfaceCurvatures. 曲面細分傾向于沿曲率創建更適合的三角形。
TessellationLevelOfDetail 和AccurateTessellation 設置的效果如下:
AccurateTessellationWithGrid 的設置效果如下:
標準精確細分

通過插入網格對齊點進行精確細分
AccurateTessellationWithGridMaximumStitchLength、AccurateSurfaceCurvatures設置效果如下:
四、B-rep 數據(B-rep Data)
B-rep 數據是用數學來描述模型的數據,它是幾何造型中最成熟、無二義的表示數據。
以下實體包含表示 B-rep 數據的幾何數據:
-
Face:一個曲面和一組Loop。
-
Shell:Face實體的集合。
-
Connex:Shell實體的集合。
-
Topology B-rep 數據:拓撲邊界表示法,由邊界框和對多個Connex實體的引用組成。
以下為HOOPS Exchange B-rep 的拓撲結構圖:
如果您的企業目前也有3D可視化、3D數據格式轉換的需求,歡迎訪問慧都網咨詢在線客服或直接撥打023-68661681,我們將免費為您定制3D解決方案并發送相關案例資料!
經過10余年的經驗沉淀,慧都3D研發團隊推出了一系列的工業3D解決方案,包括BIM解決方案、PDM解決方案、CAE解決方案、機器人運動仿真解決方案、協同設計解決方案、3D打印解決方案,詳情請點擊此處了解。
關于HOOPS可視化
Tech Soft 3D的旗艦圖形引擎已為20多年來成功合作的程序提供最先進的圖形支持,這些軟件包括來自Oracle,SOLIDWORKS,Trimble,Hexagon,ANSYS,3D Systems,Mitutoyo,Actify等。全球各地的公司都依賴HOOPS Visualize在平臺,設備和圖形卡之間實現極高的性能,和一致的穩定性。有興趣探索HOOPS Visualize API功能的開發人員可以。
關于Tech Soft 3D
Tech Soft 3D是全球領先的開發工具提供商,可幫助軟件團隊交付成功的應用程序。Tech Soft 3D成立于1996年,總部位于俄勒岡州本德市,并在加利福尼亞州,法國,英國和日本設有辦事處。該公司的工具包產品為全球數億臺計算機上運行的近500個獨特應用程序提供支持。
掃碼關注“HOOPS”微信公眾號,及時獲取更多hoops技術資訊
標簽:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn