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模型轻量化及格式转换解决方案~

相关推荐
多恩Stone14 天前
【C++入门扫盲1】C++ 与 Python:类型、编译器/解释器与 CPU 的关系
开发语言·c++·人工智能·python·算法·3d·aigc
多恩Stone14 天前
【3D-AICG 系列-15】Trellis 2 的 O-voxel Shape: Flexible Dual Grid 代码与论文对应
人工智能·python·算法·3d·aigc
在下胡三汉14 天前
为什么“资产土地”标准化主资产的 glTF、glb格式模型,为什么非常流行
3d
2401_8638014614 天前
3DTiles(.b3dm,i3dm,cmpt) 数据转换fbx转obj转max转su,cesium格式模型转换
3d
3Dmax效果图渲染研习社14 天前
2026年3ds Max云渲染平台哪个好?
3d
思茂信息15 天前
基于CST 3D Combined功能的以太网口RE仿真
开发语言·javascript·单片机·嵌入式硬件·matlab·3d
CG_MAGIC15 天前
Maya 角色绑定:控制器搭建与 IK/FK 切换
3d·贴图·maya·渲云渲染
PHOSKEY15 天前
光子精密3D工业相机陶瓷基片平面度检测!赋能电子制造质控升级
平面·3d·3d工业相机
twe775825815 天前
用3D动画揭示技术路线的多样性
科技·3d·制造·动画