原創(chuàng)|行業(yè)資訊|編輯:吳秋紅|2023-11-03 10:35:12.963|閱讀 111 次
概述:HOOPS Exchange是一個(gè)強(qiáng)大的軟件開發(fā)工具包,提供了處理和將3D CAD數(shù)據(jù)從一種格式轉(zhuǎn)換為另一種格式的解決方案。它允許開發(fā)團(tuán)隊(duì)輕松構(gòu)建,通過單一接口將CAD數(shù)據(jù)轉(zhuǎn)換為30多種文件格式的應(yīng)用程序,支持的格式包括Catia、SolidWorks、CREO、AutoDesk inventor、STEP、SIEMENS NX等。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
3D CAD數(shù)據(jù)在制造、工程和設(shè)計(jì)等各個(gè)領(lǐng)域都扮演著重要的角色。為了促進(jìn)不同軟件應(yīng)用程序之間的協(xié)作和互操作性,它通常以不同的格式進(jìn)行交換。是一個(gè)強(qiáng)大的軟件開發(fā)工具包,提供了處理和將3D CAD數(shù)據(jù)從一種格式轉(zhuǎn)換為另一種格式的解決方案。
允許開發(fā)團(tuán)隊(duì)輕松構(gòu)建,通過單一接口將CAD數(shù)據(jù)轉(zhuǎn)換為30多種文件格式的應(yīng)用程序,支持的格式包括Catia、SolidWorks、CREO、AutoDesk inventor、STEP、SIEMENS NX等,還支持訪問廣泛的數(shù)據(jù),包括以其原生形式的B-REP、視覺、語義PMI、可視化視圖和構(gòu)造幾何等等。這些都不用依賴任何CAD系統(tǒng),可以讓您的用戶隨時(shí)隨地訪問它們的數(shù)據(jù)。
今天本文將詳細(xì)介紹的是:工具HOOPS Exchange是如何獲取模型的幾何數(shù)據(jù)的。
1、概述
前面講解過模型在內(nèi)存中的結(jié)構(gòu),現(xiàn)在回顧一下,當(dāng)模型導(dǎo)入成功后,整個(gè)模型數(shù)據(jù)會(huì)以原生結(jié)構(gòu)的 PRC 組裝樹形式存放到內(nèi)存中。
PRC結(jié)構(gòu)的主要類型包含四種,分別是模型文件(Model file)、產(chǎn)品結(jié)構(gòu)節(jié)點(diǎn)(Product Occurrence)、零件定義(Part definitions)和表示項(xiàng)(Representation items),其具體結(jié)構(gòu)圖如下:
下面我們根據(jù)這個(gè)脈絡(luò),從文件的指針入手,簡(jiǎn)單說一下如何獲取到模型的幾何數(shù)據(jù)。
2、遍歷模型
2.1 模型入口
我們?cè)趯?dǎo)入模型后,會(huì)獲取到導(dǎo)入模型的文件指針(A3DAsmModelFile* m_psModelFile),它是我們遍歷模型所有數(shù)據(jù)的入口。
2.2 解析產(chǎn)品結(jié)構(gòu)節(jié)點(diǎn)(Product Occurrence)
接下來我們根據(jù)文件指針m_psModelFile查找其對(duì)應(yīng)的A3DAsmModelFileData數(shù)據(jù),在A3DAsmModelFileData數(shù)據(jù)中可以獲取到“產(chǎn)品結(jié)構(gòu)節(jié)點(diǎn)(Product Occurrence)”的數(shù)量和子節(jié)點(diǎn)集合。
之后判斷子節(jié)點(diǎn)的類型,如果子節(jié)點(diǎn)也是“產(chǎn)品結(jié)構(gòu)節(jié)點(diǎn)”類型,則進(jìn)行遞歸,查找子節(jié)點(diǎn)下面的子節(jié)點(diǎn),這樣不斷遞歸,就可以將模型中所有的“產(chǎn)品結(jié)構(gòu)節(jié)點(diǎn)”找出。
如果子節(jié)點(diǎn)的類型是“零件定義(Part definitions)”類型,則就進(jìn)行下面的解析“零件定義(Part definitions)”節(jié)點(diǎn)的操作。
2.3 解析零件定義(Part definitions)
在獲取到“零件定義(Part definitions)”節(jié)點(diǎn)后,我們可以獲取到“零件定義(Part definitions)”節(jié)點(diǎn)對(duì)應(yīng)的“零件定義數(shù)據(jù)”,通過“零件定義數(shù)據(jù)”就可以獲取到該節(jié)點(diǎn)對(duì)應(yīng)的“表示項(xiàng)(Representation items)”的數(shù)量和集合。
這一級(jí)節(jié)點(diǎn)的解析比較簡(jiǎn)單,沒有遞歸。
2.4 解析表示項(xiàng)(Representation items)
在獲取到“表示項(xiàng)(Representation items)”節(jié)點(diǎn)后,我們就可以獲取該節(jié)點(diǎn)封裝的細(xì)分?jǐn)?shù)據(jù)和B-rep數(shù)據(jù)。
其中細(xì)分?jǐn)?shù)據(jù)一定會(huì)有,即便源模型中沒有,HOOPS Exchange也會(huì)生成;B-rep數(shù)據(jù)可能會(huì)有,因?yàn)橛械脑茨P透袷讲⒉恢С諦-rep數(shù)據(jù)。
下面分別介紹這兩種數(shù)據(jù)。
3、細(xì)分曲面數(shù)據(jù)(Tessellation)
細(xì)分曲面數(shù)據(jù)可以理解成我們?nèi)庋鬯姷木W(wǎng)格數(shù)據(jù)。我們可以獲取到表示項(xiàng)中默認(rèn)的細(xì)分曲面數(shù)據(jù),但對(duì)于許多應(yīng)用程序,獲得默認(rèn)曲面細(xì)分是不夠的,因此可以設(shè)置細(xì)分曲面數(shù)據(jù)中的參數(shù),根據(jù)這些參數(shù)重新生成符合要求的細(xì)分曲面數(shù)據(jù)。
A3DRWParamsTessellationData可以影響細(xì)分曲面數(shù)據(jù)的生成,其參數(shù)如下:
TessellationLevelOfDetail和AccurateTessellation設(shè)置的效果如下:
AccurateTessellationWithGrid的設(shè)置效果如下:
標(biāo)準(zhǔn)精確細(xì)分
通過插入網(wǎng)格對(duì)齊點(diǎn)進(jìn)行精確細(xì)分
AccurateTessellationWithGridMaximumStitchLength、AccurateSurfaceCurvatures設(shè)置效果如下:
B-rep數(shù)據(jù)(B-rep Data)
B-rep數(shù)據(jù)是用數(shù)學(xué)來描述模型的數(shù)據(jù),它是幾何造型中最成熟、無二義的表示數(shù)據(jù)。
以下實(shí)體包含表示B-rep數(shù)據(jù)的幾何數(shù)據(jù):
以下為 B-rep的拓?fù)浣Y(jié)構(gòu)圖:
慧都科技是Tech Soft 3D-HOOPS在中國(guó)區(qū)的唯一增值服務(wù)商,負(fù)責(zé)試用,咨詢,銷售,技術(shù)支持,售后,旨在為企業(yè)提供一站式的3D開發(fā)解決方案。如果您的企業(yè)目前也有、的需求,歡迎咨詢?cè)诰€客服申請(qǐng)3D 輕量化引擎HOOPS的60天免費(fèi)試用。
↓↓掃碼添加客服微信,及時(shí)獲取“HOOPS技術(shù)”支持↓↓
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn