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

相关推荐
笑鸿的学习笔记1 天前
qt-Quick3D笔记之官方例程Runtimeloader Example运行笔记
笔记·qt·3d
你好!蒋韦杰-(烟雨平生)3 天前
第一个3D程序!
c++·数学·3d
xwz小王子4 天前
北京大学与智元机器人联合实验室发布OmniManip:显著提升机器人3D操作能力
3d·机器人
m0_743106465 天前
【论文笔记】Fast3R:前向并行muti-view重建方法
论文阅读·深度学习·计算机视觉·3d·几何学
iloveas20147 天前
three.js+WebGL踩坑经验合集(4.2):为什么不在可视范围内的3D点投影到2D的结果这么不可靠
3d·webgl
有Li7 天前
2D 超声心动图视频到 3D 心脏形状重建的临床应用| 文献速递-医学影像人工智能进展
人工智能·3d·音视频
mirrornan7 天前
3D可视化定制:开启个性化购物新时代,所见即所得
3d·3d模型·web3d
Hypochondria.7 天前
基于SMPL的三维人体重建-深度学习经典方法之VIBE
人工智能·深度学习·计算机视觉·3d
就是个名称8 天前
cesium相机
前端·3d
一粒马豆8 天前
three.js用粒子使用canvas生成的中文字符位图材质
3d·three.js·canvas·中文字符·粒子动画