原創|行業資訊|編輯:吳秋紅|2024-11-12 10:05:27.163|閱讀 136 次
概述:HOOPS Exchange通過Parasolid連接器,支持CAD數據高質量導入Parasolid會話,并提供API和映射表以維護數據間的雙向鏈接。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
包含一個Parasolid連接器,允許Parasolid開發人員輕松將CAD數據導入活動的Parasolid會話。如果源數據是基于Parasolid的(NX、Solid Edge或SolidWorks),則數據將原封不動地導入。這意味著您可以假設數據的質量與您在SolidWorks、Solid Edge或NX中獲得的數據完全相同。如果數據來自非Parasolid系統(例如CATIA、Creo或STEP等),則我們的連接器會利用Parasolid和可選的PS/BodyShop來確保以最高質量導入模型。Parasolid模型與其他數據(例如PMI、裝配結構和元數據)之間的連接在映射表中維護。
使用Parasolid連接器的API是:func:A3DAsmModelFileTranslateToPkParts和:struct:A3DRepresentationItemTranslateToPkParts。在這兩種情況下,可以導出到Parasolid會話的所有內容都會被傳輸,并且Exchange提供了一個映射( :struct:A3DMiscPKMapper )來保持PRC數據和生成的PK_ENTITY之間的雙向鏈接。例如:
即使面或邊在橋接中縫合或合并,此方法也有效。在“完全集成”中,零件會逐個傳輸,整個裝配結構會傳輸到場景圖中,讓您可以管理可見性、視圖和其他元數據。
下圖是基于Parasolid的應用程序的屏幕截圖,顯示了導入的CATIAV5模型,其中保留了語義PMI
一、先決條件
和Parasolid獨立運行。因此,為了使用任何與Parasolid相關的Exchange功能,您需要一個有效的Parasolid會話。HOOPS Exchange不會自動初始化Parasolid會話-會話管理由您決定。此外,請考慮以下事項:
iOS環境的特定配置
iOS版HOOPS Exchange僅作為靜態庫( libA3DLIBS.a )提供。Parasolid橋接器是一個名為libhepb.a的附加靜態庫,可在我們的軟件包中使用。如果您想在應用程序中使用我們的Parasolid橋接器,則必須將其鏈接到libhepb.a。如果您不使用它,它的功能將被替換為假功能。必須通過定義A3DAPI_NO_IOS_HEPB_STUB`來禁用此默認行為。因此,對于要在iOS上使用Parasolid Bridge運行HOOPS Exchange的客戶端應用程序,必須滿足以下條件:
二、映射
翻譯后,了解PRC中的哪些拓撲實體對應于Parasolid實體以及反之亦然可能會很有用。此外,匹配并不總是“一對一”,因為處理是在以下過程中進行的:
縫紉過程可能會根據提供的縫紉公差將兩個閉合的邊緣合并為一個。
太小的邊緣可能會從生成的拓撲中刪除
三、將模型加載到Parasolid會話中
以下代碼片段演示了如何使用:func:A3DAsmModelFileTranslateToPkParts將模型加載到Parasolid會話中:
A3DRWParamsExportParasolidData sExportOptions; A3D_INITIALIZE_DATA(A3DRWParamsExportParasolidData, sExportOptions); // ... set your desired export options here int iNbPkParts; PK_PART_t* pPkParts; A3DAsmModelFileTranslateToPkParts(sHoopsExchangeLoader.m_psModelFile, &sOptions, // Parasolid options structure &pParamsTranslateToPkPartsData, // Parasolid translation structure &iNbPkParts, // [out] length of pPkParts &pPkParts); // [out] PK_PART_t entity IDs
重要提示:Parasolid建模器使用米作為其默認單位。將文件導出到Parasolid會話時,Exchange會將模型中的比例轉換為米。
四、在Exchange中設置Parasolid屬性
拓撲實體中唯一可轉換為Parasolid的屬性是標題以H3DX_BRIDGE_*開頭的字符串屬性。這些屬性將轉換為名稱以H3DX_BRIDGE/*開頭的Parasolid。
例如,標題為H3DX_BRIDGE_MyAttributeName的字符串屬性將轉換為名稱為H3DX_BRIDGE/MyAttributeName的Parasolid 。
以下是在Exchange中設置Parasolid屬性的方法:
A3DMiscAttribute* pAttribute = 0; A3DMiscAttributeData sAttributeData; A3D_INITIALIZE_DATA(A3DMiscAttributeData, sAttributeData); sAttributeData.m_pcTitle = "Parasolid attributes."; // will create Parasolid attribute: H3DX_BRIDGE/MyAttributeName A3DMiscSingleAttributeData sSingleAttributeData; A3D_INITIALIZE_DATA(A3DMiscSingleAttributeData, sSingleAttributeData); sSingleAttributeData.m_bTitleIsInt = false; sSingleAttributeData.m_eType = kA3DModellerAttributeTypeString; sSingleAttributeData.m_pcTitle = (char*) "H3DX_BRIDGE_MyAttributeName"; sSingleAttributeData.m_pcData = (char*) "My string attribute."; sAttributeData.m_uiSize = 1; sAttributeData.m_pSingleAttributesData = &sSingleAttributeData; A3DMiscAttributeCreate(&sAttributeData, &pAttribute); sBaseData.m_uiSize = 1; sBaseData.m_ppAttributes = (A3DMiscAttribute**) malloc(sBaseData.m_uiSize * A3DUns32(sizeof(A3DMiscAttribute*))); sBaseData.m_ppAttributes = &pAttribute; CHECK_RET(A3DRootBaseSet(pEntity, &sBaseData));
在這個例子中,pEntity是您想要定義屬性的A3DEntity 。
慧都科技已經為100+企業提供一站式的3D開發解決方案,負責3D ACIS Modeler、Parasolid、等3D產品的銷售、試用、技術支持,賦能航空航天、建筑工程、船舶制造、機械加工、汽車等客戶成功構建工程應用!歡迎咨詢:023-6866168
↓↓掃碼關注“HOOPS技術”,及時獲取更多3D資訊↓↓
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn