一种基于平面遍历的最小包围盒尺寸求解方法转让专利

申请号 : CN202110481748.8

文献号 : CN113297691B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张文过金晓波

申请人 : 成都飞机工业(集团)有限责任公司

摘要 :

本申请涉及计算机辅助制造技术领域,公开了一种基于平面遍历的最小包围盒尺寸求解方法,本方法以获取单个零件数模的最小包围盒尺寸为目标,基于遍历到的零件数模的一个平面,以零件数模在该平面的水平方向、垂直方向及法向上的极值点为约束条件得到零件包围盒,并不断循环比较由平面遍历得到的零件包围盒大小,计算出单个零件数模的最小包围盒尺寸,最后结合CATIA数模文件结构树递归遍历算法,实现了对基于CATIA设计的数模包含的所有零件的最小包围盒尺寸的自动化求解。本申请能够进行自动化求解零件的最小包围盒,求解速度快并且求解得到的零件最小包围盒尺寸准确,能够提高设计工作效率。

权利要求 :

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、若当前文件为零件则执行最小包围盒求解流程后开始递归返回过程,若不是零件则继续获取当前文件的子文件数量并进行下一个遍历流程。

说明书 :

一种基于平面遍历的最小包围盒尺寸求解方法

技术领域

[0001] 本申请涉及计算机辅助制造技术领域,具体涉及一种基于平面遍历的最小包围盒尺寸求解方法。

背景技术

[0002] 在机械设计中,常涉及到需要测量零件加工前所需材料的毛坯尺寸,该尺寸可等同于零件的最小包围盒(Minimum Bounding Box)尺寸。常见的包围盒算法有包围球
(Sphere)、轴向包围盒(AABB,Aligned‑axis Bounding Box)、任意方向包围盒(OBB,
Oriented Bounding Box)、定向凸包包围盒(FDH,Fixed Directions Hulls)、离散方向包
围盒(k‑DOP,Discrete Orientation Polytopes)等。其中,OBB包围盒是可以根据物体一阶
矩任意旋转的包围盒,确定了合适方向矩的OBB包围盒可以被认为是物体的最小包围盒。
[0003] CATIA是由法国达索公司推出的一套功能强大的三维CAD/CAM/CAE软件系统,广泛应用于航空航天、汽车和工程机械等诸多领域。对于基于CATIA设计的三维数模,CATIA V5
的创成式设计模块中提供了Creates Rough Stock和Bounding Box两种功能,可以测量零
件数模的OBB尺寸。二者被认为是精确的最小包围盒测量方法,但仅能依赖设计者人工选取
平面、直线或轴系作为OBB包围盒的一阶矩旋转轴参考,无法自动识别旋转轴方向。另外,
CATIA V5 Automation(CATIA的二次开发接口)并未提供以上两个功能的API,无法直接调
用OBB包围盒测量功能,当数模所包含的零件数量巨大时,会使测量每个零件的OBB尺寸的
工作显得相当繁重冗杂。鉴于存在的以上两个问题,对大量零件数模的最小包围盒尺寸进
行自动化测量成为一个难点。
[0004] 现有技术公开了一些快速求解零件包围盒尺寸的方法,但是仍然存在一些问题。例如公开号为CN110599582A,公开日为2019年12月20日,发明名称为“一种类长方物体包围
盒的快速算法”的发明专利申请,该专利提出遍历几何体平面和棱边特征的方法,将遍历出
的最长棱边作为OBB包围盒轴系的Z轴,并与遍历出的与该Z轴垂直的平面构建出OBB包围盒
的X和Y轴,从而求解出在该轴系下的OBB包围盒尺寸,但是该方法需要同时遍历几何体的面
和边特征,当几何体形状很复杂时将导致计算量巨大,速度较慢。

发明内容

[0005] 为了解决上述现有技术存在的问题和缺陷,本申请提出了一种基于平面遍历的最小包围盒尺寸求解方法,本方法复杂度低,计算时间短,计算效率高,能够快速求解几何体
的最小包围盒尺寸。
[0006] 为了实现上述发明目的,本申请的技术方案如下:
[0007] 一种基于平面遍历的最小包围盒尺寸求解方法,其特征在于:具体包括以下步骤:
[0008] S1、首先获取单个数模零件的所有面元素列表并遍历该列表,基于遍历到的单个零件数模的一个平面,以零件数模在该平面的水平方向、垂直方向及法向上的极值点为约
束条件得到零件的包围盒,并不断循环比较由平面遍历得到的零件包围盒的大小,最终计
算出单个零件数模的最小包围盒尺寸;
[0009] S2、结合CATIA数模文件结构树递归遍历算法,遍历数模包含的所有零件,最终计算出所有零件的最小包围盒尺寸。
[0010] 进一步地,所述步骤S1具体包括以下步骤:
[0011] S1.1、获取到单个数模零件包含的所有面元素列表;
[0012] S1.2、遍历包含所有面元素的列表,判断面元素是否为平面,若为平面则进入步骤S1.3,若不为平面则遍历下一个面元素;
[0013] S1.3、以当前平面元素为参考,定义偏移量为0mm的平面为偏移平面,并在该平面上建立草图;
[0014] S1.4、获取以该偏移平面建立的草图的H轴和V轴,并定义水平方向线LineH和垂直方向线LineV,该偏移平面即为法向面;
[0015] S1.5、获取零件参考几何体,计算零件参考几何体在步骤S1.4定义的LineH、LineV以及法向面上的极值点Hmax、Hmin、Vmax、Vmin、Nmax、Nmin,并分别建立参考极值点;
[0016] S1.6、在步骤S1.3中的偏移平面上建立第二个草图,绘制长边和宽边分别平行于H轴和V轴的矩形,其中两条长边分别与Hmax和Hmin相合约束,两条宽边分别与Vmax和Vmin相
合约束,得到的该矩形的长和宽即为零件在该平面上的包围盒的长和宽;
[0017] S1.7、计算Nmax和Nmin的参考极值点到该偏移平面的距离之和,得到单个数模零件在该平面上的包围盒的高;
[0018] S1.8、计算零件在该平面上的包围盒体积并记录,与进行下一次平面遍历得到的零件包围盒的尺寸进行比较,由此循环得到单个数模零件的最小包围盒尺寸。
[0019] 进一步地,所述步骤S2具体包括以下步骤:
[0020] S2.1、获取CATIA数模文件结构树的根节点文件;
[0021] S2.2、判断根节点文件是否为零件,若为零件则执行最小包围盒的求解流程并结束所有流程,若不是零件则获取子文件的数量并进行遍历;
[0022] S2.3、遍历时判断所遍历到的文件是否重复,若重复则跳过当前文件并判断下一个文件是否重复,若不重复则判断当前文件是否为零件;
[0023] S2.4、若当前文件为零件则执行最小包围盒求解流程后开始递归返回过程,若不是零件则继续获取当前文件的子文件数量并进行下一个遍历流程。
[0024] 本申请的有益效果:
[0025] 本申请对于单个几何体,相比于现有技术,本方法仅通过遍历几何体的面元素即可达到建立OBB包围盒轴系的目的,算法复杂度低,计算时间短,因此求解单个几何体的最
小包围盒速度快,能够提高设计工作效率,并且还可以通过利用CATIA已有的二次开发接口
完成对大量几何体的最小包围盒的自动化测量。

附图说明

[0026] 本申请的前述和下文具体描述在结合以下附图阅读时变得更清楚,附图中:
[0027] 图1为本申请基于平面遍历的最小包围盒尺寸求解方法流程图;
[0028] 图2为本申请CATIA数模所有零件最小包围盒尺寸的自动化求解流程图。

具体实施方式

[0029] 下面通过具体的实施例来进一步说明实现本申请发明目的的技术方案,需要说明的是,本申请要求保护的技术方案包括但不限于以下实施例。
[0030] 本实施例公开了一种基于平面遍历的最小包围盒尺寸求解算法,并结合CATIA数模文件结构树递归遍历算法,实现了对基于CATIA设计的数模包含的所有零件的最小包围
盒尺寸的自动化求解。具体包括以下步骤:
[0031] S1、首先获取单个数模零件的所有面元素列表并遍历该列表,基于遍历到的单个零件数模的一个平面,以零件数模在该平面的水平方向、垂直方向及法向上的极值点为约
束条件得到零件的包围盒,并不断循环比较由平面遍历得到的零件包围盒的大小,最终计
算出单个零件数模的最小包围盒尺寸。
[0032] 参照说明书附图1,所述步骤S1具体包括以下步骤:
[0033] S1.1、选择当前零件几何体,并在编辑/搜索功能高级属性中选择“拓扑”工作台,类型为“面”,外观为“从当前选择”,获取到单个数模零件包含的所有面元素列表;
[0034] S1.2、遍历包含所有面元素的列表,判断面元素是否为平面,若为平面则进入步骤S1.3,若不为平面则遍历下一个面元素;
[0035] S1.3、以当前平面元素为参考,定义偏移量为0mm的平面为偏移平面,并在该平面上建立草图;
[0036] S1.4、获取以该偏移平面建立的草图的H轴(水平方向)和V轴(垂直方向),并定义水平方向线LineH和垂直方向线LineV,该偏移平面即为法向面;
[0037] S1.5、获取零件参考几何体,计算零件参考几何体在步骤S1.4定义的LineH、LineV以及法向面上的极值点Hmax、Hmin、Vmax、Vmin、Nmax、Nmin,并分别建立参考极值点;对于求
解Z轴方向上的极值点时,则以Z轴方向为方向1,X轴方向和Y轴方向分别为方向2和方向3,
三个方向同时设置为最大值或者最小值;
[0038] S1.6、在步骤S1.3中的偏移平面上建立第二个草图,绘制长边和宽边分别平行于H轴和V轴的矩形,其中两条长边分别与Hmax和Hmin相合约束,两条宽边分别与Vmax和Vmin相
合约束,得到的该矩形的长和宽即为零件在该平面上的包围盒的长和宽;
[0039] S1.7、计算Nmax和Nmin的参考极值点到该偏移平面的距离之和,该距离之和即为单个数模零件在该平面上的包围盒的高;
[0040] S1.8、计算零件在该平面上的包围盒体积并记录,与进行下一次平面遍历得到的零件包围盒的尺寸进行比较,由此循环得到单个数模零件的最小包围盒尺寸。
[0041] S2、结合CATIA数模文件结构树递归遍历算法,遍历数模包含的所有零件,最终计算出所有零件的最小包围盒尺寸。
[0042] 参照说明书附图2,所述步骤S2具体包括以下步骤:
[0043] S2.1、获取CATIA数模文件结构树的根节点文件;
[0044] S2.2、判断根节点文件是否为零件,若为零件则执行最小包围盒的求解流程并结束所有流程,若不是零件则获取子文件的数量并进行遍历;
[0045] S2.3、遍历时判断所遍历到的文件是否重复,若重复则跳过当前文件并判断下一个文件是否重复,若不重复则判断当前文件是否为零件;
[0046] S2.4、若当前文件为零件则执行最小包围盒求解流程后开始递归返回过程,若不是零件则继续获取当前文件的子文件数量并进行下一个遍历流程。
[0047] 以上所述,仅是本申请的较佳实施例,并非对本申请做任何形式上的限制,凡是依据本申请的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本申请的保护
范围之内。