CN110990909B - 一种三维cad模型数据处理方法 - Google Patents
一种三维cad模型数据处理方法 Download PDFInfo
- Publication number
- CN110990909B CN110990909B CN201911201355.6A CN201911201355A CN110990909B CN 110990909 B CN110990909 B CN 110990909B CN 201911201355 A CN201911201355 A CN 201911201355A CN 110990909 B CN110990909 B CN 110990909B
- Authority
- CN
- China
- Prior art keywords
- node
- model
- root node
- child
- root
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种三维CAD模型数据处理方法。现有模型轻量化与可视化的模型数据导出与空间索引建立环节舍弃了模型装配结构信息,本发明面向机械三维设计模型的轻量化与交互绘制,提出了一种保持装配结构信息的三维模型数据导出与空间索引建立方法。应用本发明创造的技术方法能够高效地建立模型的空间索引结构,有效解决现有方法容易丢失模型装配结构信息的问题,并支持后续对模型进行进一步的数据压缩和实时绘制。
Description
技术领域
本发明涉及数据处理技术领域。更具体地,涉及一种三维CAD模型数据处理方法。
背景技术
产品原始三维CAD模型采用高阶曲线曲面表示,实时绘制效率低,且其无法在第三方软件平台中加载绘制。除CAD软件厂商提供的模型轻量化与可视化工具外,通常需要采用一定的方法将模型导出成通用的低阶面片模型,并对模型几何数据建立一定的空间索引结构,再进行实时绘制。低阶模型通常由高阶模型利用离散化逼近算法,如Delaunay三角化算法生成,因而与原始高阶模型存在一定误差,但此误差根据精度的需要是可控制的。由于低阶模型的计算复杂度低,且建立空间索引结构后对相交计算有较显著的加速作用,这种基于模型导出的通用面片模型能够获得更高的绘制效率。而且,由于面片模型存在较多的通用格式,比如obj、stl、vrml等,数据容易解析,更方便地在第三方软件平台中进行集成。因而,这种基于面片模型的轻量化与可视化方法正得到更广泛得应用。
现有的三维CAD模型轻量化与可视化方法主要采用两种方法:
第一,利用同一CAD软件厂商提供的模型查看软件,直接打开原始模型,在模型查看器中进行查看,或者发布轻量化模型,再加载轻量化模型进行查看。
第二,利用CAD软件的导出功能,导出成通用的面片格式,对面片模型进行轻量化生成轻量化模型,再加载轻量化模型数据并生成空间索引结构,最后进行实时绘制。
发明内容
本发明的目的在于提供一种三维CAD模型数据处理方法,该方法可以保持装配结构信息的三维模型数据导出与空间索引的建立。
为达到上述目的,本发明采用下述技术方案:
一种三维CAD模型数据处理方法,该方法包括如下步骤:
获取三维模型轻量化之后的模型信息,定位根节点;
获取根节点下的所有子节点,对所述子节点进行处理,在导出每个子节点几何数据的同时导出该子节点包含的标注信息;
以三维模型轻量化之后的模型根目录创建根节点,利用AABB包围盒寻找根节点下子节点的中心点,根据中心点与分割面的相对位置关系将子节点归入根节点的左节点或根节点的右节点,建立空间索引。
优选地,所述三维模型为用CAD软件绘制的三维模型。
优选地,所述根节点为轻量化模型的装配结构的根节点。
优选地,所述子节点的节点模型包括零件或装配体。
优选地,所述获取根节点下的所有子节点,对所述子节点进行处理,在导出每个子节点几何数据的同时导出该子节点包含的标注信息进一步包括:
若子节点的节点模型为零件则按照装配层次设置文件路径生成模型数据保存路径,并将几何数据导出为通用面片格式的模型文件并进行自适应网格简化;
若所述零件包含标注信息则将其导出为相同路径下的文本文件;
若子节点的节点模型为装配体,则继续获取该节点下的未处理的子节点,重复执行上述步骤;
直至遍历完所有节点,结束。
优选地,该方法进一步包括:
读取全部的面片格式模型,包括模型的基本属性或标注信息;按照存储目录的结构组织读取的面片格式模型数据,即保证从三维模型轻量化之后的模型根节点到最深层级,每个节点都带有下一级节点的包含信息。
优选地,所述以三维模型轻量化之后的模型根目录创建根节点,利用AABB包围盒寻找根节点下子节点的中心点,根据中心点与分割面的相对位置关系将子节点归入根节点的左节点或根节点的右节点,建立空间索引进一步包括:
计算当前根节点的AABB包围盒并查找其最长轴,沿着最长轴将包围盒空间等分成左右两部分;
对于当前根节点包含的每一个子节点,计算所述子节点的中心点;
若所述中心点位于分割面左侧,将其加入根节点的左节点,反之,则加入右节点;
增加BVH层级,对于每层级的子节点重复上述步骤;
如果当前根节点的每个子节点均是叶节点,终止算法。
优选地,所述根节点包含了场景中的所有物体。
优选地,所述计算其中心点为计算每一个子节点包含场景的中心点。
本发明的有益效果如下:
本发明的数据处理方法,解决了复杂产品三维模型轻量化与可视化过程中丢失装配结构信息的问题。相比现有方法,本发明提出的方法具有较好的通用性,支持多数主流的三维CAD数据格式,模型数据导出过程效率高,面片简化程度可控。模型空间索引的生成效率高,能够支持高效率的实时绘制。
附图说明
下面结合附图对本发明的具体实施方式作进一步详细的说明。
图1为模型数据导出流程图;
图2为空间索引建立流程图。
具体实施方式
为了更清楚地说明本发明,下面结合附图和优选实施例对本发明做进一步的说明。附图中相似的部件以相同的附图标记进行表示。本领域技术人员应当理解,下面所具体描述的内容是说明性的而非限制性的,不应以此限制本发明的保护范围。
经发明人分析研究认为,现有的第一种方法无法与第三方软件平台集成,或者即使能够在第三方平台集成,也需要依赖于CAD软件厂商的软件环境,无法独立实现模型轻量化与可视化功能,部署安装方式较为繁琐。现有的第二种方法通过将原始模型导出成通用面片模型,能够独立实现模型轻量化与可视化,轻量化模型的精度、模型轻量化与可视化的效率能够根据实际需要进行优化,容易在第三方软件平台中集成。但现有第二种方法大多在原始模型导出成通用面片模型或生成模型空间索引过程中丢失原始模型的装配结构信息,导致处理后的模型中模型之间的层次关系、模型名称等信息与原模型不一致,无法在交互绘制过程中对模型进行快速定位。
由此,本方案面向机械三维设计模型的轻量化与交互绘制,提出了一种保持模型装配结构信息的三维模型数据导出与空间索引建立方法,该方法可高效建立模型的空间索引结构,有效解决丢失模型装配结构信息的问题,并支持后续对模型进行进一步的数据压缩和实时绘制。
该方法首先,
获取CAD软件绘制的三维模型轻量化之后的模型信息,定位轻量化模型的装配结构的根节点;
获取根节点下的所有子节点,若该子节点的模型为零件则按照装配层次设置文件路径生成模型数据保存路径,并将几何数据导出为通用面片格式的模型文件并进行QEM自适应面片简化;若该零件包含标注信息则将其导出为相同路径下的文本文件;若该子节点的模型为装配体,则继续获取未处理的子模型,重复执行上述步骤。直至遍历完模型所有节点,算法结束;
该方法进一步包括:
读取全部的面片格式模型,包括模型的基本属性或标注信息;按照存储目录的结构组织读取的面片格式模型数据,即保证从三维模型轻量化之后的模型根节点到最深层级,每个节点都带有下一级节点的包含信息;
首先,以三维模型轻量化之后的模型根目录创建根节点,根节点包含了场景中的所有物体,其次,利用AABB包围盒寻找根节点下子节点的中心点,然后,根据中心点与分割面的相对位置关系将子节点归入根节点的左节点或根节点的右节点,建立空间索引;
建立空间索引进一步包括:计算当前根节点的AABB包围盒并查找其最长轴,沿着最长轴将包围盒空间等分成左右两部分;
对于当前根节点包含的每一个子节点,计算子节点包含场景的中心点;
若该中心点位于分割面左侧,将其加入根节点的左节点,反之,则加入右节点;
增加BVH层级,对于每层级的子节点重复上述步骤;
如果当前根节点的每个子节点均是叶节点,终止算法。
如图1至图2所示,本方案的方法的具体步骤包括,
获取文档对象,获取模型根节点;
获取未处理的模型子节点;
判断子节点的节点模型是零件还是装配体;
若子节点的节点模型是零件,则按照装配层次创建模型数据并保存路径,并将几何数据导出为通用面片格式的模型文件并进行QEM自适应面片简化;若该零件包含标注信息则将其导出为相同路径下的文本文件;
若子节点的节点模型是装配体,则继续获取未处理的子模型,重复执行上述步骤。直至遍历完模型所有节点,算法结束;
读取全部的面片格式模型,包括模型的基本属性或标注信息;按照存储目录的结构组织读取的面片格式模型数据,即保证从三维模型轻量化之后的模型根节点到最深层级,每个节点都带有下一级节点的包含信息;
设置根节点;
计算当前根节点的AABB包围盒并查找其最长轴,沿着最长轴将包围盒空间等分成左右两部分;
对于当前根节点包含的每一个子目录,计算子目录的中心点;
若该中心点位于分割面左侧,将其加入根节点的左节点,反之,则加入右节点;
增加BVH层级,对于每层级的子目录重复上述步骤;
如果当前根节点的每个子节点不再包含子目录,即每个子节点均是叶节点,终止算法。
本方案中,对于level 0根节点为模型文件根目录。
本方案的方法解决了复杂产品三维模型轻量化与可视化中丢失装配结构信息的问题。相比现有方法,本方案提出的方法具有较好的通用性,支持多数主流的三维CAD数据格式,模型数据导出过程效率高,面片简化程度可控。模型空间索引的生成效率高,能够支持高效率的实时绘制。
下面通过实例对本方案的方法做进一步说明。
一种三维CAD模型数据处理方法包括如下步骤:
加载原始三维模型数据,获取原模型的装配结构:
在CAD软件环境下,打开原始模型文件,获取三维模型轻量化之后的模型信息,并定位到轻量化模型的装配结构的根节点,获取根节点下所有轻量化模型的子节点;
模型数据导出:
若该子节点的节点模型为零件则按照装配层次设置文件路径生成模型数据保存路径,并将几何数据导出为通用面片格式的模型文件并进行QEM自适应面片简化;若该零件包含标注信息则将其导出为相同路径下的文本文件;若该子节点的节点模型为装配体,则继续获取未处理的子节点的节点模型,重复执行上述步骤;直至遍历完三维模型的所有节点,算法结束;
加载导出后的模型数据:
读取全部的面片格式模型,包括模型的基本属性或标注信息;按照存储目录的结构组织读取的面片格式模型数据,即保证从模型根目录到最深层级,每个目录都带有下一级目录或模型文件的包含信息;
生成模型空间索引:
首先,以三维模型轻量化之后的模型根目录创建根节点,则根节点包含了场景中的所有物体;
其次,计算当前根节点的AABB包围盒并查找其最长轴,沿着最长轴将包围盒空间等分成左右两部分;
然后,对于当前根节点包含的每一个子节点,计算其包含场景的中点;若该点位于分割面左侧,将其加入根节点的左节点,反之,则加入右节点;
增加BVH层级,对于每层级的子节点重复上述步骤;如果当前根节点的每个子节点均是叶节点,终止算法。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定,对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动,这里无法对所有的实施方式予以穷举,凡是属于本发明的技术方案所引伸出的显而易见的变化或变动仍处于本发明的保护范围之列。
Claims (7)
1.一种三维CAD模型数据处理方法,其特征在于,该方法包括如下步骤:
获取三维模型轻量化之后的模型信息,定位根节点;
获取根节点下的所有子节点,对所述子节点进行处理,在导出每个子节点几何数据的同时导出该子节点包含的标注信息;
以三维模型轻量化之后的模型根目录创建根节点,利用AABB包围盒寻找根节点下子节点的中心点,根据中心点与分割面的相对位置关系将子节点归入根节点的左节点或根节点的右节点,建立空间索引;
所述子节点的节点模型包括零件或装配体;
所述获取根节点下的所有子节点,对所述子节点进行处理,在导出每个子节点几何数据的同时导出该子节点包含的标注信息进一步包括:
若子节点的节点模型为零件则按照装配层次设置文件路径生成模型数据保存路径,并将几何数据导出为通用面片格式的模型文件并进行自适应网格简化;
若所述零件包含标注信息则将其导出为相同路径下的文本文件;
若子节点的节点模型为装配体,则继续获取该节点下的未处理的子节点的节点模型,重复执行上述步骤;
直至遍历完所有节点,算法结束。
2.根据权利要求1所述的三维CAD模型数据处理方法,其特征在于,所述三维模型为用CAD软件绘制的三维模型。
3.根据权利要求1所述的三维CAD模型数据处理方法,其特征在于,所述根节点为轻量化模型的装配结构的根节点。
4.根据权利要求1所述的三维CAD模型数据处理方法,其特征在于,该方法进一步包括:
读取全部的面片格式模型,包括模型的基本属性或标注信息;按照存储目录的结构组织读取的面片格式模型数据,即保证从三维模型轻量化之后的模型根节点到最深层级,每个节点都带有下一级节点的包含信息。
5.根据权利要求1所述的三维CAD模型数据处理方法,其特征在于,所述以三维模型轻量化之后的模型根目录创建根节点,利用AABB包围盒寻找根节点下子节点的中心点,根据中心点与分割面的相对位置关系将子节点归入根节点的左节点或根节点的右节点,建立空间索引进一步包括:
计算当前根节点的AABB包围盒并查找其最长轴,沿着最长轴将包围盒空间等分成左右两部分;
对于当前根节点包含的每一个子节点,计算所述子节点的中心点;
若所述中心点位于分割面左侧,将其加入根节点的左节点,反之,则加入右节点;
增加BVH层级,对于每层级的子节点重复上述步骤;
如果当前根节点的每个子节点均是叶节点,终止算法。
6.根据权利要求5所述的三维CAD模型数据处理方法,其特征在于,所述根节点包含了场景中的所有物体。
7.根据权利要求5所述的三维CAD模型数据处理方法,其特征在于,所述计算其中心点为计算每一个子节点包含场景的中心点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911201355.6A CN110990909B (zh) | 2019-11-29 | 2019-11-29 | 一种三维cad模型数据处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911201355.6A CN110990909B (zh) | 2019-11-29 | 2019-11-29 | 一种三维cad模型数据处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110990909A CN110990909A (zh) | 2020-04-10 |
CN110990909B true CN110990909B (zh) | 2023-10-20 |
Family
ID=70088412
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911201355.6A Active CN110990909B (zh) | 2019-11-29 | 2019-11-29 | 一种三维cad模型数据处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110990909B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111783186B (zh) * | 2020-07-03 | 2021-03-16 | 北京安怀信科技股份有限公司 | 通用cad模型结果轻量可视化查看方法 |
CN112070909A (zh) * | 2020-09-02 | 2020-12-11 | 中国石油工程建设有限公司 | 一种基于3D Tiles的工程三维模型LOD输出方法 |
CN113282553B (zh) * | 2021-05-24 | 2021-11-02 | 北京航空航天大学 | 一种电磁环境远场数据的快速无损压缩存储方法 |
CN115169274B (zh) * | 2022-06-20 | 2023-05-02 | 浙江大学 | 电子器件装配体几何自适应数值仿真网格生成方法及装置 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130325798A1 (en) * | 2011-01-25 | 2013-12-05 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for storing node |
CN103440238A (zh) * | 2012-03-09 | 2013-12-11 | 辉达公司 | 图形处理单元中的3d加速结构的完全并行适当地构造 |
CN104809290A (zh) * | 2015-04-27 | 2015-07-29 | 北京航空航天大学 | 一种衣物自碰撞检测高层裁剪优化方法 |
CN106909640A (zh) * | 2017-02-16 | 2017-06-30 | 杭州新迪数字工程系统有限公司 | 基于webgl的三维模型轻量化展示技术 |
US9865085B1 (en) * | 2017-05-08 | 2018-01-09 | Analytical Graphics, Inc. | Systems and methods for 3D modeling using skipping heuristics and fusing |
CN108629106A (zh) * | 2018-04-28 | 2018-10-09 | 北京仿真中心 | 三维模型遮挡体选取方法、系统、计算机设备及可读介质 |
CN109377554A (zh) * | 2018-10-31 | 2019-02-22 | 武汉新迪数字工程系统有限公司 | 大型三维模型绘制方法、设备、系统及存储介质 |
-
2019
- 2019-11-29 CN CN201911201355.6A patent/CN110990909B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130325798A1 (en) * | 2011-01-25 | 2013-12-05 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for storing node |
CN103440238A (zh) * | 2012-03-09 | 2013-12-11 | 辉达公司 | 图形处理单元中的3d加速结构的完全并行适当地构造 |
CN104809290A (zh) * | 2015-04-27 | 2015-07-29 | 北京航空航天大学 | 一种衣物自碰撞检测高层裁剪优化方法 |
CN106909640A (zh) * | 2017-02-16 | 2017-06-30 | 杭州新迪数字工程系统有限公司 | 基于webgl的三维模型轻量化展示技术 |
US9865085B1 (en) * | 2017-05-08 | 2018-01-09 | Analytical Graphics, Inc. | Systems and methods for 3D modeling using skipping heuristics and fusing |
CN108629106A (zh) * | 2018-04-28 | 2018-10-09 | 北京仿真中心 | 三维模型遮挡体选取方法、系统、计算机设备及可读介质 |
CN109377554A (zh) * | 2018-10-31 | 2019-02-22 | 武汉新迪数字工程系统有限公司 | 大型三维模型绘制方法、设备、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110990909A (zh) | 2020-04-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110990909B (zh) | 一种三维cad模型数据处理方法 | |
CN109145366B (zh) | 基于Web3D的建筑信息模型轻量级可视化方法 | |
CN110929310A (zh) | 一种云端图纸智能生成及编辑方法 | |
CN108073682A (zh) | 基于参数视图函数查询数据库 | |
CN106600700B (zh) | 一种三维模型数据处理系统 | |
CN111475887B (zh) | 一种基于三维模型的船舶管路支吊架快速统计及出图方法 | |
CN108639374B (zh) | 一种飞机部件数字化装配实测数据处理方法及系统 | |
CN109859318A (zh) | 面向安全生产的三维模型制作加载显示系统及方法 | |
WO2020235057A1 (ja) | モデル生成装置、モデル生成システム、モデル生成方法、非一時的なコンピュータ可読媒体 | |
CN111339599A (zh) | 一种bim模型到gis模型的转换方法 | |
Karpisz et al. | Selected problems of designing modern industrial databases | |
CN109858059B (zh) | 基于cad超大模型的虚拟现实技术在水电站仿真的应用方法 | |
CN109426944B (zh) | 一种三维模型文件归档管理系统 | |
CN111915720B (zh) | 一种建筑物Mesh模型到CityGML模型的自动转换方法 | |
CN111612686B (zh) | 一种ebom到pbom的结构映射方法 | |
CN117077256A (zh) | 从rvt格式到b3d格式的转换方法及其插件和系统 | |
CN109684656B (zh) | 一种基于SolidWorks的装配约束继承方法 | |
Owen et al. | Mesh‐based geometry | |
CN113450463B (zh) | 预制体的转换方法和装置 | |
Mateo et al. | Hierarchical, Dense and Dynamic 3D Reconstruction Based on VDB Data Structure for Robotic Manipulation Tasks | |
CN115512040A (zh) | 面向数字孪生的三维室内场景快速高精度重建方法及系统 | |
US8566814B2 (en) | Transporting object packets in a nested system landscape | |
CN113409449A (zh) | 一种基于三维场景数据生成机器人仿真场景的方法、装置和存储介质 | |
Wen et al. | Research on Direct Topological Structure Reconstruction for STL Model | |
Schild et al. | Open data exchange with HP PE/SolidDesigner |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |