3D模型格式转换工具HOOPS Exchange如何获取模型的特征树?

2024-01-15 12:20

本文主要是介绍3D模型格式转换工具HOOPS Exchange如何获取模型的特征树?,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Tech Soft 3D致力于用无与伦比的技术推动创新,并很高兴为Oracle、SIEMENS、Hexagon Matrology和Stratasist,提供用最快、最准确的数据转换工具包获取CAD数据。

HOOPS Exchange允许开发团队轻松构建,通过单一接口将CAD数据转换为30多种文件格式的应用程序,支持的格式包括Catia、SolidWorks、CREO、AutoDesk inventor、STEP、SIEMENS NX等,还支持访问广泛的数据,包括以其原生形式的B-REP、视觉、语义PMI、可视化视图和构造几何。 HOOPS Exchange提供了广泛的装配结构支持,包括配置和族表。

它还提供对用ID,样式、颜色、材料和其他元数据的访问,它具有特征树支持,包括完整的定义和模式。这些都不用依赖任何CAD系统,可以让您的用户随时随地访问它们的数据,不管你是需要在桌面上运行Windows,Linux,MacOs还是Android,IOS,移动设备,甚至云端服务器访问。

本文将详细介绍,3D模型格式转换工具HOOPS Exchange是如何获取模型的特征树的。

申请HOOPS Exchange试用icon-default.png?t=N7T8http://x7pfmmn259623uby.mikecrm.com/l9292M9

一、什么是特征树?

特征树是在CAD系统中创建零件所采取的所有步骤。例如:

1)选择草图并定义挤出,构成一个模型实体;

2)选择该模型的一条边,然后以这条边为基础,创建圆角;

3)在该模型上打一个孔。

在这创建模型的过程,通常使用树结构来描述这些特征,树结构的层次结构可以有效的表示特征的依赖关系,例如:

  • 挤压是在草图(另一个特征)之上构建的特征。
  • 阵列可以是一个可以基于孔(另一个特征)的特征。
  • 定义孔螺纹时,首先定义一个孔特征,然后在子对象中定义螺纹特征。

使用HOOPS Exchange,我们可以读取CATIA V5、Creo、NX 和 SolidWorks文件的特征树,并从特征树中获取到如下特征的所有参数:

  • 孔(Holes)
  • 阵列(Patterns)
  • 挤出(Extrusion)
  • 旋转(Revolutions)
  • 圆角和倒角(Fillets & chamfers)

这些信息对于优化下游流程(包括分析、制造和计量)特别有用,在了解特征树的基本信息之后,我们首先要知道如读取这些信息。

二、读取特征树

要读取模型中的特征信息,需要在导入模型之前将 m_bReadFeature属性设置为true,因为在默认情况下,HOOPS Exchange不会从 CAD 模型中读取特征。

设置m_bReadFeature后,在导入模型时,导入器将读取模型的特征信息。

接下来,我们可以从A3DAsmProductOccurrenceData中获得特征树的具体信息,其数据结构为A3DFRMFeatureTreeData:

三、特征树在PRC中的数据结构

在获取到特征树对象后,我们需要解析其具体的数据结构,特征树在PRC文件中的数据结构如下:

在A3DFRMFeatureTreeData数据结构中,有三个独立的表示项阵列,用于存储关于三种几何类型的信息:

1)最终几何。

2)中间几何。

3)内部几何。

其定义如下:

最终几何表示在打开CAD文件时在3D场景中显示的内容。

中间几何表示实体结构中某个阶段存在的实体。例如,下面的图片中的蓝色loop可能仅在创建倒角(右图)之前的中间阶段存在。因此,它被存储在表示项的中间几何数组中。

内部几何表示在给定特征的上下文中创建的东西。例如,轴可以在定义挤压时被创建。在这种情况下,它将存储在表示项内部几何数组中。

除了上述数组之外,A3DFRMFeatureTreeData数据结构中还有另一个数组,称为m_ppsParameters,它包含A3DFRMParameter元素,用于存储实际的特征树和特征信息。

为了描述特征树,我们递归特征参数的结构。A3DFRMParameter包含A3DFRMFeature元素数组, A3DFRMFeature包含A3DFRMParameter元素数组。

我们举一个示例特征(三点定义一个平面),该特征可以在Catia、NX或Creo中使用三个点进行定义。以下截图为该特征在Catia、NX或Creo中模型树截图:

该平面在HOOPS Exchange中特征树结构如下:

四、特征信息:孔、阵列、挤压、圆角、旋转等

HOOPS Exchange可以读取V5、NX和Creo中的孔、阵列、挤压、旋转以及圆角这些特征的所有参数。

Parameter–Feature对象是一种通用的数据结构。在实践中,特征树中的大多数特征可以用相似的参数和特征对象来描述。

  • Node 类型的特征对象将包含两个参数,一个是Type类型,另一个是Feature Definition类型。
  • Type参数将提供关于特征的一般信息,表示它是否是孔、挤压、圆角等。
  • Feature Definition参数将提供关于孔、圆角或挤压的详细信息。

下面介绍一下孔的特征信息。

每个孔都包含诸如深度和直径的基本信息:

更复杂的孔类型包含额外的信息。例如,附加角度用于描述锥形孔,而沉孔具有附加角度、深度和直径:

螺纹信息也可以包含在孔特征中:

在Parameter–Feature对象中,所有信息都在Node类型的特征中描述。

如果您的企业目前也有3D数据格式转换、3D Web轻量化渲染的需求,欢迎评论或私信留言~

这篇关于3D模型格式转换工具HOOPS Exchange如何获取模型的特征树?的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/608868

相关文章

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

Python获取中国节假日数据记录入JSON文件

《Python获取中国节假日数据记录入JSON文件》项目系统内置的日历应用为了提升用户体验,特别设置了在调休日期显示“休”的UI图标功能,那么问题是这些调休数据从哪里来呢?我尝试一种更为智能的方法:P... 目录节假日数据获取存入jsON文件节假日数据读取封装完整代码项目系统内置的日历应用为了提升用户体验,

微信公众号脚本-获取热搜自动新建草稿并发布文章

《微信公众号脚本-获取热搜自动新建草稿并发布文章》本来想写一个自动化发布微信公众号的小绿书的脚本,但是微信公众号官网没有小绿书的接口,那就写一个获取热搜微信普通文章的脚本吧,:本文主要介绍微信公众... 目录介绍思路前期准备环境要求获取接口token获取热搜获取热搜数据下载热搜图片给图片加上标题文字上传图片

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Java实现时间与字符串互相转换详解

《Java实现时间与字符串互相转换详解》这篇文章主要为大家详细介绍了Java中实现时间与字符串互相转换的相关方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、日期格式化为字符串(一)使用预定义格式(二)自定义格式二、字符串解析为日期(一)解析ISO格式字符串(二)解析自定义

Java的IO模型、Netty原理解析

《Java的IO模型、Netty原理解析》Java的I/O是以流的方式进行数据输入输出的,Java的类库涉及很多领域的IO内容:标准的输入输出,文件的操作、网络上的数据传输流、字符串流、对象流等,这篇... 目录1.什么是IO2.同步与异步、阻塞与非阻塞3.三种IO模型BIO(blocking I/O)NI

在java中如何将inputStream对象转换为File对象(不生成本地文件)

《在java中如何将inputStream对象转换为File对象(不生成本地文件)》:本文主要介绍在java中如何将inputStream对象转换为File对象(不生成本地文件),具有很好的参考价... 目录需求说明问题解决总结需求说明在后端中通过POI生成Excel文件流,将输出流(outputStre

python+opencv处理颜色之将目标颜色转换实例代码

《python+opencv处理颜色之将目标颜色转换实例代码》OpenCV是一个的跨平台计算机视觉库,可以运行在Linux、Windows和MacOS操作系统上,:本文主要介绍python+ope... 目录下面是代码+ 效果 + 解释转HSV: 关于颜色总是要转HSV的掩膜再标注总结 目标:将红色的部分滤

使用Java实现通用树形结构构建工具类

《使用Java实现通用树形结构构建工具类》这篇文章主要为大家详细介绍了如何使用Java实现通用树形结构构建工具类,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录完整代码一、设计思想与核心功能二、核心实现原理1. 数据结构准备阶段2. 循环依赖检测算法3. 树形结构构建4. 搜索子

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应