CN105022865B - 一种基于stl模型布尔运算的飞机油箱内表面模型提取方法 - Google Patents

一种基于stl模型布尔运算的飞机油箱内表面模型提取方法 Download PDF

Info

Publication number
CN105022865B
CN105022865B CN201510374124.0A CN201510374124A CN105022865B CN 105022865 B CN105022865 B CN 105022865B CN 201510374124 A CN201510374124 A CN 201510374124A CN 105022865 B CN105022865 B CN 105022865B
Authority
CN
China
Prior art keywords
model
triangle
circulation
tri patch
stl
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
Application number
CN201510374124.0A
Other languages
English (en)
Other versions
CN105022865A (zh
Inventor
洪军
郑帅
王崴
申凌宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN201510374124.0A priority Critical patent/CN105022865B/zh
Publication of CN105022865A publication Critical patent/CN105022865A/zh
Application granted granted Critical
Publication of CN105022865B publication Critical patent/CN105022865B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明公开了一种基于STL模型布尔运算的飞机油箱内表面模型提取方法,通过对初始CAD模型进行格式转换,生成STL格式文件;对STL格式文件进行拓扑优化,生成点线面索引信息及相邻点线面信息;以油箱理论外形面所形成的包围体A和真实油箱模型B之间进行布尔减操作,对三角面片相交方式分类,相交之后对网格进行再划分;最后将两模型的所有面片按照布尔减的逻辑关系进行筛选,重组为新模型并剔除其余面片,实现内表面模型的提取。本发明从复杂飞机油箱的CAD模型提取出内表面模型,具有鲁棒性和时效性,计算复杂度显著降低,极大的领先于同类已有方法。

Description

一种基于STL模型布尔运算的飞机油箱内表面模型提取方法
技术领域
本发明属于计算机图形学领域,涉及在飞机燃油测量系统设计环节,利用STL模型代替原有CATIA模型实现飞机油箱内表面的提取,尤其涉及一种基于STL模型布尔运算的飞机油箱内表面模型提取方法。
背景技术
目前国内在飞机油箱内表面模型的构造方面的研究均是基于对CATIA三维软件的二次开发,一般方法是构建一个略大于油箱模型的最小包围盒实体,利用CATIA的布尔减功能,使用包围盒减去原油箱,将得到内表面模型及原本在油箱模型外部,及在最小包围盒内部的散碎体。在布尔减过程中,如果模型过于复杂,将大大降低CATIA的运行速度,甚至造成CATIA报错并退出;随着CATIA版本的升级,必须对二次开发程序进行相应的修改,因此系统通用性差。中泫铸造工程技术研究中心使用过一种基于面片模型的内表面模型提取方法,其主要思想是:首先将油箱的CATIA体模型转化以面片为基础的面模型,如STEP格式或者STL格式,通过定义处于油箱内部的一点,使其从各个方向向外投射“射线”或“曲线”,如果某一平面被所有“射线”均穿透奇数次,则其为内表面,若有某平面被偶数次穿透,则其为外表面,可以予以删除。这种方法的缺点是:由于“射线”、“曲线”在空间中定义十分复杂,而油箱模型面片量较大,导致此方法的时间复杂度较高,对计算机要求严格,因此这种方法的使用范围较小,仅适用于结构简单的油箱模型。
发明内容
针对现有飞机油箱内表面模型提取时所存在的不足,本发明的目的在于提供一种基于STL模型布尔运算的飞机油箱内表面模型提取方法,能够高效、稳定的实现油箱内表面模型提取。
为实现上述目的,本发明采用的技术方案是:
在CATIA软件中将飞机油箱模型的CATIA数据文件导出为STL格式文件;建立该模型三角面片的点面索引;计算该模型中所有顶点的最大坐标和最小坐标,构建该模型的矩形最小包围盒;令该矩形最小包围盒为模型A,飞机油箱模型为模型B,使用三维模型布尔减方法得到模型C,C=A-B;判断模型C属于模型A内部的面片,通过人机交互从模型C中删除不属于模型A内部的冗余面片;将模型C中剩余的面片的法矢反向,飞机油箱内表面模型提取完毕。
所述的三维模型布尔减方法包括以下步骤:
1)以模型A和模型B整体为基准,确定空间总范围,并以此空间总范围为基准进行含符号八叉树划分;
2)对含符号八叉树的每一个根节点进行遍历,对每个三角面片进行判断,取出其中来自模型A和模型B的三角面片;在同一个根节点内,由属于模型B的三角面片对属于模型A的三角面片进行相交测试,计算出相交点,并重构三角面片;同时由属于模型A的三角面片对属于模型B的三角面片进行相交测试,计算出相交点,并重构三角面片;
3)根据三角面片法矢判断三角形内外关系:再次对含符号八叉树的每一个根节点进行遍历,根据每个根节点中模型A内三角面片的法矢判断模型B中三角面片是否在模型A之内;
4)选择所有在模型A内且模型B之外的三角面片,且删除其它三角面片。
所述的含符号八叉树划分包括以下步骤:
1.1)以模型A和模型B所组成的整体最小包围盒为初始空间,以整体最小包围盒各边中点为限划分初始空间为相等的八个子空间;
1.2)将每个子空间按照步骤1.1)的方法再次划分为相等的八个子空间,同时,每划分一次,定义空间深度加一;
1.3)划分的结束判断标志为:当空间深度达到设定值,或者划分后的某个子空间内含有来自模型A或模型B的三角面片数量达到设定值。
所述的相交测试及重构三角面片具体包括以下步骤:
2.1)以TA为被切割三角形,TB为切割三角形,分别使用三角形TB的三边,对三角形TA所在平面进行相交计算,并计算交点是否在三角形TA内;三角形TA为属于模型A的三角面片,三角形TB为属于模型B的三角面片;
2.2)对于在三角形TA内和在三角形TA边上的交点,记录该交点,用作重构三角形,对于在三角形TA外的交点,忽略并认为不相交;
2.3)以TA作为被切割三角形所记录的交点为基准,根据交点数量及位置关系情况枚举,确定TA被划分的形状,生成新三角形,同时记录TA为被划分状态;
2.4)以TA为切割三角形,TB为被切割三角形,再次按照步骤2.1)~2.3)执行。
所述步骤2)中对含符号八叉树的根节点的遍历流程为:
循环1:对含符号八叉树的根节点进行深度优先遍历;
循环2:在循环1中,对根节点中来自模型A的三角形TA进行顺序遍历;
循环3:在循环2中,对根节点中来自模型B的三角形TB进行顺序遍历;
在循环3中,对循环2中所遍历到的三角形TA和循环3中所遍历到的三角形TB进行相交测试及三角面片重构,如TA被标记为被划分状态,则从循环2中剔除TA,并开始循环2的下一次循环,并对循环3置零;
如TB被标记为被划分状态,则从循环3中剔除TB,并开始循环2的下一次循环;
如TA及TB均被标记为被划分状态,则开始循环3的下一次循环;
如循环3已遍历完成,则将循环2前移一个单位;
如循环2已遍历完成,则将循环1前移一个单位;
如循环1已遍历完成,则遍历结束。
所述的根据三角形法矢判断三角形内外关系具体包括以下步骤:
当三角形TB被切割时,所生成的新三角形在三角形TA法矢一侧的,均标记为正;所生成的新三角形与三角形TA法矢方向相反的,均标记为负;当三角形TA被切割时,所生成的新三角形在三角形TB法矢一侧的,均标记为正;所生成的新三角形与三角形TB法矢方向相反的,均标记为负;对于模型A中的所有新三角形,将标记为正的三角形认定为其在模型B外部,将标记为负的三角形认定为其在模型B的内部;对于模型B中的所有新三角形,将标记为正的三角形认定为其在模型A外部,将标记为负的三角形认定为其在模型A的内部。
所述将模型C中剩余的面片的法矢反向具体包括以下步骤:保留模型A中标记为正的所有三角形和模型B中标记为负的所有三角形;并将模型B中所有标记为负的三角形法矢反向。
本发明通过对初始CAD模型进行格式转换,生成STL格式文件;对STL格式文件进行拓扑优化,生成点线面索引信息及相邻点线面信息;以油箱理论外形面所形成的包围体A和真实油箱模型B之间进行布尔减操作,对三角面片相交方式分类,相交之后对网格进行再划分;最后将两模型的所有面片按照布尔减的逻辑关系进行筛选,重组为新模型并剔除其余面片,实现内表面模型的提取。本发明从复杂飞机油箱的CAD模型提取出内表面模型,具有鲁棒性和时效性,计算复杂度显著降低,极大的领先于同类已有方法。
本发明由CAD软件所导出的飞机油箱模型STL格式文件出发,对离散点的几何信息进行索引重建,建立其拓扑信息;将油箱提取工作简化为模型间的布尔减运算:以油箱模型的最小包围盒所含实体为模型A,以初始油箱模型为模型B,执行布尔减操作;对此布尔减操作移植在八叉树结构中进行,使得其算法效率得到有效提升,同时保留了鲁棒性和时效性,极大的领先于同类已有算法。
本发明具有以下优点:
(1)使用STL模型替代传统Catia模型进行布尔运算,提高了计算效率和稳定性;
(2)引入八叉树为STL模型三角形相交测试效率提供了显著优化;
(3)使用八叉树节点中保存面片符号,为布尔运算中的三角形选取提供了有利保障。
附图说明
图1为使用八叉树划分某两个参与布尔运算的模型,图1中a至e分别为划分深度从2至6;
图2a~图2f为三角形相交划分的情况;
图3a表示P2AB的外接圆覆盖了P1(因此不得连接P2AB);
图3b表示P1AB的外接圆未覆盖P2(因此可以连接P1AB);
图3c表示P1CB的外接圆未覆盖P2(因此可以连接P1CB);
图3d表示P2CB的外接圆未覆盖P1(因此可以连接P2CB);
图3e表示按照此方法类推,得到三角形ABC的Delaunay划分;
图4为一个布尔减的实例;其中,a为目标模型,b为布尔减运算后的模型;
图5为对飞机油箱内表面模型的提取实例;其中,a为划分子空间结果,b为相交测试后bool减运算结果,c为内表面提取的结果。
图6为本发明的整体流程图。
具体实施方式
下面结合附图和实施例对本发明做详细说明。
参见图6,本发明所述基于STL模型布尔运算的飞机油箱内表面模型提取方法,包括以下步骤:
一、将CAD软件中的油箱模型导出为STL格式文件,这样的好处是能够摒弃CAD软件中复杂的模型层次结构,仅将几何信息保留。但对于完全孤立的几何信息,需要重构其拓扑信息以提高点线面索引效率。因此,对点信息进行排序,建立点索引链表,同时根据STL格式文件的特性建立三角形(面)索引链表及三角形每条边的边索引链表,以此优化后续计算效率。对于已经构建拓扑信息的STL格式文件,计算其最小包围盒,并填充之以构建一个实体模型。
二、使用STL布尔减运算,令包围盒模型为模型A,令油箱模型为模型B。
下面对步骤二具体说明:
(1)以模型A和模型B整体为基准,确定空间总范围,并以此为基准进行含符号八叉树划分:
使用STL模型进行布尔运算时,由于模型完全由三角面片表示,因此对模型A的每个三角形相交判断等运算都需要在模型B的全局范围内进行匹配。而飞机油箱模型一般包括数百万三角面片,因此其计算次数复杂度为O(N*M),其中M、N分别为两模型的三角形个数。计算时会造成严重的延迟,如不对其进行优化,是无法完成布尔运算的。
基于含符号八叉树的空间动态划分算法是以参与布尔运算的两个模型所在最小包围盒为原始空间,如果这个空间内部包括三角面片,就将这个空间平均的分成八个子空间(沿x,y,z轴二分,得到8个大小相同的子空间),之后,对每一个子空间采用类似的做法,直到细分到某一精度。这一递归的步骤最终能够得到一个八叉树,其在包含几何的区域呈现出非常稠密的立方体栅格,而在没有几何的区域则主要由较稀疏的立方体栅格构成。
定义原始空间所组成的立方体为{Xmin,Xmax,Ymin,Ymax,Zmin,Zmax},SizeX=Xmax–Xmin,SizeY=Ymax–Ymin,SizeZ=Zmax–Zmin。定义八叉树的起始原点为Ox=(Xmin+Xmax)/2,Oy=(Ymin+Ymax)/2,Oz=(Zmin+Zmax)/2,终止条件为节点内包含的双方面片数小于50个或八叉树深度小于6,达到任何一个条件则终止继续空间划分。八个节点分别创建为:
SubNode(level+1,Ox,Oy,Oz)
SubNode(level+1,Ox+SizeX,Oy,z)
SubNode(level+1,Ox,Oy+SizeY,Oz)
SubNode(level+1,Ox+Sizex,Oy+SizeY,Oz)
SubNode(level+1,Ox,Oy,Oz+SizeZ)
SubNode(level+1,O x+SizeX,Oy,Oz+SizeZ)
SubNode(level+1,Ox,Oy+SizeY,Oz+SizeZ)
SubNode(level+1,Ox+SizeX,Oy+SizeY,Oz+SizeZ)
其中,subnode:子节点;level:节点深度,SizeX,SizeY,SizeZ:相当于一个立方体的边长,这8个节点组成一个立方体。
基于八叉树的空间划分是将空间划分成八个相等的子空间的递归划分,其算法描述如下:
步骤1:建立两个模型所有三角面片的初始列表;
步骤2:求出两模型并集的最小包围盒,以此为初始空间;
步骤3:将初始空间八等分,判断初始列表中的所有三角形位置,判断其所属子空间,将其依次加入该子空间列表中;
步骤4:如果某子空间所含三角形数量超过8个,则需进一步划分子空间,并重复步骤4,如果子空间所含三角形数量少于8个,则停止划分;对初始空间进行深度标记为1,每划分一次子空间,对该子空间进行深度标记加一,如果某子空间深度超过5,则停止划分;
步骤6:递归完成后,删除空节点。
由于STL模型是基于面元素的网格模型,因此无论在体内还是体外,都不存在任何三角形结构,只有在模型表面包含三角形结构。因此,八叉树在靠近模型表面的区域内被分成了非常稠密的立方体栅格,而模型的内部和外部则有较稀疏的立方体栅格填充(参见图1)。八叉树的每个根节点下都需要分别保存与该节点相交的来自双方STL的三角形在各自面列表中的索引号。在之后的相交测试过程中,将原有复杂度O(M*N)降为O(K*LogK),其中K为两模型中所含三角形的和。
(2)在完成空间八叉树划分的基础上,对每个节点内的所有三角形进行相交测试,即,对含符号八叉树的每一个根节点进行遍历,取出其中的所有来自两模型的三角形,进行相交测试,计算出相交点,并重构三角形。
(a)遍历流程为:
循环1:对含符号八叉树的每个根节点进行深度优先遍历;
循环2:在循环1中,对根节点中来自模型A的三角形TA进行顺序遍历;
循环3:在循环2中,对根节点中来自模型B的三角形TB进行顺序遍历;
在循环3中,对循环2中所遍历到的三角形TA和循环3中所遍历到的三角形TB进行相交测试及三角面片重构,如TA被标记为被划分状态,则从循环2中剔除TA,并开始循环2的下一次循环,并对循环3置零;
如TB被标记为被划分状态,则从循环3中剔除TB,并开始循环2的下一次循环;
如TA及TB均被标记为被划分状态,则开始循环3的下一次循环;
如循环3已遍历完成,则将循环2前移一个单位;
如循环2已遍历完成,则将循环1前移一个单位;
如循环1已遍历完成,则遍历结束。
(b)交线的算法描述如下:
步骤1根据面片索引在法矢列表中查询两个三角形法矢NA和NB,并求得的两个向量的叉积X=NA*NB,若||X||<e(e为某一较小值,已解决浮点数值问题),则两个三角形共面或平行,不作处理。
步骤2计算TA的所有顶点到TB所在平面的有符号距离Dv1,i(i∈{0,1,2}),同样计算TB的所有顶点到TA所在平面的有符号距离Dv2,i
步骤3判断并记录下两端点有符号距离异号的三角形边E1,j,E2,j(j∈{0,1}),在此若三个顶点同号,则没有交点。
步骤4分别判断E1,j和E2,j与TB和TA交点是否已经存在,若存在就不再生成新的交点。此方法使用了之前构建的点列表实现快速查询(在100万个面片中使用点列表查询耗时不超过100毫秒)。此时利用面片列表的邻接关系,TA的相邻面TA’也必存在于TA的公用边和同一交点,则此时不需再进行计算。
步骤5计算E1,j和E2,j与TB和TA交点坐标P1,j和P2,j,若|Dv1,i|<e,则交点正好与三角形TA某顶点重合,同样,若|Dv2,i|<e,则交点正好与三角形TB某顶点重合,此时利用原顶点;若一个三角形与另一个三角形交点都与原顶点重合,则此时出现交线与三角形TA的边重合现象。
步骤6根据三角形TA和TB的交点关系,列出所有可能的交点可能,如图2所示。分别对所有交点可能情况进行后续三角剖分。
(c)相交测试之后,双方STL模型中参与相交测试的三角形均生成了若干个相交点,现以这些点为边界重新剖分这些三角形。
步骤1将原三角形中的三个顶点添加至待划分三角形点链表中。
步骤2将待插入的交点添加至待添加的三角形点链表中。
步骤3逐个验证待添加三角形点与原三角形所形成的新三角网格是否满足Delaunay特性,如不满足,则移至下一个待添加点。
步骤4对满足Delaunay特性的三角网格进行记录,并重新设置待划分三角形链表及待添加三角形链表。Delaunay三角网格重新划分算法可概括为验证三角形两端点与其中一个待添加点所组成的圆是否包含另一待添加点,优先连接不包含另一待添加点与相应两端点,组成新三角形后,再进行后续简单划分,如图3所示。
步骤5记录所有新生成的三角网格,并将原三角网格标记为“删除”。
(d)含符号八叉树中三角形符号标定:
步骤1当使用TA切割TB时,判断TB所生成的新三角形位置,当新三角形位于切割三角形TA法矢一侧时,标记新三角形符号为正;当新三角形位于切割三角形TA法矢另一侧时,标记新三角形符号为负;
步骤2当使用TB切割TA时,判断TA所生成的新三角形位置,当新三角形位于切割三角形TB法矢一侧时,标记新三角形符号为正;当新三角形位于切割三角形TB法矢另一侧时,标记新三角形符号为负;
步骤3对于模型A中的所有新三角形,将标记为正的三角形认定为其在模型B外部,将标记为负的三角形认定为其在模型B的内部;
步骤4对于模型B中的所有新三角形,将标记为正的三角形认定为其在模型A外部,将标记为负的三角形认定为其在模型A的内部。
至此,双方STL模型的所有发生相交的面片都已经被细分,使得相对于对方STL模型,双方STL模型的所有面片都在对方的外侧、内侧或者在其边界。最后一步就是从双方模型中选取满足布尔运算条件的所有面片,并将其组合成为一个整体。
假定MA、MB分别为STL模型A和B的所有已划分网格集合,常见的布尔运算的面片集选取方式如下:布尔加:MA在MB之外的面片加MB在MA之外的面片加MA在MB边界上且法矢相同的面片;
布尔交:MA在MB之内的面片加MB在MA之内的面片加MA在MB边界上且法矢相同的面片;
布尔减(MA-MB):MA在MB之外的面片加MB在MA之内的面片加MA在MB边界上且法矢相反的面片;
对于所有的布尔操作运算符,都需要经过空间划分、相交测试、面片细分这一过程,唯一区别之处在于最后一步面片归并的过程。因此,对于所有的布尔运算,其得出结果的时间都是基本一致的。
对于布尔减,选择所有在模型A内且模型B之外的三角形,且删除其它三角形。
三、选择布尔减的结果所组成的三角面片集合,令其为模型C。判断模型C属于模型A内部的面片,通过人机交互删除其它冗余面片;将剩余图形的法矢反向,飞机油箱内表面模型提取完毕。
四、保存内表面模型。

Claims (5)

1.一种基于STL模型布尔运算的飞机油箱内表面模型提取方法,其特征在于:包括以下步骤:
在CATIA软件中将飞机油箱模型的CATIA数据文件导出为STL格式文件;建立该模型三角面片的点面索引;计算该模型中所有顶点的最大坐标和最小坐标,构建该模型的矩形最小包围盒;令该矩形最小包围盒为模型A,飞机油箱模型为模型B,使用三维模型布尔减方法得到模型C,C=A-B;判断模型C属于模型A内部的面片,通过人机交互从模型C中删除不属于模型A内部的面片;将模型C中剩余的面片的法矢反向,飞机油箱内表面模型提取完毕;
所述的三维模型布尔减方法包括以下步骤:
1)以模型A和模型B整体为基准,确定空间总范围,并以此空间总范围为基准进行含符号八叉树划分;
2)对含符号八叉树的每一个根节点进行遍历,对每个三角面片进行判断,取出其中来自模型A和模型B的三角面片;在同一个根节点内,由属于模型B的三角面片对属于模型A的三角面片进行相交测试,计算出相交点,并重构三角面片;同时由属于模型A的三角面片对属于模型B的三角面片进行相交测试,计算出相交点,并重构三角面片;
3)根据三角面片法矢判断三角形内外关系:再次对含符号八叉树的每一个根节点进行遍历,根据每个根节点中模型A内三角面片的法矢判断模型B中三角面片是否在模型A之内;
4)选择所有在模型A内且模型B之外的三角面片,且删除其它三角面片;
所述步骤2)中对含符号八叉树的根节点的遍历流程为:
循环1:对含符号八叉树的根节点进行深度优先遍历;
循环2:在循环1中,对根节点中来自模型A的三角形TA进行顺序遍历;
循环3:在循环2中,对根节点中来自模型B的三角形TB进行顺序遍历;
在循环3中,对循环2中所遍历到的三角形TA和循环3中所遍历到的三角形TB进行相交测试及三角面片重构,如TA被标记为被划分状态,则从循环2中剔除TA,并开始循环2的下一次循环,并对循环3置零;
如TB被标记为被划分状态,则从循环3中剔除TB,并开始循环2的下一次循环;
如TA及TB均被标记为被划分状态,则开始循环3的下一次循环;
如循环3已遍历完成,则将循环2前移一个单位;
如循环2已遍历完成,则将循环1前移一个单位;
如循环1已遍历完成,则遍历结束;
TA为被切割三角形,TB为切割三角形。
2.根据权利要求1所述一种基于STL模型布尔运算的飞机油箱内表面模型提取方法,其特征在于:所述的含符号八叉树划分包括以下步骤:
1.1)以模型A和模型B所组成的整体最小包围盒为初始空间,以整体最小包围盒各边中点为限划分初始空间为相等的八个子空间;
1.2)将每个子空间按照步骤1.1)的方法再次划分为相等的八个子空间,同时,每划分一次,定义空间深度加一;
1.3)划分的结束判断标志为:当空间深度达到设定值,或者划分后的某个子空间内含有来自模型A或模型B的三角面片数量达到设定值。
3.根据权利要求1所述一种基于STL模型布尔运算的飞机油箱内表面模型提取方法,其特征在于:所述的相交测试及重构三角面片具体包括以下步骤:
2.1)以TA为被切割三角形,TB为切割三角形,分别使用三角形TB的三边,对三角形TA所在平面进行相交计算,并计算交点是否在三角形TA内;三角形TA为属于模型A的三角面片,三角形TB为属于模型B的三角面片;
2.2)对于在三角形TA内和在三角形TA边上的交点,记录该交点,用作重构三角形,对于在三角形TA外的交点,忽略并认为不相交;
2.3)以TA作为被切割三角形所记录的交点为基准,根据交点数量及位置关系情况枚举,确定TA被划分的形状,生成新三角形,同时记录TA为被划分状态;
2.4)以TA为切割三角形,TB为被切割三角形,再次按照步骤2.1)~2.3)执行。
4.根据权利要求3所述一种基于STL模型布尔运算的飞机油箱内表面模型提取方法,其特征在于:所述的根据三角形法矢判断三角形内外关系具体包括以下步骤:
当三角形TB被切割时,所生成的新三角形在三角形TA法矢一侧的,均标记为正;所生成的新三角形与三角形TA法矢方向相反的,均标记为负;当三角形TA被切割时,所生成的新三角形在三角形TB法矢一侧的,均标记为正;所生成的新三角形与三角形TB法矢方向相反的,均标记为负;对于模型A中的所有新三角形,将标记为正的三角形认定为其在模型B外部,将标记为负的三角形认定为其在模型B的内部;对于模型B中的所有新三角形,将标记为正的三角形认定为其在模型A外部,将标记为负的三角形认定为其在模型A的内部。
5.根据权利要求4所述一种基于STL模型布尔运算的飞机油箱内表面模型提取方法,其特征在于:所述将模型C中剩余的面片的法矢反向具体包括以下步骤:保留模型A中标记为正的所有三角形和模型B中标记为负的所有三角形;并将模型B中所有标记为负的三角形法矢反向。
CN201510374124.0A 2015-06-30 2015-06-30 一种基于stl模型布尔运算的飞机油箱内表面模型提取方法 Active CN105022865B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510374124.0A CN105022865B (zh) 2015-06-30 2015-06-30 一种基于stl模型布尔运算的飞机油箱内表面模型提取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510374124.0A CN105022865B (zh) 2015-06-30 2015-06-30 一种基于stl模型布尔运算的飞机油箱内表面模型提取方法

Publications (2)

Publication Number Publication Date
CN105022865A CN105022865A (zh) 2015-11-04
CN105022865B true CN105022865B (zh) 2018-04-17

Family

ID=54412833

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510374124.0A Active CN105022865B (zh) 2015-06-30 2015-06-30 一种基于stl模型布尔运算的飞机油箱内表面模型提取方法

Country Status (1)

Country Link
CN (1) CN105022865B (zh)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105760616B (zh) * 2016-03-07 2018-10-26 上海索塔流体科技有限公司 数字模型的气密性检测方法及系统
CN106558104B (zh) * 2016-10-20 2020-05-08 合肥阿巴赛信息科技有限公司 一种对三维网格模型进行布尔运算的方法
CN106777662B (zh) * 2016-12-12 2020-04-10 西安交通大学 基于光滑粒子流体动力学的飞机油箱串油特性优化方法
CN107256283B (zh) * 2017-05-10 2021-04-20 西安交通大学 一种飞行器燃油箱内串油特性的高精度分析方法
CN107767457B (zh) * 2017-10-09 2021-04-06 东南大学 一种基于点云快速重建的stl数模生成方法
CN108829971B (zh) * 2018-06-13 2022-03-15 上海爱堃智能系统有限公司 模仁电加工漏拆电极的自动检测方法
CN109872386B (zh) * 2019-01-18 2020-10-30 北京理工大学 一种基于stl模型精确体素化的产品物性建模方法
CN110222447B (zh) * 2019-06-14 2023-04-07 广东华中科技大学工业技术研究院 一种基于八叉树的自适应网格划分方法及系统
CN111723432B (zh) * 2020-05-21 2023-03-28 西安交通大学 一种飞机油箱的精确油量cad模型快速提取方法
CN112036012B (zh) * 2020-08-11 2022-03-29 华中科技大学 一种基于区域生长的刀具对毛坯的布尔运算方法
CN113297691B (zh) * 2021-04-30 2022-04-08 成都飞机工业(集团)有限责任公司 一种基于平面遍历的最小包围盒尺寸求解方法
CN113297674B (zh) * 2021-06-02 2024-03-19 南京航空航天大学 一种基于面向对象的复杂拓扑结构油箱热模型的构建方法
CN115859524B (zh) * 2022-12-21 2023-08-22 南京信息工程大学 一种基于stl模型的圆柱体布尔求差运算方法
CN117349914B (zh) * 2023-12-06 2024-03-08 南京信息工程大学 一种基于环绕数的布尔运算方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510225A (zh) * 2009-03-26 2009-08-19 山东理工大学 产品stl模型布尔运算方法
CN102682476A (zh) * 2012-05-15 2012-09-19 深圳市旭东数字医学影像技术有限公司 三角网格数据的布尔运算方法及其系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101510225A (zh) * 2009-03-26 2009-08-19 山东理工大学 产品stl模型布尔运算方法
CN102682476A (zh) * 2012-05-15 2012-09-19 深圳市旭东数字医学影像技术有限公司 三角网格数据的布尔运算方法及其系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Fast and Robust Method for Boolean Operations on Triangulated Solids based on Signed Octree;郑帅等;《Proceedings of the ASME 2014 International Mechanical Engineering Congress and Exposition IMEC2014》;20141120;第2-3节 *

Also Published As

Publication number Publication date
CN105022865A (zh) 2015-11-04

Similar Documents

Publication Publication Date Title
CN105022865B (zh) 一种基于stl模型布尔运算的飞机油箱内表面模型提取方法
CN105825550B (zh) 顾及一致性的复杂三维建筑物模型剖切建模方法
CN109685914B (zh) 基于三角网格模型的剖切轮廓自动补面方法
CN101582173B (zh) 复杂地质构造块状模型构建方法
CN100468418C (zh) 由边界表示数据生成体数据的方法及其程序
Schnabel et al. Completion and reconstruction with primitive shapes
CN102194253B (zh) 一种面向三维地质层面结构的四面体网格生成方法
Gao et al. Feature suppression based CAD mesh model simplification
US6373489B1 (en) Scalable visualization for interactive geometry modeling
CN102306396B (zh) 一种三维实体模型表面有限元网格自动生成方法
CN103413297A (zh) 基于一体化三维gis模型的切割方法
CN104966317B (zh) 一种基于矿体轮廓线的三维自动建模方法
CN110689615A (zh) 一种参数化三维地质建模方法、系统及信息数据处理终端
CN106959669B (zh) 切口检测
CA2320447A1 (en) Interactively constructing, editing, rendering and manipulating geoscience models
CN102819865A (zh) 一种大地电磁三维地质结构模型的建模方法
JP2019114260A (ja) 格子構造を含む3dパーツの3d有限要素メッシュの設計
CN105225272B (zh) 一种基于多轮廓线三角网重构的三维实体建模方法
CN104715507B (zh) 一种基于曲面片的三维地理实体自动构建方法
CN104318618A (zh) 一种广义三棱柱空间数据模型的三维剖切方法
CN106204748B (zh) 一种基于特征的cad体网格模型编辑、优化方法
CN111243094A (zh) 一种基于点灯法的三维模型精确体素化方法
Eastman et al. A review of solid shape modelling based on integrity verification
CN110349262A (zh) 一种基于bim的隧道超前地质预报三维建模方法及系统
CN103617291B (zh) 储层成因单元界面等效表征方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant