Loading
0

如何使用HOOPS Exchange对Polygonica进行CAD访问和网格处理?

HOOPS Exchange基础知识

首先,让我们简单回顾一下HOOPS Exchange。HOOPS Exchange是一款具有C++接口的数据访问SDK,支持导入30多种CAD文件格式,包括B-Rep(边界表示)和细分(三角测量)数据。Tech Soft 3D对这些CAD格式进行逆向工程,使用户无需依赖任何CAD系统即可访问这些数据。我们将此数据导入到一个数据模型、PRC或产品表示紧凑中。PRC数据模型包含模型树、B-Rep、网格、可视化、PMI和视图。您只需将您的应用程序与PRC数据集成即可从所有这些格式导入数据。

CAD产品结构和模型几何形状

当CAD模型导入HOOPS Exchange时,它由分层数据结构表示。顶部是模型文件,其下是产品出现的层次结构。产品发生本质上是一个装配节点。由于它是分层的,因此您可以拥有引用其他实例并表示复杂装配的产品实例。

产品出现下方是零件定义。这通常代表CAD文件中的单个零件。该部分也由我们称为表示项的东西表示。一个零件可能有多个表示项。我们感兴趣的主要表示项目是BRepModel和PolyBrepModel。这两者都可以引用细分数据。

并非所有模型都有曲面细分;如果模型不存在,则可以利用HOOPS Exchange tessellators(工具包的一部分)从Brep模型生成该模型。这些细分数据是Polygonica桥的基础。

Polygonica的基础知识

Polygonica是一个以SDK形式提供的网格建模工具包。大多数使用Polygonica的人都在开发CAD、CAE或CAM应用程序,特别是在增材制造领域。Polygonica的功能包括但不限于:

治疗模型:封闭开放的实体。修复非流形几何体、方向错误的面、精度问题、自相交几何体和折叠。

添加剂制备:生成打印支撑物和晶格。补偿变形。

重新网格化:通过收缩包裹、重新网格化、去噪或平滑来调整现有几何体以用于后续处理。

2D操作: Polygonica为各种分析和构建提供2D剖面,包括网格切片和中轴应用。2D布尔引擎与3D布尔引擎一样复杂且可靠。

点云:通常用于扫描任务,点云功能包括配准、三角测量、采样和使用法线。

分析:提供多种几何分析技术,例如网格比较、间隙和厚度分析、特征检测和表面检测。

布尔运算: Polygonica使用与MachineWorks大部分相同的底层代码,因此它的优势之一是对开放和封闭实体进行高质量布尔运算也就不足为奇了。

网格创建和更改:它适合进行细微修改,例如压印和压花或偏移表面。作为处理刀具路径的一部分,还可以扫描实体和轮廓。

Polygonica内部表示


PTSolid:这是Polygonica的3D模型的主要表示形式,由平面多边形数据组成。

PTWorldEntity:Polygonica中的场景或集合由世界实体表示。每个PTWorldEntity指定一个带有位置和方向的PTSolid,以及必要时的附加元数据。为了支持实例化数据集,相同的PTSolid可以映射到多个世界实体。例如,如果装配体具有多个相同的螺栓,则每个螺栓都将具有引用相同螺栓模型PTSolid的单独PTWorldEntity。

PTFace:构成PTSolid的多边形面。可以查询和操作相应的边和顶点。

PTAppSurface:连接到原始CAD对象的表面

PTEntityList:Polygonica对象的集合。通常用于定义面部区域以进行进一步操作。

Polygonica PTWorldEntity对象没有层次结构信息。与具有递归结构的HOOPS Exchange不同,不可能使一个PTWorldEntity成为另一个PTWorldEntity的子级。幸运的是,这就是HOOPS Exchange和Polygonica Bridge发挥作用的地方。

这座桥有什么用?

Polygonica只能加载几种文件类型;它自己的PGS格式、STL和(通过请求提供的示例代码)AMF。然而,HOOPS Exchange提供了更多的访问权限。如前所述,HOOPS还支持比Polygonica更丰富的数据模型,例如复杂的装配层次结构。该桥在CAD数据结构和Polygonica数据结构之间创建映射。这允许开发人员导入许多不同的CAD格式,同时保持Exchange读取的属性和B-Rep数据与Polygonica中保存的细分数据之间的对应关系。

HOOPS Polygonica桥的结构

 

Exchange Bridge是一个名为“ExchangePolygonicaBridge.h”的C++头文件。通过在代码中包含此头文件来将其合并到应用程序中。Polygonica库应在应用程序中链接,而HOOPS Exchange库将被加载在运行时。

Exchange Bridge充当应用程序逻辑与Polygonica和HOOPS Exchange之间的通信接口。HOOPS Exchange将CAD文件中的数据引入应用程序。然后,数据通过桥并最终到达Polygonica,在那里可以从应用程序逻辑访问数据。

桥梁测绘

加载HOOPS模型文件后,从标头调用A3DModelCreatePGWorld函数会在pgOpts参数中填充一组返回值。它还将生成的PTSolid和PTWorldEntity对象添加到世界中。

HOOPS Exchange中的A3DAsmPartDefinition对象映射到Polygonica中的PTSolids。A3DAsmProductOccurence项用于在3D空间中定位对象,映射到相应的PTWorldEntity。如果存在相同部件的实例,则每个实例将是共享单个PTSolid的单独PTWorldEntity。

有关这些实体和实体的信息通过选项的m_entities字段进行传达,该字段是一个映射。可以通过两种方式提取CAD模型中的曲面:通过每个实体的实体组映射,其中每个组代表一个CAD曲面,或者使用Polygonica中单个多边形(PTFace对象)上设置的PTAppSurface属性。

装配路径针对每个PTWorldEntity进行映射,将其连接到从树顶部到与该特定PTWorldEntity对应的叶节点的对象链(A3DAsmPartDefinition和A3DAsmProductOccurrence)。材质颜色会转换为Polygonica材质(渲染样式),从而生成用于此转换的贴图。

总体而言,此映射过程允许HOOPS Exchange、Polygonica和应用程序之间进行有效通信,从而能够有效处理3D CAD模型及其数据。

申请HOOPS Exchange试用               HOOPS中文网

慧都科技是Tech Soft 3D-HOOPS在中国区的唯一增值服务商,负责HOOPSCEETRON试用,咨询,销售,技术支持,售后,旨在为企业提供一站式的3D开发解决方案。如果您的企业目前也有3D数据格式转换3D Web轻量化渲染的需求,欢迎咨询在线客服申请3D 轻量化引擎HOOPS的60天免费试用。

↓↓扫码添加客服微信,及时获取“HOOPS技术”支持↓↓