什么是 HOOPS Exchange?
是一組軟件庫,可以幫助開發(fā)人員在開發(fā)應(yīng)用程序時讀取和寫入主流的 2D 和 3D 格式。HOOPS Exchange 支持 在主流的3D 文件格式中讀取 CAD 數(shù)據(jù),并支持將 3D 數(shù)據(jù)轉(zhuǎn)換為 PRC 數(shù)據(jù)格式,這是一種高度可壓縮和開放的文件格式,并已通過國際標(biāo)準(zhǔn)化組織 (ISO 14739-1:2014) 的認(rèn)證。PRC 也是 Adobe PDF 中用于 3D 的格式之一。HOOPS Exchange 持續(xù)優(yōu)化讀取各種 3D 數(shù)據(jù)的功能,尤其是對于來自計算機(jī)輔助設(shè)計 (CAD) 系統(tǒng)的數(shù)據(jù)。
HOOPS Exchange 的典型用途
二、準(zhǔn)確性:參數(shù)信息的保存
具有用于描述主流和非流形模型的完整拓?fù)浣Y(jié)構(gòu),同時也可以為頂點和邊保留局部公差。
PRC 文件格式包括由主要機(jī)械 CAD 系統(tǒng)、相關(guān)開放標(biāo)準(zhǔn)(例如 STEP 和 IGES)定義和使用的所有幾何實體的聯(lián)合。每個實體都以原始建模系統(tǒng)定義的原始參數(shù)形式存儲。因此,PRC 與許多現(xiàn)有標(biāo)準(zhǔn)相比具有顯著優(yōu)勢,因為在以 PRC 表示 3D 曲線和曲面數(shù)據(jù)時,不需要損失精度或準(zhǔn)確度。
為以下表面類型保留了表面定義:
-
混合
-
錐體
-
圓柱
-
擠壓
-
曲線
-
NURBS
-
抵消
-
管道
-
飛機(jī)
-
革命
-
統(tǒng)治的
-
領(lǐng)域
-
環(huán)面
所有曲線和曲面都可以用精確到用戶指定公差的 NURBS 曲線和曲面進(jìn)行擬合。
查詢建模器特定表面
提供了訪問功能,以便所有建模器特定的曲線和曲面都可以以其原始參數(shù)形式獲得。此外,可以使用 HOOPS Exchange 中的相應(yīng)功能創(chuàng)建包含建模器特定曲線和曲面定義的 PRC 文件。
轉(zhuǎn)換為一般曲面
提供了將所有建模器特定的曲線和曲面轉(zhuǎn)換為標(biāo)準(zhǔn)通用形式的功能,即 NURBS。可以為轉(zhuǎn)換過程指定公差,以生成的曲線或曲面精確到該公差(通常為 0.001 毫米)內(nèi)。
測量
HOOPS Exchange 提供了基于 UV 參數(shù)化直接測量建模器特定表面的功能,以返回準(zhǔn)確的 3D 點。
三、壓縮
以 PRC 格式存儲的文件可以進(jìn)行高度壓縮。由 HOOPS Exchange 編寫的壓縮 PRC 文件通常比原始專有 CAD 文件小 100 倍,通常比 U3D(一種仍在 PDF 中使用的傳統(tǒng) 3D 格式)小三倍。
常規(guī)壓縮
常規(guī)壓縮是指直接表示 CAD 數(shù)據(jù),而不丟失或轉(zhuǎn)換原始 CAD 系統(tǒng)。常規(guī)壓縮包括:
-
曲線和曲面的特定于建模器的表示,通常比廣義 NURBS 表示壓縮得多。保留它們會導(dǎo)致文件更小且包含更準(zhǔn)確的數(shù)據(jù)。
-
PRC 格式具有某些狀態(tài)信息的當(dāng)前值的概念。這意味著此狀態(tài)信息不必在文件中重復(fù)。
-
除了標(biāo)題部分之外,PRC 文件的所有部分都使用 Flate 方法單獨壓縮。
Flate方法基于公共域deflate壓縮,是一種與自適應(yīng)霍夫曼編碼級聯(lián)的可變長度Lempel-Ziv自適應(yīng)壓縮方法。這種形式的壓縮被認(rèn)為是“無損”的。無論PRC文件的實際內(nèi)容如何,它都會系統(tǒng)地發(fā)生,即使它還包含壓縮參數(shù)或鑲嵌幾何圖形。
高壓縮
參數(shù)化和細(xì)分幾何都可以以壓縮形式存儲在 PRC 文件中,以相對于原始形狀達(dá)到指定的物理容差。對于參數(shù)數(shù)據(jù),此公差通常為 0.001 毫米,對于鑲嵌數(shù)據(jù),此公差通常為 0.01 毫米。
對于 NURBS 數(shù)據(jù)節(jié)點向量、多重性、控制點和權(quán)重都以壓縮格式存儲。NURBS 也可以使用更簡單的規(guī)范曲面形式(例如平面和圓柱體)來近似。對于鑲嵌數(shù)據(jù)三角形網(wǎng)格,頂點坐標(biāo)、法線和紋理都被壓縮。
使用了多種有損技術(shù),包括可變坐標(biāo)基礎(chǔ)、消除冗余坐標(biāo)以及根據(jù)所需精度以減少的位數(shù)存儲浮點數(shù)。
四、單位、公差和公差建模
每個 PRC 文件在標(biāo)題中包含一個全局單位定義。單位以毫米的倍數(shù)指定,1 為一毫米,10 為一厘米,以此類推。此外,標(biāo)識符指示此單位是否與源 CAD 文件相同。
此外,對于多個零件的裝配體,每個產(chǎn)品實例都可以有自己的單元。但是,為了一致性和易用性,HOOPS Exchange 將所有基礎(chǔ)數(shù)據(jù)轉(zhuǎn)換為模型文件的單個單元。
當(dāng)讀入沒有單位或單位不可靠的格式時,HOOPS Exchange 定義為默認(rèn)單位。
公差
有幾種類型的公差與 HOOPS Exchange 和 PRC 文件中的數(shù)據(jù)相關(guān):
-
指定如何從參數(shù)化曲線和曲面數(shù)據(jù)生成細(xì)分?jǐn)?shù)據(jù)的公差。
-
指定如何從建模器特定的曲線和曲面創(chuàng)建 NURBS 數(shù)據(jù)的公差。
-
一個容差,指定為中國出口壓縮的數(shù)據(jù)與原始數(shù)據(jù)之間的最大偏差。在 HOOPS Exchange 中,可以通過 API 訪問參數(shù)曲面和曲線數(shù)據(jù)的該值,但不能訪問鑲嵌數(shù)據(jù)。
-
規(guī)避所有建模系統(tǒng)中存在的數(shù)值不確定性所需的容差值。通常,這將包括零值,例如小于 1e-12,無窮大,例如大于 1e6 和相等,例如在 1e-3 內(nèi)。這些值在內(nèi)部使用,在 Exchange API 中不可用。
公差值沒有單位,需要與模型文件和產(chǎn)品出現(xiàn)中指定的單位相結(jié)合才能獲得物理真實世界的值。
例如,如果 A3DGetSurfaceBaseAsNurbs 的dTolerance參數(shù)指定為 0.001,單位為 1000,則實際公差為 1mm。
容錯建模
一些建模系統(tǒng)支持容差建模的可變?nèi)莶睢_@是為了考慮到即使頂點坐標(biāo)之間的距離大于該建模系統(tǒng)的全局容差,也需要將一組面、邊或頂點視為連接的情況。
這有助于支持案例,例如將數(shù)據(jù)從具有較寬松容差的建模器轉(zhuǎn)換為具有更嚴(yán)格容差的建模器。
PRC 支持面、邊和頂點的局部公差,當(dāng)它們存在于源 CAD 文件中時,它們由 HOOPS Exchange 保留。
五、名稱和其他字符串
可以使用雜項屬性機(jī)制將基于字符串的屬性數(shù)據(jù)添加到實體中。HOOPS Exchange 使用其他屬性來確保正確保留原始 CAD 文件中指定的所有名稱。此外,屬性可用于任何實體上存儲用戶數(shù)據(jù)。
字符串的字符編碼為 UTF8 格式。
唯一標(biāo)識符
某些 CAD 格式支持實體的持久性和非持久性唯一標(biāo)識符。
如果標(biāo)識符在 CAD 文件被修改后仍保持不變,則它保持不變,但如果實體被破壞,則標(biāo)識符也會被刪除。如果一個標(biāo)識符可以隨著文件的連續(xù)版本被保存而改變,那么它就是非持久的。
CATIA V5、NX、Pro/Engineer 和 Parasolid XT 支持持久標(biāo)識符。
二進(jìn)制用戶數(shù)據(jù)
除了使用雜項屬性機(jī)制存儲用戶數(shù)據(jù)的能力外,應(yīng)用程序定義的數(shù)據(jù)還可以作為二進(jìn)制流存儲在與程序集、表示項和標(biāo)記數(shù)據(jù)的子類型相關(guān)聯(lián)的 PRC 文件中。
用戶數(shù)據(jù)與該項目的流大小一起存儲為比特流。這允許沒有該數(shù)據(jù)定義的應(yīng)用程序仍然可以讀取 PRC 文件,甚至存儲數(shù)據(jù)。
為了區(qū)分來自同一PRC文件中不同應(yīng)用程序的用戶數(shù)據(jù),每個用戶數(shù)據(jù)塊由創(chuàng)作應(yīng)用程序的唯一標(biāo)識符標(biāo)識。要為您的應(yīng)用程序獲取唯一標(biāo)識符,請聯(lián)系 Tech Soft 3D。
六、支持鑲嵌數(shù)據(jù)
支持直接從原始 CAD 文件讀取鑲嵌數(shù)據(jù),還提供內(nèi)部鑲嵌器,以便所有通用和特定于建模器的曲線和曲面都可以轉(zhuǎn)換為多邊形數(shù)據(jù)。
HOOPS Exchange 將 tessellation 數(shù)據(jù)分為三種類型:
-
3D 數(shù)據(jù),用于表示 3D 表面
-
用于表示 3D 曲線和多段線的線體
-
用于顯示 PMI 和 GD&T 的標(biāo)記數(shù)據(jù)

