一种基于Cuda的三维零件差异分析算法制造技术

技术编号:37436311 阅读:13 留言:0更新日期:2023-05-06 09:08
本发明专利技术公开了一种基于Cuda的三维零件差异分析算法,包括:获取GPU总显存;加载目标体与工具体的三维网格数据并统计三角形总数;统计三角形尺寸的分布范围;计算三角形顶点参数的GPU内存占用,并计算得到顶点坐标存储完成后的剩余显存;对1~N层八叉树中每个八叉树节点所包含的三角形进行索引并预测其内存占用;计算当前八叉树节点所包含的三角形,并添加至索引列表;根据八叉树根节点尺寸、距离公差及八叉树叶子节点编号,计算每个八叉树叶子节点的边界;对三角网格结果进行距离检测和可视化显示。本发明专利技术能改善CAD/CAE过程中几何对象相似分析的计算效率,优化零件差异对比计算结果的展示方式。的展示方式。的展示方式。

【技术实现步骤摘要】
一种基于Cuda的三维零件差异分析算法


[0001]本专利技术属于CAD设计、CAE仿真分析领域,具体涉及一种基于Cuda的三维零件差异分析算法。

技术介绍

[0002]模具设计过程中经常出现产品设计变更的情况,设计员需要通过对比新旧产品的差异来确认需要在何处对模具结构进行修改。人工对比时经常存在遗漏的情况。现有分析软件通常会将进行对比的零件分别定义为目标体与工具体,目前有采用两种分析模式:全量分析模式,将需要对比的目标体与工具体的曲面轮廓离散成点云,对比工具体点云中各点到目标体点云的距离;局部分析模式,采取采样的方式抽取目标提与工具体的曲面轮廓的关键点,只要工具体上存在关键点无法与目标体匹配的,则认定该曲面存在差异。现有技术中存在以下不足:1、全量分析方法存在计算量大,耗时太久,占用内存资源高等问题;2、局部分析方法的最大的问题在于,部分曲面结构复杂且面积大,仅标识出该曲面无助与定位细节差异,同时存在目标体中曲面与工具体中曲面外形完全相同,但非一对一的关系,这样就会造成误判。

技术实现思路

[0003]本专利技术的目的在于,提供一种基于Cuda的三维零件差异分析算法,能改善CAD/CAE过程中几何对象相似分析的计算效率,优化零件差异对比计算结果的展示方式。
[0004]为解决上述技术问题,本专利技术的技术方案为:一种基于Cuda的三维零件差异分析算法,包括以下步骤:三维零件包括目标体和工具体;其中,将待比较的两个三维几何对象中任意一个定义为目标体,另外一个定义为工具体;将目标体与工具体的三维几何通过三角剖分转换为三维网格数据;一、N层八叉树构建及显存分配:S1、通过Cuda API cuMemGetInfo获取GPU总显存大小M0;加载目标体与工具体的三维网格数据并统计三角形总数S;S2、统计三角形尺寸大小的分布范围F
(尺寸,概率)
;S3、计算三角形顶点参数的GPU内存占用,并计算得到顶点坐标存储完成后的剩余显存大小M1;S4、对1~N层八叉树中每个八叉树节点所包含的三角形进行索引并预测其内存占用;S5、计算当前八叉树节点所包含的三角形,并添加至索引列表;S6、根据八叉树根节点尺寸、距离公差及八叉树叶子节点编号U,计算每个八叉树叶子节点的边界;S7、对三角形与八叉树节点位置关系进行判定;
S8、跳转至S4,直至剩余显存M小于预设的显存阈值,记录此时八叉树层数n为八叉树最大层数N;二、三角网格距离检测:S9、将八叉树的最小单元划分为R*C份,其中,C为Cuda核心数目,R为满足R*C>=8
N
的最小整数;S10、计算各三角形之间的距离;S11、为目标体、工具体分别分配输出索引显存M
g
与M
t
用于存储不满足最小距离三角形索引,并初始化为false;S12、GPU并行计算每个八叉树数叶子节点中目标体三角形与工具体三角形的相对位置关系;计算目标体三角网格与工具体三角网格间的重合性;S13、对三角网格结果进行可视化显示。
[0005]S3中顶点坐标存储完成后的剩余显存大小M1的计算方法为:M1=M0‑
S0*72其中S0为此时的三角形个数,每个三角形数据存在3个顶点,每个顶点具备3个浮点坐标值,每个浮点坐标值的大小为8,故三角形顶点参数的GPU内存占用为S0*3*3*8=S0*72。
[0006]S4中内存占用的计算规则为:设定当前八叉树节点的父节点中的所有三角形均匀分布在本节点与其兄弟节点内,则有尺寸为s的三角形出现在尺寸为t的八叉树的边缘附近的概率P为:P=(1

(s/t)3)/2其中,靠近边缘处六个面中有三个面与其兄弟八叉树相邻,因此三角形有较大概率同时属于其兄弟八叉树节点,边缘处三角形大概率被2个以上八叉树节点所包含,因此这部分三角形索引所占用显存将会翻倍,故每个三角形索引所需要的显存预期为:P*2+(1

P)=1+P。
[0007]显存阈值为S*4。
[0008]当前层中八叉树节点中索引的三角型所需显存M2为:M2=ΣS*F
i概率
*[1+F
i尺寸
/(L/2
n
)3]式中,L为八叉树根节点尺寸,n为当前层数,F
i尺寸
和F
i概率
分别为S2中F
(尺寸,概率)
数组中的每条数据;其中,八叉树根节点尺寸取长宽高均值;故当前八叉树层索引完成后的剩余显存大小M1=M0‑
S*72

ΣS*F
i概率
*[1+F
i尺寸
/(L/2
N
)3]*4。
[0009]在S5中,当前八叉树中父节点中所包含的三角型索引、三角形的顶点数据、当前八叉树节点的边界作为计算的输入。
[0010]S7中的判定方法为:当满足三角形至少有一个顶点在八叉树节点边界范围内时,判定三角形在八叉树节点内部;当满足三角形至少一条边与八叉树节点六面相交时,判定三角形与八叉树节点相交;当八叉树节点的十二条边中至少一条穿过三角形时,判定三角形包围八叉树节点。
[0011]还提供一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述任一项所述方法的步骤。
[0012]还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述方法的步骤。
[0013]与现有技术相比,本专利技术的有益效果为:1、利用GPU核心数量优势,通过GPU并行计算每个八叉树数叶子节点中目标体三角形与工具体三角形的相对位置关系,计算目标体三角网格与工具体三角网格间的重合性,改善CAD/CAE过程中几何对象相似分析的计算效率。
[0014]2、优化了零件差异对比计算结果的展示方式,对三角网格结果进行可视化显示,以可分割的彩色网格代替不可分割的三维曲面。
附图说明
[0015]图1为本专利技术实施例中线性展开的数据结构的示意图;图2为本专利技术实施例中八叉树节点编码的示意图。
具体实施方式
[0016]为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。此外,下面所描述的本专利技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0017]本专利技术实施例的技术方案为:0、三维零件包括目标体和工具体;其中,将待比较的两个三维几何对象中任意一个定义为目标体,另外一个定义为工具体;将目标体与工具体的三维几何通过三角剖分转换为三维网格数据。
[0018]1、N层八叉树构建及显存分配S1.通过Cuda API cuMemGetInfo获取GPU总显存大小M0;加载目标体与工具体的三维网格数据并统计三角形总数S。
[0019]S2.统计三角形本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于Cuda的三维零件差异分析算法,其特征在于,包括以下步骤:三维零件包括目标体和工具体;其中,将待比较的两个三维几何对象中任意一个定义为目标体,另外一个定义为工具体;将目标体与工具体的三维几何通过三角剖分转换为三维网格数据;一、N层八叉树构建及显存分配:S1、通过Cuda APIcuMemGetInfo获取GPU总显存大小M0;加载目标体与工具体的三维网格数据并统计三角形总数S;S2、统计三角形尺寸大小的分布范围F
(尺寸,概率)
;S3、计算三角形顶点参数的GPU内存占用,并计算得到顶点坐标存储完成后的剩余显存大小M1;S4、对1~N层八叉树中每个八叉树节点所包含的三角形进行索引并预测其内存占用;S5、计算当前八叉树节点所包含的三角形,并添加至索引列表;S6、根据八叉树根节点尺寸、距离公差及八叉树叶子节点编号U,计算每个八叉树叶子节点的边界;S7、对三角形与八叉树节点位置关系进行判定;S8、跳转至S4,直至剩余显存M小于预设的显存阈值,记录此时八叉树层数n为八叉树最大层数N;二、三角网格距离检测:S9、将八叉树的最小单元划分为R*C份,其中,C为Cuda核心数目,R为满足R*C>=8
N
的最小整数;S10、计算各三角形之间的距离;S11、为目标体、工具体分别分配输出索引显存M
g
与M
t
用于存储不满足最小距离三角形索引,并初始化为false;S12、GPU并行计算每个八叉树数叶子节点中目标体三角形与工具体三角形的相对位置关系;计算目标体三角网格与工具体三角网格间的重合性;S13、对三角网格结果进行可视化显示。2. 根据权利要求1所述的一种基于Cuda的三维零件差异分析算法,其特征在于,S3中顶点坐标存储完成后的剩余显存大小M1的计算方法为:M1=M0‑
S0*72其中S0为此时的三角形个数,每个三角形数据存在3个顶点,每个顶点具备3个浮点坐标值,每个浮点坐标值的大小为8,故三角形顶点参数的GPU内存占用为S0*3*3*8=S0*72。3.根据权利要求1所述的一种基于Cuda的三维零件差异分析算法,其特征在于,S4中内存占用的计算规则为:设定当前八叉树节点的父节点中的所有三角形均匀分布在本节点与其兄弟节点内,则有尺寸为s的三角形出现在尺寸为t的八叉树的边缘附近的概率P为:P...

【专利技术属性】
技术研发人员:易平朱凌穹胡建平
申请(专利权)人:武汉益模科技股份有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1