CN113297691B - 一种基于平面遍历的最小包围盒尺寸求解方法 - Google Patents
一种基于平面遍历的最小包围盒尺寸求解方法 Download PDFInfo
- Publication number
- CN113297691B CN113297691B CN202110481748.8A CN202110481748A CN113297691B CN 113297691 B CN113297691 B CN 113297691B CN 202110481748 A CN202110481748 A CN 202110481748A CN 113297691 B CN113297691 B CN 113297691B
- Authority
- CN
- China
- Prior art keywords
- bounding box
- plane
- minimum bounding
- file
- digital
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/10—Geometric CAD
- G06F30/17—Mechanical parametric or variational design
Abstract
本申请涉及计算机辅助制造技术领域,公开了一种基于平面遍历的最小包围盒尺寸求解方法,本方法以获取单个零件数模的最小包围盒尺寸为目标,基于遍历到的零件数模的一个平面,以零件数模在该平面的水平方向、垂直方向及法向上的极值点为约束条件得到零件包围盒,并不断循环比较由平面遍历得到的零件包围盒大小,计算出单个零件数模的最小包围盒尺寸,最后结合CATIA数模文件结构树递归遍历算法,实现了对基于CATIA设计的数模包含的所有零件的最小包围盒尺寸的自动化求解。本申请能够进行自动化求解零件的最小包围盒,求解速度快并且求解得到的零件最小包围盒尺寸准确,能够提高设计工作效率。
Description
技术领域
本申请涉及计算机辅助制造技术领域,具体涉及一种基于平面遍历的最小包围盒尺寸求解方法。
背景技术
在机械设计中,常涉及到需要测量零件加工前所需材料的毛坯尺寸,该尺寸可等同于零件的最小包围盒(Minimum Bounding Box)尺寸。常见的包围盒算法有包围球(Sphere)、轴向包围盒(AABB,Aligned-axis Bounding Box)、任意方向包围盒(OBB,Oriented Bounding Box)、定向凸包包围盒(FDH,Fixed Directions Hulls)、离散方向包围盒(k-DOP,Discrete Orientation Polytopes)等。其中,OBB包围盒是可以根据物体一阶矩任意旋转的包围盒,确定了合适方向矩的OBB包围盒可以被认为是物体的最小包围盒。
CATIA是由法国达索公司推出的一套功能强大的三维CAD/CAM/CAE软件系统,广泛应用于航空航天、汽车和工程机械等诸多领域。对于基于CATIA设计的三维数模,CATIA V5的创成式设计模块中提供了Creates Rough Stock和Bounding Box两种功能,可以测量零件数模的OBB尺寸。二者被认为是精确的最小包围盒测量方法,但仅能依赖设计者人工选取平面、直线或轴系作为OBB包围盒的一阶矩旋转轴参考,无法自动识别旋转轴方向。另外,CATIA V5 Automation(CATIA的二次开发接口)并未提供以上两个功能的API,无法直接调用OBB包围盒测量功能,当数模所包含的零件数量巨大时,会使测量每个零件的OBB尺寸的工作显得相当繁重冗杂。鉴于存在的以上两个问题,对大量零件数模的最小包围盒尺寸进行自动化测量成为一个难点。
现有技术公开了一些快速求解零件包围盒尺寸的方法,但是仍然存在一些问题。例如公开号为CN110599582A,公开日为2019年12月20日,发明名称为“一种类长方物体包围盒的快速算法”的发明专利申请,该专利提出遍历几何体平面和棱边特征的方法,将遍历出的最长棱边作为OBB包围盒轴系的Z轴,并与遍历出的与该Z轴垂直的平面构建出OBB包围盒的X和Y轴,从而求解出在该轴系下的OBB包围盒尺寸,但是该方法需要同时遍历几何体的面和边特征,当几何体形状很复杂时将导致计算量巨大,速度较慢。
发明内容
为了解决上述现有技术存在的问题和缺陷,本申请提出了一种基于平面遍历的最小包围盒尺寸求解方法,本方法复杂度低,计算时间短,计算效率高,能够快速求解几何体的最小包围盒尺寸。
为了实现上述发明目的,本申请的技术方案如下:
一种基于平面遍历的最小包围盒尺寸求解方法,其特征在于:具体包括以下步骤:
S1、首先获取单个数模零件的所有面元素列表并遍历该列表,基于遍历到的单个零件数模的一个平面,以零件数模在该平面的水平方向、垂直方向及法向上的极值点为约束条件得到零件的包围盒,并不断循环比较由平面遍历得到的零件包围盒的大小,最终计算出单个零件数模的最小包围盒尺寸;
S2、结合CATIA数模文件结构树递归遍历算法,遍历数模包含的所有零件,最终计算出所有零件的最小包围盒尺寸。
进一步地,所述步骤S1具体包括以下步骤:
S1.1、获取到单个数模零件包含的所有面元素列表;
S1.2、遍历包含所有面元素的列表,判断面元素是否为平面,若为平面则进入步骤S1.3,若不为平面则遍历下一个面元素;
S1.3、以当前平面元素为参考,定义偏移量为0mm的平面为偏移平面,并在该平面上建立草图;
S1.4、获取以该偏移平面建立的草图的H轴和V轴,并定义水平方向线LineH和垂直方向线LineV,该偏移平面即为法向面;
S1.5、获取零件参考几何体,计算零件参考几何体在步骤S1.4定义的LineH、LineV以及法向面上的极值点Hmax、Hmin、Vmax、Vmin、Nmax、Nmin,并分别建立参考极值点;
S1.6、在步骤S1.3中的偏移平面上建立第二个草图,绘制长边和宽边分别平行于H轴和V轴的矩形,其中两条长边分别与Hmax和Hmin相合约束,两条宽边分别与Vmax和Vmin相合约束,得到的该矩形的长和宽即为零件在该平面上的包围盒的长和宽;
S1.7、计算Nmax和Nmin的参考极值点到该偏移平面的距离之和,得到单个数模零件在该平面上的包围盒的高;
S1.8、计算零件在该平面上的包围盒体积并记录,与进行下一次平面遍历得到的零件包围盒的尺寸进行比较,由此循环得到单个数模零件的最小包围盒尺寸。
进一步地,所述步骤S2具体包括以下步骤:
S2.1、获取CATIA数模文件结构树的根节点文件;
S2.2、判断根节点文件是否为零件,若为零件则执行最小包围盒的求解流程并结束所有流程,若不是零件则获取子文件的数量并进行遍历;
S2.3、遍历时判断所遍历到的文件是否重复,若重复则跳过当前文件并判断下一个文件是否重复,若不重复则判断当前文件是否为零件;
S2.4、若当前文件为零件则执行最小包围盒求解流程后开始递归返回过程,若不是零件则继续获取当前文件的子文件数量并进行下一个遍历流程。
本申请的有益效果:
本申请对于单个几何体,相比于现有技术,本方法仅通过遍历几何体的面元素即可达到建立OBB包围盒轴系的目的,算法复杂度低,计算时间短,因此求解单个几何体的最小包围盒速度快,能够提高设计工作效率,并且还可以通过利用CATIA已有的二次开发接口完成对大量几何体的最小包围盒的自动化测量。
附图说明
本申请的前述和下文具体描述在结合以下附图阅读时变得更清楚,附图中:
图1为本申请基于平面遍历的最小包围盒尺寸求解方法流程图;
图2为本申请CATIA数模所有零件最小包围盒尺寸的自动化求解流程图。
具体实施方式
下面通过具体的实施例来进一步说明实现本申请发明目的的技术方案,需要说明的是,本申请要求保护的技术方案包括但不限于以下实施例。
本实施例公开了一种基于平面遍历的最小包围盒尺寸求解算法,并结合CATIA数模文件结构树递归遍历算法,实现了对基于CATIA设计的数模包含的所有零件的最小包围盒尺寸的自动化求解。具体包括以下步骤:
S1、首先获取单个数模零件的所有面元素列表并遍历该列表,基于遍历到的单个零件数模的一个平面,以零件数模在该平面的水平方向、垂直方向及法向上的极值点为约束条件得到零件的包围盒,并不断循环比较由平面遍历得到的零件包围盒的大小,最终计算出单个零件数模的最小包围盒尺寸。
参照说明书附图1,所述步骤S1具体包括以下步骤:
S1.1、选择当前零件几何体,并在编辑/搜索功能高级属性中选择“拓扑”工作台,类型为“面”,外观为“从当前选择”,获取到单个数模零件包含的所有面元素列表;
S1.2、遍历包含所有面元素的列表,判断面元素是否为平面,若为平面则进入步骤S1.3,若不为平面则遍历下一个面元素;
S1.3、以当前平面元素为参考,定义偏移量为0mm的平面为偏移平面,并在该平面上建立草图;
S1.4、获取以该偏移平面建立的草图的H轴(水平方向)和V轴(垂直方向),并定义水平方向线LineH和垂直方向线LineV,该偏移平面即为法向面;
S1.5、获取零件参考几何体,计算零件参考几何体在步骤S1.4定义的LineH、LineV以及法向面上的极值点Hmax、Hmin、Vmax、Vmin、Nmax、Nmin,并分别建立参考极值点;对于求解Z轴方向上的极值点时,则以Z轴方向为方向1,X轴方向和Y轴方向分别为方向2和方向3,三个方向同时设置为最大值或者最小值;
S1.6、在步骤S1.3中的偏移平面上建立第二个草图,绘制长边和宽边分别平行于H轴和V轴的矩形,其中两条长边分别与Hmax和Hmin相合约束,两条宽边分别与Vmax和Vmin相合约束,得到的该矩形的长和宽即为零件在该平面上的包围盒的长和宽;
S1.7、计算Nmax和Nmin的参考极值点到该偏移平面的距离之和,该距离之和即为单个数模零件在该平面上的包围盒的高;
S1.8、计算零件在该平面上的包围盒体积并记录,与进行下一次平面遍历得到的零件包围盒的尺寸进行比较,由此循环得到单个数模零件的最小包围盒尺寸。
S2、结合CATIA数模文件结构树递归遍历算法,遍历数模包含的所有零件,最终计算出所有零件的最小包围盒尺寸。
参照说明书附图2,所述步骤S2具体包括以下步骤:
S2.1、获取CATIA数模文件结构树的根节点文件;
S2.2、判断根节点文件是否为零件,若为零件则执行最小包围盒的求解流程并结束所有流程,若不是零件则获取子文件的数量并进行遍历;
S2.3、遍历时判断所遍历到的文件是否重复,若重复则跳过当前文件并判断下一个文件是否重复,若不重复则判断当前文件是否为零件;
S2.4、若当前文件为零件则执行最小包围盒求解流程后开始递归返回过程,若不是零件则继续获取当前文件的子文件数量并进行下一个遍历流程。
以上所述,仅是本申请的较佳实施例,并非对本申请做任何形式上的限制,凡是依据本申请的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本申请的保护范围之内。
Claims (2)
1.一种基于平面遍历的最小包围盒尺寸求解方法,其特征在于:具体包括以下步骤:
S1、首先获取单个数模零件的所有面元素列表并遍历该列表,基于遍历到的单个零件数模的一个平面,以零件数模在该平面的水平方向、垂直方向及法向上的极值点为约束条件得到零件的包围盒,并不断循环比较由平面遍历得到的零件包围盒的大小,最终计算出单个零件数模的最小包围盒尺寸;
S2、结合CATIA数模文件结构树递归遍历算法,遍历数模包含的所有零件,最终计算出所有零件的最小包围盒尺寸;
所述步骤S1具体包括以下步骤:
S1.1、获取到单个数模零件包含的所有面元素列表;
S1.2、遍历包含所有面元素的列表,判断面元素是否为平面,若为平面则进入步骤S1.3,若不为平面则遍历下一个面元素;
S1.3、以当前平面元素为参考,定义偏移量为0mm的平面为偏移平面,并在该平面上建立草图;
S1.4、获取以该偏移平面建立的草图的H轴和V轴,并定义水平方向线LineH和垂直方向线LineV,该偏移平面即为法向面;
S1.5、获取零件参考几何体,计算零件参考几何体在步骤S1.4定义的LineH、LineV以及法向面上的极值点Hmax、Hmin、Vmax、Vmin、Nmax、Nmin,并分别建立参考极值点;
S1.6、在步骤S1.3中的偏移平面上建立第二个草图,绘制长边和宽边分别平行于H轴和V轴的矩形,其中两条长边分别与Hmax和Hmin相合约束,两条宽边分别与Vmax和Vmin相合约束,得到的该矩形的长和宽即为零件在该平面上的包围盒的长和宽;
S1.7、计算Nmax和Nmin的参考极值点到该偏移平面的距离之和,得到单个数模零件在该平面上的包围盒的高;
S1.8、计算零件在该平面上的包围盒体积并记录,与进行下一次平面遍历得到的零件包围盒的尺寸进行比较,由此循环得到单个数模零件的最小包围盒尺寸。
2.根据权利要求1所述的一种基于平面遍历的最小包围盒尺寸求解方法,其特征在于:所述步骤S2具体包括以下步骤:
S2.1、获取CATIA数模文件结构树的根节点文件;
S2.2、判断根节点文件是否为零件,若为零件则执行最小包围盒的求解流程并结束所有流程,若不是零件则获取子文件的数量并进行遍历;
S2.3、遍历时判断所遍历到的文件是否重复,若重复则跳过当前文件并判断下一个文件是否重复,若不重复则判断当前文件是否为零件;
S2.4、若当前文件为零件则执行最小包围盒求解流程后开始递归返回过程,若不是零件则继续获取当前文件的子文件数量并进行下一个遍历流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110481748.8A CN113297691B (zh) | 2021-04-30 | 2021-04-30 | 一种基于平面遍历的最小包围盒尺寸求解方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110481748.8A CN113297691B (zh) | 2021-04-30 | 2021-04-30 | 一种基于平面遍历的最小包围盒尺寸求解方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113297691A CN113297691A (zh) | 2021-08-24 |
CN113297691B true CN113297691B (zh) | 2022-04-08 |
Family
ID=77320963
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110481748.8A Active CN113297691B (zh) | 2021-04-30 | 2021-04-30 | 一种基于平面遍历的最小包围盒尺寸求解方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113297691B (zh) |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110120097A (zh) * | 2019-05-14 | 2019-08-13 | 南京林业大学 | 大场景机载点云语义建模方法 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104598683B (zh) * | 2015-01-15 | 2017-11-03 | 东北大学 | 一种自动生成层次化爆炸图的方法 |
CN105022865B (zh) * | 2015-06-30 | 2018-04-17 | 西安交通大学 | 一种基于stl模型布尔运算的飞机油箱内表面模型提取方法 |
CN113498530A (zh) * | 2018-12-20 | 2021-10-12 | 艾奎菲股份有限公司 | 基于局部视觉信息的对象尺寸标注系统和方法 |
CN111060006A (zh) * | 2019-04-15 | 2020-04-24 | 深圳市易尚展示股份有限公司 | 一种基于三维模型的视点规划方法 |
CN110176071B (zh) * | 2019-05-06 | 2023-02-10 | 南京航空航天大学 | 一种基于特征模板的三维点云重构方法 |
CN110599582B (zh) * | 2019-09-11 | 2023-03-14 | 河南工业职业技术学院 | 一种类长方物体包围盒的快速算法 |
-
2021
- 2021-04-30 CN CN202110481748.8A patent/CN113297691B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110120097A (zh) * | 2019-05-14 | 2019-08-13 | 南京林业大学 | 大场景机载点云语义建模方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113297691A (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110039538B (zh) | 一种基于大型复杂构件点云信息的机器人轨迹规划方法 | |
CN112508895B (zh) | 一种基于曲面配准的螺旋桨叶片质量评估方法 | |
CN103544343A (zh) | 动力卡盘的系列化、参数化建模方法 | |
CN113536488B (zh) | 基于配准算法的毛坯质量包容性分析和余量优化方法 | |
CN112179602B (zh) | 一种机械臂碰撞检测方法 | |
CN114398691B (zh) | 一种轮胎模具二维视图智能设计方法及设备 | |
CN110222447B (zh) | 一种基于八叉树的自适应网格划分方法及系统 | |
CN113297691B (zh) | 一种基于平面遍历的最小包围盒尺寸求解方法 | |
Huang et al. | An on-machine tool path generation method based on hybrid and local point cloud registration for laser deburring of ceramic cores | |
Dong et al. | Manufacturing feature determination and extraction—Part II: a heuristic approach | |
Song et al. | Automatic recognition and suppression of holes on mold bases for finite element applications | |
Chen et al. | Design for manufacturing: Geometric manufacturability evaluation for five-axis milling | |
CN112487554B (zh) | 基于模型的端切定义新方法、系统及计算机设备 | |
CN112347585B (zh) | 一种球头铣刀与工件接触区域解析计算方法 | |
Morimoto et al. | A GPU based algorithm for determining the optimal cutting direction in deep mold machining | |
CN103678799A (zh) | 一种弯边钣金件斜角值快速测量标定方法 | |
CN113888730A (zh) | 三维模型中制造信息的标注方法、系统、设备及存储介质 | |
CN109211158B (zh) | 确定箱体孔系加工一面两孔定位基准转动误差的方法 | |
CN113674294A (zh) | 一种3d模型切片处理方法及装置 | |
CN110442081B (zh) | 基于svg的数控加工方法、装置、系统和存储介质 | |
CN110796729B (zh) | 一种基于二叉树的网格划分方法 | |
CN108170099B (zh) | 一种智能数控机床加工任务数字化描述与生成方法 | |
Attila | IGES-based CAD model post processing module of a Setup and Fixture Planning System for box-shaped parts | |
CN112000063B (zh) | 一种模具分层清角数控加工系统及其工艺方法 | |
CN117765047B (zh) | 一种工件配准方法、装置、计算机设备及存储介质 |
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 |