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

相关推荐
mirrornan9 小时前
适合新手的3D建模软件推荐
3d·3d建模·3d模型·三维建模·建模软件
Terry Cao 漕河泾12 小时前
SRT3D: A Sparse Region-Based 3D Object Tracking Approach for the Real World
人工智能·计算机视觉·3d·目标跟踪
我码玄黄12 小时前
THREE.js:网页上的3D世界构建者
开发语言·javascript·3d
Modify_QmQ18 小时前
Three.js 实战【3】—— 城市模型渲染
3d·vue3·three·glbf
小兮风1 天前
RockTrack:A 3D Robust Multi-Camera-Ken Multi-Object Tracking Framework
3d
光学测量小菜鸡2 天前
线结构光测量系统标定--导轨
数码相机·算法·3d
小彭努力中2 天前
20. gui调试3-下拉菜单、单选框
前端·3d·webgl
用你的胜利博我一笑吧3 天前
vue3+ts+supermap iclient3d for cesium功能集合
前端·javascript·vue.js·3d·cesium·supermap
这是我583 天前
C++3D迷宫
c++·3d·visual studio·z·x·迷宫·y
我是瓦力4 天前
PointNet++改进策略 :模块改进 | EdgeConv | DGCNN, 动态图卷积在3d任务上应用
人工智能·深度学习·计算机视觉·3d