原創(chuàng)|行業(yè)資訊|編輯:吳秋紅|2024-11-12 10:05:27.163|閱讀 136 次
概述:HOOPS Exchange通過Parasolid連接器,支持CAD數(shù)據(jù)高質(zhì)量導(dǎo)入Parasolid會(huì)話,并提供API和映射表以維護(hù)數(shù)據(jù)間的雙向鏈接。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
包含一個(gè)Parasolid連接器,允許Parasolid開發(fā)人員輕松將CAD數(shù)據(jù)導(dǎo)入活動(dòng)的Parasolid會(huì)話。如果源數(shù)據(jù)是基于Parasolid的(NX、Solid Edge或SolidWorks),則數(shù)據(jù)將原封不動(dòng)地導(dǎo)入。這意味著您可以假設(shè)數(shù)據(jù)的質(zhì)量與您在SolidWorks、Solid Edge或NX中獲得的數(shù)據(jù)完全相同。如果數(shù)據(jù)來自非Parasolid系統(tǒng)(例如CATIA、Creo或STEP等),則我們的連接器會(huì)利用Parasolid和可選的PS/BodyShop來確保以最高質(zhì)量導(dǎo)入模型。Parasolid模型與其他數(shù)據(jù)(例如PMI、裝配結(jié)構(gòu)和元數(shù)據(jù))之間的連接在映射表中維護(hù)。
使用Parasolid連接器的API是:func:A3DAsmModelFileTranslateToPkParts和:struct:A3DRepresentationItemTranslateToPkParts。在這兩種情況下,可以導(dǎo)出到Parasolid會(huì)話的所有內(nèi)容都會(huì)被傳輸,并且Exchange提供了一個(gè)映射( :struct:A3DMiscPKMapper )來保持PRC數(shù)據(jù)和生成的PK_ENTITY之間的雙向鏈接。例如:
即使面或邊在橋接中縫合或合并,此方法也有效。在“完全集成”中,零件會(huì)逐個(gè)傳輸,整個(gè)裝配結(jié)構(gòu)會(huì)傳輸?shù)綀鼍皥D中,讓您可以管理可見性、視圖和其他元數(shù)據(jù)。
下圖是基于Parasolid的應(yīng)用程序的屏幕截圖,顯示了導(dǎo)入的CATIAV5模型,其中保留了語義PMI
一、先決條件
和Parasolid獨(dú)立運(yùn)行。因此,為了使用任何與Parasolid相關(guān)的Exchange功能,您需要一個(gè)有效的Parasolid會(huì)話。HOOPS Exchange不會(huì)自動(dòng)初始化Parasolid會(huì)話-會(huì)話管理由您決定。此外,請考慮以下事項(xiàng):
iOS環(huán)境的特定配置
iOS版HOOPS Exchange僅作為靜態(tài)庫( libA3DLIBS.a )提供。Parasolid橋接器是一個(gè)名為libhepb.a的附加靜態(tài)庫,可在我們的軟件包中使用。如果您想在應(yīng)用程序中使用我們的Parasolid橋接器,則必須將其鏈接到libhepb.a。如果您不使用它,它的功能將被替換為假功能。必須通過定義A3DAPI_NO_IOS_HEPB_STUB`來禁用此默認(rèn)行為。因此,對于要在iOS上使用Parasolid Bridge運(yùn)行HOOPS Exchange的客戶端應(yīng)用程序,必須滿足以下條件:
二、映射
翻譯后,了解PRC中的哪些拓?fù)鋵?shí)體對應(yīng)于Parasolid實(shí)體以及反之亦然可能會(huì)很有用。此外,匹配并不總是“一對一”,因為處理是在以下過程中進(jìn)行的:
縫紉過程可能會(huì)根據(jù)提供的縫紉公差將兩個(gè)閉合的邊緣合并為一個(gè)。
太小的邊緣可能會(huì)從生成的拓?fù)渲袆h除
三、將模型加載到Parasolid會(huì)話中
以下代碼片段演示了如何使用:func:A3DAsmModelFileTranslateToPkParts將模型加載到Parasolid會(huì)話中:
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建模器使用米作為其默認(rèn)單位。將文件導(dǎo)出到Parasolid會(huì)話時(shí),Exchange會(huì)將模型中的比例轉(zhuǎn)換為米。
四、在Exchange中設(shè)置Parasolid屬性
拓?fù)鋵?shí)體中唯一可轉(zhuǎn)換為Parasolid的屬性是標(biāo)題以H3DX_BRIDGE_*開頭的字符串屬性。這些屬性將轉(zhuǎn)換為名稱以H3DX_BRIDGE/*開頭的Parasolid。
例如,標(biāo)題為H3DX_BRIDGE_MyAttributeName的字符串屬性將轉(zhuǎn)換為名稱為H3DX_BRIDGE/MyAttributeName的Parasolid 。
以下是在Exchange中設(shè)置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));
在這個(gè)例子中,pEntity是您想要定義屬性的A3DEntity 。
慧都科技已經(jīng)為100+企業(yè)提供一站式的3D開發(fā)解決方案,負(fù)責(zé)3D ACIS Modeler、Parasolid、等3D產(chǎn)品的銷售、試用、技術(shù)支持,賦能航空航天、建筑工程、船舶制造、機(jī)械加工、汽車等客戶成功構(gòu)建工程應(yīng)用!歡迎咨詢:023-6866168
↓↓掃碼關(guān)注“HOOPS技術(shù)”,及時(shí)獲取更多3D資訊↓↓
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@fc6vip.cn