帶有 GD&T 標(biāo)記的 CAD 模型
對于表面和相應(yīng)的細(xì)分?jǐn)?shù)據(jù)都可用的格式,可以使用一個標(biāo)志來確定是直接從文件中檢索細(xì)分?jǐn)?shù)據(jù)還是從表面幾何圖形中計算它。
鑲嵌過程旨在為可視化目的生成少量多邊形。STL 導(dǎo)出過程使用單獨的鑲嵌器來創(chuàng)建結(jié)構(gòu)良好的網(wǎng)格,這樣所有連接邊在重合頂點處相交,并且避免了細(xì)長三角形。
細(xì)分?jǐn)?shù)據(jù)支持頂點法線和紋理坐標(biāo)。多邊形數(shù)據(jù)可以以結(jié)構(gòu)化形式提供,以便在頂點數(shù)組中識別每個 B-rep 面和相應(yīng)的面環(huán),或者可以將整個身體表示為單個鑲嵌實體。可以使用優(yōu)化的三角形形式——即 tristrips 和 trifans。
鑲嵌選項
加載文件時,鑲嵌參數(shù)可用于控制曲線和曲面的鑲嵌程度。對于曲線,可以指定線性弦之間的最大角度。
對于曲面,鑲嵌曲面與真實曲面的最大距離表示為實體邊界框的比率。這允許實體的統(tǒng)一鑲嵌,而與實體的物理尺寸無關(guān)。此外,可以指定最大偏差,也可以指定形成三角形的每個邊之間的最小角度。
七、配置和視圖
某些 CAD 格式支持模型或裝配結(jié)構(gòu)的多種配置。配置是模型相對于其定義層次結(jié)構(gòu)的特定安排。例如,零件可能在不同的位置,具有不同的幾何形狀或在不同的配置中完全省略。
一個示例可能是汽車模型,其中一種配置位于左側(cè),而第二種配置位于右側(cè)。配置與視圖是分開的。
HOOPS Exchange 支持 CATIA V4、I-deas 和 SolidWorks 的配置。在 Pro/Engineer 中,配置稱為族表,并且支持初始/通用版本。
見解
在 HOOPS Exchange 中,術(shù)語視圖專門用于指代 3D 場景的特定表示,包括相機(jī)設(shè)置、實體可見性、顏色和位置。
例如,視圖可以是“分解視圖”,其中幾何實體顯示在不同的位置,標(biāo)記標(biāo)簽用于描述與如何組裝模型相關(guān)的說明。一系列這樣的視圖可以包括工作指令。
八、外部鏈接
在 Microsoft Windows 上,HOOPS Exchange 使用顯式外部鏈接機(jī)制將 API 調(diào)用公開給主機(jī)應(yīng)用程序。
顯式鏈接要求應(yīng)用程序?qū)iT加載和卸載 HOOPS Exchange DLL 并獲取每個函數(shù)的地址,以便隨后可以通過函數(shù)指針調(diào)用它。
提供了一套完整的宏來管理這個過程,并確保調(diào)用 Exchange 函數(shù)的應(yīng)用程序代碼看起來像使用隱式鏈接的普通代碼。
如果由于某種原因 DLL 不存在,外部鏈接為應(yīng)用程序提供了正常退出的機(jī)會。同時還支持二進(jìn)制格式的 DLL ,成功地與不同的二進(jìn)制格式一起使用 - 例如,使用 Visual Studio 2008 構(gòu)建的 DLL 可以成功地與 Visual Studio 2010 一起使用。
相關(guān)閱讀:
3D格式轉(zhuǎn)換工具HOOPS Exchange最全技術(shù)指南(一):4大功能特征與典型使用場景
3D格式轉(zhuǎn)換工具HOOPS Exchange最全技術(shù)指南(二):4大功能特征與典型使用場景
3D格式轉(zhuǎn)換工具HOOPS Exchange最全技術(shù)指南(四):4大功能特征與典型使用場景
了解HOOPS技術(shù)詳情歡迎進(jìn)入
慧都科技是中國地區(qū)的指定經(jīng)銷商,提供售賣、HOOPS 60天的免費試用、中文技術(shù)支持,同時提供工業(yè)3D解決方案,如果您對此感興趣,歡迎電話咨詢:023-68661681
↓ ↓ 關(guān)注“HOOPS技術(shù)”微信公眾號,了解HOOPS技術(shù)的真實應(yīng)用 ↓ ↓
標(biāo)簽:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn