CN115797600A - 一种三维几何模型包面网格生成系统 - Google Patents

一种三维几何模型包面网格生成系统 Download PDF

Info

Publication number
CN115797600A
CN115797600A CN202310076547.9A CN202310076547A CN115797600A CN 115797600 A CN115797600 A CN 115797600A CN 202310076547 A CN202310076547 A CN 202310076547A CN 115797600 A CN115797600 A CN 115797600A
Authority
CN
China
Prior art keywords
grid
unit
geometric model
current
mesh
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.)
Granted
Application number
CN202310076547.9A
Other languages
English (en)
Other versions
CN115797600B (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.)
Pera Corp Ltd
Original Assignee
Pera Corp Ltd
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 Pera Corp Ltd filed Critical Pera Corp Ltd
Priority to CN202310076547.9A priority Critical patent/CN115797600B/zh
Publication of CN115797600A publication Critical patent/CN115797600A/zh
Application granted granted Critical
Publication of CN115797600B publication Critical patent/CN115797600B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Image Generation (AREA)

Abstract

本发明涉及一种三维几何模型包面网格生成系统,包括:背景网格生成模块,用于计算几何模型的初始划分包围盒,对所述初始划分包围盒进行等间距空间划分得到几何模型的背景网格单元集合;背景网格分割模块,用于根据背景网格单元集合中网格体单元与几何模型的相交关系对背景网格单元集合中的网格体单元进行分割,得到第三网格单元集合;边界面查找模块,用于查找并标记第三网格单元集合中的边界面单元;间隙填补模块,用于查找并标记第三网格单元集合中的间隙面单元;包面网格生成模块,用于基于第三网格单元集合中的边界面单元和间隙面单元在第三网格单元集合搜索得到预设种子点所在封闭体的包面网格。本发明提高了CAE仿真模拟分析的可实施性。

Description

一种三维几何模型包面网格生成系统
技术领域
本发明涉及网格生成技术领域,尤其涉及一种三维几何模型包面网格生成系统。
背景技术
在CAE仿真模拟分析领域,常用的数值模拟方法,如有限元、有限体积法等,都需要先执行网格划分,将模型区域划分成简单子区域的集合,才能在模型区域内构建数值模拟平衡方程执行数值模拟分析。如采用规则网格划分方法,将模型空间等间距的划分为多个空间区域。这些简单子区域的集合,为网格单元集合,如四面体、六面体等网格单元的集合,也称之为网格。
通常将存在交叉、缝隙、几何洞等几何与拓扑错误的CAD三维几何模型称为“脏”几何模型。对于存在交叉、缝隙,几何洞等拓扑错误的“脏”几何模型,一般都需要先进行几何修复,消除这些拓扑错误,才能采用一般的网格划分方法实现生成网格。如果“脏”几何模型存在大量难以修复的几何与拓扑问题,其清理与修复工作需要耗费大量的人工时间,不利于方便快捷的基于网格进行CAE仿真模拟分析。
发明内容
鉴于上述的分析,本发明实施例旨在提供一种三维几何模型包面网格生成系统,用以解决现有“脏”几何模型的难以直接生成网格的问题。
一方面,本发明实施例提供了一种三维几何模型包面网格生成系统,包括以下模块:
背景网格生成模块,用于计算几何模型的初始划分包围盒,对所述初始划分包围盒进行等间距空间划分,得到几何模型的背景网格单元集合;
背景网格分割模块,用于根据背景网格单元集合中网格体单元与几何模型的相交关系对背景网格单元集合中的网格体单元进行分割,得到第三网格单元集合;
边界面查找模块,用于查找并标记第三网格单元集合中的边界面单元;
间隙填补模块,用于查找并标记第三网格单元集合中的间隙面单元;
包面网格生成模块,用于基于第三网格单元集合中的边界面单元和间隙面单元,在第三网格单元集合搜索得到预设种子点所在封闭体的包面网格。
基于上述技术方案的进一步改进,所述背景网格生成模块用于采用以下方式计算几何模型的初始划分包围盒,包括:
获取几何模型的原始包围盒,根据公式
Figure SMS_1
计算原始包围盒的中心点pc;其中,
Figure SMS_2
表示原始包围盒的最小坐标点,
Figure SMS_3
表示原始包围盒的最大坐标点;
根据公式
Figure SMS_4
Figure SMS_5
计算新的最小坐标点pmin和最大坐标点pmax,新的最小坐标点pmin和最大坐标点pmax所表示的正方体为所述几何模型的初始划分包围盒,a表示扩张因子,Lg表示原始包围盒的最长边的长度,
Figure SMS_6
进一步地,所述背景网格生成模块用于采用以下方式对所述初始划分包围盒进行等间距空间划分,得到几何模型的背景网格单元集合:
根据公式
Figure SMS_7
计算每个方向上的划分数量nL,其中,
Figure SMS_8
为上限取整符号,s表示预设的背景网格尺寸,L表示初始包围盒的边长;
按照
Figure SMS_9
的尺度等间隔划分初始划分包围盒,将初始划分包围盒划分为
Figure SMS_10
个六面体单元,得到几何模型的背景网格单元集合。
进一步地,所述背景网格分割模块包括:
顶点迁移模块,用于若背景网格单元集合中的顶点与最近的几何模型表面的距离小于第一阈值,则将该顶点移动至最近的几何模型表面;
第一分割模块,用于对于背景网格单元集合中的每个网格体单元,若该网格体单元的边与几何模型的表面相交,则根据交点对该网格体单元进行分割;得到第一网格单元集合;
第二分割模块,用于对于几何模型的每条曲线的每个端点,若该端点位于第一网格单元集合中的一个网格体单元内,则根据该端点对该网格体单元进行分割;得到第二网格单元集合;
第三分割模块,用于对于几何模型的每条曲线,在第二网格单元集合中查找与该曲线相交且交点位于网格体表面的网格体单元,则根据交点对该网格体单元进行分割;得到第三网格单元集合。
进一步地,所述第一分割模块根据交点采用以下方式对该网格体单元进行分割:
S221、从交点中任选一个交点作为当前交点;
S222、以当前交点所在的网格体单元为当前网格体单元,将当前网格体单元中每个非交点所在面的顶点和当前交点连接构成当前网格体单元的一个子网格体单元,将当前网格体单元划分为多个子网格体单元;
S223、若存在未遍历的交点,则以下一个交点为当前交点,返回步骤S222;否则,分割结束。
进一步地,所述第二分割单元采用以下方式根据端点对该网格体单元进行分割:
将该网格体单元的每个面的顶点与该端点连接构成该网格体单元的一个子网格体单元,将该网格体单元划分为多个子网格体单元。
进一步地,所述间隙填补模块采用以下方式查找第三网格单元集合中的间隙面单元:
对于第三网格单元集合中的每个网格体单元,依次判断该网格体单元的每个网格面是否在几何间隙内部,若某个网格面在几何间隙内部,则该网格面为间隙面单元。
进一步地,所述间隙填补模块采用以下方式判断网格面是否在几何间隙内部:
计算网格面的中心点到几何模型每个表面的距离,以距离最小的表面为最接近表面,中心点到最接近表面的距离为第一距离,若第一距离小于第二阈值,则:
从最接近表面上与所述中心点最近的点到所述中心点方向的射线若与几何模型表面相交,则计算所述中心点到最近交点的距离作为第二距离,若第一距离与第二距离的和小于第二阈值,则所述网格面在几何间隙内部。
进一步地,所述包面网格生成模块采用以下方式搜索得到预设种子点所在封闭体的包面网格:
S41、以预设种子点所在的网格体单元为当前体单元;
S42、对于当前体单元,若不存在未经搜索的网格面,则停止对当前体单元的搜索;否则,遍历当前体单元未经搜索的每个网格面,标记当前网格面为已搜索网格面,若当前网格面为边界面单元或间隙面单元,则将当前网格面加入包面网格单元集合;否则,将与当前体单元通过当前网格面邻接的体单元加入当前体单元的待搜索网格单元集合;将当前体单元的待搜索网格单元集合中的每个体单元作为当前体单元,返回步骤S42;
S43、包面网格单元集合中的网格面构成预设种子点所在封闭体的包面网格。
进一步地,所述边界面查找模块采用以下方式查找第三网格单元集合中的边界面单元:
对于第三网格单元集合中的每个网格体单元,依次判断该网格体单元的每个网格面的顶点是否均位于几何模型的表面,若是,则该网格面为边界面单元。
与现有技术相比,本发明通过生成几何模型的初始划分包围盒,对初始划分包围盒进行空间划分,根据划分后的网格体单元与几何模型的相交关系进一步对网格体单元进行分割,使几何模型边界处的网格进一步细分得到第三网格单元集合,从而便于后续找到更贴近几何模型的包面网格,通过查找第三网格单元集合中的间隙面单元把“脏”几何模型的漏洞进行填补,从而实现准确查找封闭体的包面网格,生成合法水密网格。相比于常规的网格生成算法,不需要执行对“脏”几何模型执行繁琐的几何修复,即可直接生成包面网格,用于后续体网格剖分以及数值模拟计算。避免了繁琐的几何修复工作,提高了CAE仿真模拟分析的可实施性。
本发明中,上述各技术方案之间还可以相互组合,以实现更多的优选组合方案。本发明的其他特征和优点将在随后的说明书中阐述,并且,部分优点可从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过说明书以及附图中所特别指出的内容中来实现和获得。
附图说明
附图仅用于示出具体实施例的目的,而并不认为是对本发明的限制,在整个附图中,相同的参考符号表示相同的部件;
图1为本发明实施例三维几何模型包面网格生成系统的框图;
图2为本发明实施例等间距空间划分示意图;
图3为本发明实施例根据网格体单元边上的交点对六面体网格体单元进行分割的示意图;
图4为本发明实施例根据网格体单元边上的交点对五面体网格体单元进行分割的示意图;
图5为本发明实施例根据网格体单元边上的交点对四面体网格体单元进行分割的示意图;
图6为本发明实施例根据端点对网格体单元进行分割的示意图;
图7为本发明实施例根据网格体单元表面上的交点对五面体网格体单元进行分割的示意图;
图8为本发明实施例根据网格体单元表面上的交点对六面体网格体单元进行分割的示意图;
图9为本发明实施例的几何间隙示意图;
图10为本发明实施例的包面网格示意图。
具体实施方式
下面结合附图来具体描述本发明的优选实施例,其中,附图构成本申请一部分,并与本发明的实施例一起用于阐释本发明的原理,并非用于限定本发明的范围。
本发明的一个具体实施例,公开了一种三维几何模型包面网格生成系统,如图1所示,包括以下模块:
背景网格生成模块,用于计算几何模型的初始划分包围盒,对所述初始划分包围盒进行等间距空间划分,得到几何模型的背景网格单元集合;
背景网格分割模块,用于根据背景网格单元集合中网格体单元与几何模型的相交关系对背景网格单元集合中的网格体单元进行分割,得到第三网格单元集合;
边界面查找模块,用于查找并标记第三网格单元集合中的边界面单元;
间隙填补模块,用于查找并标记第三网格单元集合中的间隙面单元;
包面网格生成模块,用于基于第三网格单元集合中的边界面单元和间隙面单元,在第三网格单元集合搜索得到预设种子点所在封闭体的包面网格。
本发明通过生成几何模型的初始划分包围盒,对初始划分包围盒进行空间划分,根据划分后的网格体单元与几何模型的相交关系进一步对网格体单元进行分割,使几何模型边界处的网格进一步细分得到第三网格单元集合,从而便于后续找到更贴近几何模型的包面网格,通过查找第三网格单元集合中的间隙面单元把“脏”几何模型的漏洞进行填补,从而实现准确查找封闭体的包面网格,生成合法水密网格。相比于常规的网格生成算法,不需要执行对“脏”几何模型执行繁琐的几何修复,即可直接生成包面网格,用于后续体网格剖分以及数值模拟计算。避免了繁琐的几何修复工作,提高了CAE仿真模拟分析的可实施性。
实施时,首先生成三维几何模型的初始划分包围盒,用于网格分割。
需要说明的是,三维几何模型通常是由多个曲面构成的,每个曲面由多条曲线构成。三维几何模型的曲面即其表面。在获取一个三维几何模型时,会获取几何模型的曲面信息,包括曲面的数量、曲面的表达方式(比如Nurbs曲面等)、特征边信息(特征边数量,每个曲面的特征边都是哪些,特征边即构成曲面边界的曲线)、特征边的端点等,以及几何模型的原始包围盒信息。
也可以通过几何引擎计算几何模型的原始包围盒信息。
具体的,背景网格生成模块采用以下方式计算几何模型的初始划分包围盒:
获取几何模型的原始包围盒,根据公式
Figure SMS_11
计算原始包围盒的中心点pc;其中,
Figure SMS_12
表示原始包围盒的最小坐标点,
Figure SMS_13
表示原始包围盒的最大坐标点。
原始包围盒通常为一个长方体,一般由长方体中顶点中的最小坐标点和最大坐标点表示,即,原始包围盒可以表示为
Figure SMS_14
,首先根据公式
Figure SMS_15
计算原始包围盒的中心点pc
为了更方便的进行后续网格划分,初始划分包围盒可以比原始包围盒稍大。
具体的,根据公式
Figure SMS_16
Figure SMS_17
计算新的最小坐标点pmin和最大坐标点pmax,新的最小坐标点pmin和最大坐标点pmax所表示的长方体为所述几何模型的初始划分包围盒,a表示扩张因子。例如,扩张因子a可取1.2。
实施时,为了使划分网格单元形状更好,也可根据如下公式计算新的最小坐标点pmin和最大坐标点pmax
Figure SMS_18
Figure SMS_19
其中,Lg表示原始包围盒的最长边的长度,
Figure SMS_20
。由最小坐标点pmin和最大坐标点pmax表示的立方体为初始划分包围盒。
实施时,得到初始划分包围盒后,可以通过对初始划分包围盒进行等分的方式生成背景网格单元集合,如图2所示。背景网格生成模块采用以下方式对所述初始划分包围盒进行等间距空间划分,得到几何模型的背景网格单元集合:
根据公式
Figure SMS_21
计算每个方向上的划分数量nL,其中,
Figure SMS_22
为上限取整符号,s表示预设的背景网格尺寸,L表示初始包围盒的边长;
按照
Figure SMS_23
的尺度等间隔划分初始划分包围盒,将初始划分包围盒划分为
Figure SMS_24
个六面体单元,得到几何模型的背景网格单元集合。
实施时,预设的背景网格尺寸可以为用户输入或其他方式传入的参数,初始包围盒的边长即初始包围盒的棱长。
通过等分方式可方便简单地将初始包围盒进行划分,生成背景网格单元集合。
得到背景网格单元集合后,根据背景网格单元集合中网格体单元与几何模型的相交关系对背景网格单元集合中的网格体单元进行分割。具体的,背景网格分割模块包括顶点迁移模块、第一分割模块、第二分割模块和第三分割模块,具体的:
顶点迁移模块,用于若背景网格单元集合中的顶点与最近的几何模型表面的距离小于第一阈值,则将该顶点移动至最近的几何模型表面。
首先,遍历背景网格单元集合中的所有顶点,计算顶点到几何模型每个表面的距离,取距离最小的表面为最近的几何模型表面,若顶点与最近的几何模型表面的距离小于第一阈值,则将该顶点移动到最近的几何模型表面上。
实施时,第一阈值可根据分割精度要求设置。
实施时,顶点移动到最近的几何模型表面上,即将该顶点的坐标修改为最近的几何模型表面上与该顶点最近的点的坐标。
第一分割模块,用于对于背景网格单元集合中的每个网格体单元,若该网格体单元的边与几何模型的表面相交,则根据交点对该网格体单元进行分割;得到第一网格单元集合。
对于背景网格单元集合中的每个网格体单元(六面体单元),判断当前网格体单元的边与几何模型的表面是否相交,若是,则计算交点。具体的判断线段与曲面是否相交、计算线段与相交曲面的交点均为现有技术,此处不再赘述。
根据交点对该网格体单元进行分割。具体的,根据交点采用以下方式对该网格体单元进行分割:
S221、从交点中任选一个交点作为当前交点;
S222、以当前交点所在的网格体单元为当前网格体单元,将当前网格体单元中每个非交点所在面的顶点和当前交点连接组构成当前网格体单元的一个子网格体单元,将当前网格体单元划分为多个子网格体单元;
S223、若存在未遍历的交点,以下一个交点为当前交点,返回步骤S222;否则,分割结束。
实施时,如图3所示,首先从交点中任选一个交点作为当前交点,根据当前交点对网格体单元(六面体)进行分割,由非当前交点所在表面的顶点与当前交点连接构成当前网格体单元的子网格体单元,对当前网格体单元(六面体)进行分割,将该网格体单元(六面体)分割为4个金字塔(五面体),即4个金字塔网格体单元。
若还有一个交点,则以下一个交点为当前交点,再根据当前交点对网格体单元进行分割,由于前一个交点已将六面体网格分割成了4个金字塔网格,则当前交点在分割后得到的金字塔的边上,如图4所示,将当前交点所在的金字塔网格体单元作为当前网格体单元,由非当前交点所在表面的顶点与当前交点b连接构成当前网格体单元的子网格体单元对该金字塔进行分割,将金字塔分为两个四面体和一个金字塔。
以此类推。
若当前网格体单元为四面体,如图5所示,则可将该四面体分割为两个四面体。
对一个边与几何模型的表面有交点的六面体网格体单元按照上述方式分割后,再对下一个边与几何模型的表面有交点的六面体网格体单元进行分割。以此类推,直至对所有边与几何模型的表面有交点的六面体网格都分割完毕,得到第一网格单元集合。第一网格单元集合中包括六面体和金字塔,也可能存在四面体。
第二分割模块,用于对于几何模型的每条曲线的每个端点,若该端点位于第一网格单元集合中的一个网格体单元内,则根据该端点对该网格体单元进行分割;得到第二网格单元集合。
具体的,第二分割单元采用以下方式根据端点对该网格体单元进行分割:
将该网格体单元的每个面的顶点与该端点连接构成该网格体单元的一个子网格体单元,从而将该网格体单元划分为多个子网格体单元。
如图6所示,几何模型的曲线的端点落在一个六面体网格体单元内,则由网格体单元每个表面的顶点与端点构成当前六面体网格体单元的一个子网格体单元,将六面体分割为6个金字塔。
若端点落在金字塔网格体单元中或四面体网格体单元中,同样的,由网格体单元每个表面的顶点与端点连接构成当前网格体单元的一个子网格体单元,对金字塔网格体单元或四面体网格体单元进行分割。
对几何模型的每条曲线的所有端点一一进行判断,根据每一个落在网格体单元中的端点对网格体单元进行分割后,得到第二网格单元集合。
第二网格单元集合中包括六面体和金字塔,也可能存在四面体。
第三分割模块,用于对于几何模型的每条曲线,在第二网格单元集合中查找与该曲线相交且交点位于网格体表面的网格体单元,则根据交点对该网格体单元进行分割;得到第三网格单元集合。
需要说明的是,第二网格单元集合中的网格体单元,其表面为三角形或者四边形。计算曲线与三角形或四边形是否相交,计算曲线与三角形或四边形的交点可参考现有技术,本发明不在此处赘述。
如图7所示,几何模型的曲线与金字塔网格体单元相交且交点位于金字塔的面上,由非交点所在表面的顶点与交点连接构成当前网格体单元的子网格体单元,对金字塔进行分割,分割为1个金字塔和两个四面体。
如图8所示,几何模型的曲线与六面体网格体单元相交且交点位于六面体的面上,由非交点所在表面的顶点与交点连接构成六面体网格体单元的子网格体单元,对六面体进行分割,分割为5个金字塔。
对几何模型的每条曲线一一进行判断,若曲线与网格体单元相交且交点位于网格体表面上则进行分割,最后得到第三网格单元集合。
得到第三网格单元集合后,网格分割结束。第三网格单元集合中包括六面体和金字塔,也可能存在四面体。
得到第三网格单元集合后,在第三网格单元集合中查找边界面单元和间隙面单元。
若网格体单元的某个面位于几何模型表面,则该网格面为边界面单元,具体的,边界面查找模块可采用以下方式查找第三网格单元集合中的边界面单元:
对于第三网格单元集合中的每个网格体单元,依次判断该网格体单元的每个网格面的顶点是否均位于几何模型的表面,若是,则该网格面为边界面单元。
网格体单元的每个面即为网格面。
由于“脏”几何模型经常存在缝隙、几何洞等拓扑错误,在包面网格生成时需要标记这些几何间隙特征内的网格单元。如图9所示,几何间隙是通过一定路径从一个几何包围空间能进入另一个空间的通道、缝隙或者空洞。
位于“脏”几何模型的几何间隙内部的网格面为间隙面单元,具体的,间隙填补模块可采用以下方式查找第三网格单元集合中的间隙面单元:
对于第三网格单元集合中的每个网格体单元,依次判断该网格体单元的每个网格面是否在几何间隙内部,若某个网格面在几何间隙内部,则该网格面为间隙面单元。
实施时,采用以下方式判断网格面是否在几何间隙内部:
计算网格面的中心点到几何模型每个表面的距离,以距离最小的表面为最接近表面,中心点到最接近表面的距离为第一距离,若第一距离小于第二阈值,则:
从最接近表面上与所述中心点最近的点到所述中心点方向的射线若与几何模型表面相交,则计算所述中心点到最近交点的距离作为第二距离,若第一距离与第二距离的和小于第二阈值,则所述网格面在几何间隙内部。
即,判断网格面中心点到其两侧的几何模型表面的距离的和是否小于第二阈值,若是,则认为该网格面位于几何间隙内部,将其标记为间隙面网格。
实施时,第二阈值可根据几何间隙的判断精度确定。
标记完所有边界面单元和间隙面单元后,即可确定边界面单元和间隙单元包围的封闭体。
所有边界面单元和间隙单元包围可能会包围出多个封闭体,实施时,可根据用户设置的种子点,查找用户感兴趣的封闭体,即种子点所在的封闭体。
具体的,包面网格生成模块采用以下方式搜索得到预设种子点所在封闭体的包面网格:
S41、以预设种子点所在的网格体单元为当前体单元;
实施时,预设的种子点应位于几何模型的初始划分包围盒空间内。根据种子点的坐标,第三网格几何中每个网格体单元的顶点坐标判断种子点是都位于该网格体单元内,从而找到预设种子点所在的网格体单元,将其作为当前体单元。
S42、对于当前体单元,若不存在未经搜索的网格面,则停止对当前体单元的搜索;否则,遍历当前体单元未经搜索的每个网格面,标记当前网格面为已搜索网格面,若当前网格面为边界面单元或间隙面单元,则将当前网格面加入包面网格单元集合;否则,将与当前体单元通过当前网格面邻接的体单元加入当前体单元的待搜索网格单元集合;将当前体单元的待搜索网格单元集合中的每个体单元作为当前体单元,返回步骤S42;
初始时,包面网格单元集合为空。
以种子点所在的网格体单元为最初的当前体单元,对体单元的每个网格面进行遍历,每搜索一个网格面将其标记为已搜索面,若当前网格面为边界面单元或者间隙面单元,则将当前网格面加入包面网格单元集合,并且不再向当前网格面的相邻体单元那个方向搜索,否则,将与当前体单元通过当前网格面邻接的体单元加入当前体单元的待搜索网格单元集合;向当前体单元的待搜索网格单元集合中的每个体单元方向进行搜索,即,当前体单元的待搜索网格单元集合中的每个体单元为当前体单元,继续搜索。
例如当前体单元为六面体,其中1个面为边界面单元,其余5个面不是边界面单元也不是间隙面单元,将通过这5个面与当前体单元邻接的每个体单元加入当前体单元的待搜索网格单元集合,将前体单元的待搜索网格单元集合中的每个体单元作为当前体单元,继续搜索,即通过当前体单元向5个方向扩散。如果当前体单元的所有面都已搜索过,则不再对当前体单元进行搜索。
S43、包面网格单元集合中的网格面构成预设种子点所在封闭体的包面网格。
搜索结束后,包面网格单元集合中的网格面连接形成的表面网格即为预设的种子点所在封闭体的包面网格。如图10所示。
如果想要查找其他封闭体的包面网格,可以在感兴趣的区域继续设置种子点,采用上述S41~S43步骤,搜索感兴趣的区域的包面网格。
相比于常规的网格生成算法,本发明实施例公开的三维几何模型包面网格生成系统,不需要执行对“脏”几何模型执行繁琐的几何修复,即可直接生成包面网格,用于后续体网格剖分以及数值模拟计算。避免了繁琐的几何修复工作,提高了CAE仿真模拟分析的可实施性。
本领域技术人员可以理解,实现上述实施例方法的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于计算机可读存储介质中。其中,所述计算机可读存储介质为磁盘、光盘、只读存储记忆体或随机存储记忆体等。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。

Claims (10)

1.一种三维几何模型包面网格生成系统,其特征在于,包括以下模块:
背景网格生成模块,用于计算几何模型的初始划分包围盒,对所述初始划分包围盒进行等间距空间划分,得到几何模型的背景网格单元集合;
背景网格分割模块,用于根据背景网格单元集合中网格体单元与几何模型的相交关系对背景网格单元集合中的网格体单元进行分割,得到第三网格单元集合;
边界面查找模块,用于查找并标记第三网格单元集合中的边界面单元;
间隙填补模块,用于查找并标记第三网格单元集合中的间隙面单元;
包面网格生成模块,用于基于第三网格单元集合中的边界面单元和间隙面单元,在第三网格单元集合搜索得到预设种子点所在封闭体的包面网格。
2.根据权利要求1所述的三维几何模型包面网格生成系统,其特征在于,所述背景网格生成模块用于采用以下方式计算几何模型的初始划分包围盒,包括:
获取几何模型的原始包围盒,根据公式
Figure QLYQS_1
计算原始包围盒的中心点pc;其中,
Figure QLYQS_2
表示原始包围盒的最小坐标点,
Figure QLYQS_3
表示原始包围盒的最大坐标点;
根据公式
Figure QLYQS_4
Figure QLYQS_5
计算新的最小坐标点pmin和最大坐标点pmax,新的最小坐标点pmin和最大坐标点pmax所表示的正方体为所述几何模型的初始划分包围盒,a表示扩张因子,Lg表示原始包围盒的最长边的长度,
Figure QLYQS_6
3.根据权利要求1所述的三维几何模型包面网格生成系统,其特征在于,所述背景网格生成模块用于采用以下方式对所述初始划分包围盒进行等间距空间划分,得到几何模型的背景网格单元集合:
根据公式
Figure QLYQS_7
计算每个方向上的划分数量nL,其中,
Figure QLYQS_8
为上限取整符号,s表示预设的背景网格尺寸,L表示初始包围盒的边长;
按照
Figure QLYQS_9
的尺度等间隔划分初始划分包围盒,将初始划分包围盒划分为
Figure QLYQS_10
个六面体单元,得到几何模型的背景网格单元集合。
4.根据权利要求1所述的三维几何模型包面网格生成系统,其特征在于,所述背景网格分割模块包括:
顶点迁移模块,用于若背景网格单元集合中的顶点与最近的几何模型表面的距离小于第一阈值,则将该顶点移动至最近的几何模型表面;
第一分割模块,用于对于背景网格单元集合中的每个网格体单元,若该网格体单元的边与几何模型的表面相交,则根据交点对该网格体单元进行分割;得到第一网格单元集合;
第二分割模块,用于对于几何模型的每条曲线的每个端点,若该端点位于第一网格单元集合中的一个网格体单元内,则根据该端点对该网格体单元进行分割;得到第二网格单元集合;
第三分割模块,用于对于几何模型的每条曲线,在第二网格单元集合中查找与该曲线相交且交点位于网格体表面的网格体单元,则根据交点对该网格体单元进行分割;得到第三网格单元集合。
5.根据权利要求4所述的三维几何模型包面网格生成系统,其特征在于,所述第一分割模块根据交点采用以下方式对该网格体单元进行分割:
S221、从交点中任选一个交点作为当前交点;
S222、以当前交点所在的网格体单元为当前网格体单元,将当前网格体单元中每个非交点所在面的顶点和当前交点连接构成当前网格体单元的一个子网格体单元,将当前网格体单元划分为多个子网格体单元;
S223、若存在未遍历的交点,则以下一个交点为当前交点,返回步骤S222;否则,分割结束。
6.根据权利要求4所述的三维几何模型包面网格生成系统,其特征在于,所述第二分割单元采用以下方式根据端点对该网格体单元进行分割:
将该网格体单元的每个面的顶点与该端点连接构成该网格体单元的一个子网格体单元,将该网格体单元划分为多个子网格体单元。
7.根据权利要求1所述的三维几何模型包面网格生成系统,其特征在于,所述间隙填补模块采用以下方式查找第三网格单元集合中的间隙面单元:
对于第三网格单元集合中的每个网格体单元,依次判断该网格体单元的每个网格面是否在几何间隙内部,若某个网格面在几何间隙内部,则该网格面为间隙面单元。
8.根据权利要求7所述的三维几何模型包面网格生成系统,其特征在于,所述间隙填补模块采用以下方式判断网格面是否在几何间隙内部:
计算网格面的中心点到几何模型每个表面的距离,以距离最小的表面为最接近表面,中心点到最接近表面的距离为第一距离,若第一距离小于第二阈值,则:
从最接近表面上与所述中心点最近的点到所述中心点方向的射线若与几何模型表面相交,则计算所述中心点到最近交点的距离作为第二距离,若第一距离与第二距离的和小于第二阈值,则所述网格面在几何间隙内部。
9.根据权利要求1所述的三维几何模型包面网格生成系统,其特征在于,所述包面网格生成模块采用以下方式搜索得到预设种子点所在封闭体的包面网格:
S41、以预设种子点所在的网格体单元为当前体单元;
S42、对于当前体单元,若不存在未经搜索的网格面,则停止对当前体单元的搜索;否则,遍历当前体单元未经搜索的每个网格面,标记当前网格面为已搜索网格面,若当前网格面为边界面单元或间隙面单元,则将当前网格面加入包面网格单元集合;否则,将与当前体单元通过当前网格面邻接的体单元加入当前体单元的待搜索网格单元集合;将当前体单元的待搜索网格单元集合中的每个体单元作为当前体单元,返回步骤S42;
S43、包面网格单元集合中的网格面构成预设种子点所在封闭体的包面网格。
10.根据权利要求1所述的三维几何模型包面网格生成系统,其特征在于,所述边界面查找模块采用以下方式查找第三网格单元集合中的边界面单元:
对于第三网格单元集合中的每个网格体单元,依次判断该网格体单元的每个网格面的顶点是否均位于几何模型的表面,若是,则该网格面为边界面单元。
CN202310076547.9A 2023-02-08 2023-02-08 一种三维几何模型包面网格生成系统 Active CN115797600B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310076547.9A CN115797600B (zh) 2023-02-08 2023-02-08 一种三维几何模型包面网格生成系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310076547.9A CN115797600B (zh) 2023-02-08 2023-02-08 一种三维几何模型包面网格生成系统

Publications (2)

Publication Number Publication Date
CN115797600A true CN115797600A (zh) 2023-03-14
CN115797600B CN115797600B (zh) 2023-06-16

Family

ID=85430317

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310076547.9A Active CN115797600B (zh) 2023-02-08 2023-02-08 一种三维几何模型包面网格生成系统

Country Status (1)

Country Link
CN (1) CN115797600B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115994410A (zh) * 2023-03-22 2023-04-21 中国人民解放军国防科技大学 基于八叉树细化四面体网格的飞行器仿真驱动设计方法
CN116597117A (zh) * 2023-07-18 2023-08-15 中国石油大学(华东) 一种基于物体对称性的六面体网格生成方法
CN116934811A (zh) * 2023-05-04 2023-10-24 北京优酷科技有限公司 三维模型的对齐方法、法线贴图的生成方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617603A (zh) * 2013-12-06 2014-03-05 南京大学 一种三维数字几何网格模型结构的自动修复方法
CN105677965A (zh) * 2016-01-04 2016-06-15 北京航空航天大学 一种板式卫星结构共节点网格快速生成方法
CN111797555A (zh) * 2020-07-01 2020-10-20 上海理工大学 一种基于有限元模型的几何重构方法
US10832474B1 (en) * 2018-02-27 2020-11-10 Ansys, Inc. Systems and methods for providing a distributed tetrahedral mesh
CN113593011A (zh) * 2021-07-12 2021-11-02 杭州思锐迪科技有限公司 孔洞修补方法、电子装置和存储介质

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103617603A (zh) * 2013-12-06 2014-03-05 南京大学 一种三维数字几何网格模型结构的自动修复方法
CN105677965A (zh) * 2016-01-04 2016-06-15 北京航空航天大学 一种板式卫星结构共节点网格快速生成方法
US10832474B1 (en) * 2018-02-27 2020-11-10 Ansys, Inc. Systems and methods for providing a distributed tetrahedral mesh
CN111797555A (zh) * 2020-07-01 2020-10-20 上海理工大学 一种基于有限元模型的几何重构方法
CN113593011A (zh) * 2021-07-12 2021-11-02 杭州思锐迪科技有限公司 孔洞修补方法、电子装置和存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
陈涛;李光耀;钟志华;: "基于散乱点的全自动四边形网格剖分方法", 中国机械工程, no. 03 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115994410A (zh) * 2023-03-22 2023-04-21 中国人民解放军国防科技大学 基于八叉树细化四面体网格的飞行器仿真驱动设计方法
CN116934811A (zh) * 2023-05-04 2023-10-24 北京优酷科技有限公司 三维模型的对齐方法、法线贴图的生成方法及装置
CN116597117A (zh) * 2023-07-18 2023-08-15 中国石油大学(华东) 一种基于物体对称性的六面体网格生成方法
CN116597117B (zh) * 2023-07-18 2023-10-13 中国石油大学(华东) 一种基于物体对称性的六面体网格生成方法

Also Published As

Publication number Publication date
CN115797600B (zh) 2023-06-16

Similar Documents

Publication Publication Date Title
CN115797600B (zh) 一种三维几何模型包面网格生成系统
US11361503B2 (en) Systems and methods for generating volumetric models
El‐Sana et al. Generalized view‐dependent simplification
Garland et al. Fast polygonal approximation of terrains and height fields
Bajaj et al. Error-bounded reduction of triangle meshes with multivariate data
EP1710720B1 (en) Method of computer-aided design of a modeled object having several faces
JP4783100B2 (ja) 境界データのセル内形状データへの変換方法とその変換プログラム
CN102509339B (zh) 一种带纹理约束的三维模型顶点聚类简化方法
US20110310101A1 (en) Pillar grid conversion
Michikawa et al. Multiresolution interpolation meshes
CN116229015B (zh) 一种基于2N-Tree带附面层的贴体笛卡尔网格生成方法
CN113724401B (zh) 一种三维模型切割方法、装置、计算机设备和存储介质
JP3988925B2 (ja) 混合格子型解適合格子法を用いた数値解析装置
CN115481497A (zh) 一种基于特征框架的体参数化建模方法
CN109983509B (zh) 一种使用几何面的即时布尔运算方法
CN117113772A (zh) 一种漂浮式风机的混合动网格模拟方法及装置
CN115047825A (zh) 一种数控加工铣削实时显示的方法
CN107886573B (zh) 一种复杂地质条件下边坡三维有限元网格生成方法
CN116977598B (zh) 三角网格数值仿真平滑化的方法
Gong et al. Three-dimensional reconstruction of medical image based on improved marching cubes algorithm
CN115965764A (zh) 计算地表沉降的复杂地质模型四面体网格划分方法及装置
Sheffer et al. Hexahedral meshing of non‐linear volumes using Voronoi faces and edges
Dammertz et al. Improving ray tracing precision by object space intersection computation
CN116012549A (zh) 一种针对“脏”几何模型的包面网格生成方法
Ohlberger et al. Adaptive projection operators in multiresolution scientific visualization

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