3D Web轻量化引擎HOOPS Commuicator如何从整体装配中创建破碎的装配零件和XML?

前言

虽然可以从某些本机CAD格式(其子组件驻留在单独的文件中,例如CATIA V5、Creo - Pro/E、NX或SolidWorks)创建破碎装配,但无法从整体装配文件(例如IFC、Revit)创建或3DXML。

本文介绍了一个示例,该示例使用HOOPS ExchangeHOOPS 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模型轻量化及格式转换解决方案~

相关推荐
DisonTangor6 小时前
UltraShape 1.0: 高保真三维形状生成:基于可扩展几何优化
人工智能·3d·开源·aigc
3DVisionary9 小时前
3C电子制造质检升级:拍照式蓝光3D扫描在精密测量中的应用实践
3d·制造
gis_rc12 小时前
python下shp转3dtiles
python·3d·cesium·3dtiles·数字孪生模型
晟诺数字人12 小时前
数字人、AI数字人、虚拟数字人、3D数字人之间的区别于应用场景
大数据·人工智能·3d·数字人
Juicedata12 小时前
3D-AIGC 存储架构演进:从 NFS、GlusterFS 到 JuiceFS
3d·架构·aigc
苏州知芯传感1 天前
成本与性能的平衡术:面向亿级市场的消费电子MEMS微振镜,其设计是如何“做减法”的?
3d·机器视觉·mems·消费电子·微振镜
zl_vslam2 天前
SLAM中的非线性优-3D图优化之地平面约束(十四)
算法·计算机视觉·平面·3d
deep_drink2 天前
【论文精读(二十二)】PointMeta:点云江湖的“兵器谱”,用元架构终结算子内卷(CVPR 2023)
深度学习·神经网络·计算机视觉·3d·point cloud
塔楼2 天前
VGGT(Visual Geometry Grounded Transformer)解析
深度学习·算法·3d
gshh__2 天前
SuperMap Hi-Fi 3D SDK for Unreal 如何实现横断面分析
3d·ue5·游戏引擎·supermap