前言
虽然可以从某些本机CAD格式(其子组件驻留在单独的文件中,例如CATIA V5、Creo - Pro/E、NX或SolidWorks)创建破碎装配,但无法从整体装配文件(例如IFC、Revit)创建或3DXML。
本文介绍了一个示例,该示例使用HOOPS Exchange和HOOPS Communicator的LibConverter从整体程序集文件创建碎片程序集。可以使用HOOPS Communicator WebViewer API加载创建的破碎零件和主XML文件:loadSubtreeFromXmlFile以及 loadSubtreeFromScsXmlFile
申请HOOPS试用 HOOPS中文网
HOOPS与LibConverter交换
此示例导入一个整体程序集文件并使用HOOPS Exchange遍历它。遍历过程导出主XML文件并创建单独的零件模型。使用HOOPS Communicator的LibConverter将零件模型转换为SC (SCZ)和SCS文件。
使用Visitor模式遍历模型文件
此示例使用HOOPS Exchange示例中包含的访问者模式来遍历导入的模型。
HOOPS Exchange与LibConverter的使用
实例化零件
实例化零件仅表示一次,但在层次结构中出现多次。
通过设置false为SetTraverseInstance,访问者模式仅访问第一个部件实例,以便它创建实例化部件的部件SC。
A3DVisitorContainer sA3DVisitorContainer(CONNECT_TRANSFO);
sA3DVisitorContainer.SetTraverseInstance(false);
ProductOccurrence深复制
A3DAsmProductOccurrenceDeepCopy在创建单独的部件PRC之前,有必要创建部件ProductOccurrence的副本。
A3DAsmProductOccurrence* pCopyPO;
iRet = A3DAsmProductOccurrenceDeepCopy(pPartPO, &pCopyPO);
(同一零件ProductOccurrence不能同时从主模型文件和零件模型文件中引用)
如需了解更多HOOPS技术,可联系3D专线客服,为您提供专业的3D模型轻量化及格式转换解决方案~