【技术实现步骤摘要】
一种基于区域生长的刀具对毛坯的布尔运算方法
本专利技术属于加工仿真领域,更具体地,涉及一种基于区域生长的刀具对毛坯的布尔运算方法。
技术介绍
为了提高机械加工仿真过程的精确性和时效性、降低体素模型布尔运算过程的时间消耗,无论是国内还是国外对机械加工仿真中的布尔运算算法都进行了大量的研究工作。机械加工仿真过程中的布尔运算时整个机械加工仿真流程中的重要部分,提高了布尔运算部分的计算效率就能到幅度提升单次加工仿真的计算效率,从而提供整个加工仿真过程的流畅性。因此,对于机械加工仿真中布尔运算算法的研究具有十分重要的理论意义和现实意义。传统的Voxel布尔运算方法基于八叉树的层次包围盒方法,通过该方法使得干涉部分的检测逐步细化,最终在叶节点进行距离计算以实现整个八叉树的布尔运算。但该方法在八叉树结构变得复杂之后会进行多次的包围盒层次遍历,使得无用的计算量迅速增加,因此会产生随着加工步骤的增多,布尔运算时间会逐步的增加。
技术实现思路
针对现有技术的缺陷和改进需求,本专利技术提供了一种基于区域生长的刀具对毛坯 ...
【技术保护点】
1.一种基于区域生长的刀具对毛坯的布尔运算方法,其特征在于,该方法包括以下步骤:/nS1.获取毛坯模型当前时刻的边界节点群和内部节点群、刀具模型下一时刻的边界节点群,其中,毛坯模型使用八叉树进行建模,边界节点表示模型表面穿过了节点,内部节点表示节点在模型内部;/nS2.通过当前刀具模型与下一时刻毛坯模型的包围盒求交,从毛坯当前内部节点群中找到一个与刀具模型下一时刻的边界节点群相交的叶节点,作为曲面维度的区域生长的种子节点;/nS3.根据曲面维度的区域生长的种子节点的边界边搜索该种子节点的邻域,在毛坯表面进行曲面维度的区域生长,找出毛坯所有新边界节点构成毛坯新边界点群,其中, ...
【技术特征摘要】
1.一种基于区域生长的刀具对毛坯的布尔运算方法,其特征在于,该方法包括以下步骤:
S1.获取毛坯模型当前时刻的边界节点群和内部节点群、刀具模型下一时刻的边界节点群,其中,毛坯模型使用八叉树进行建模,边界节点表示模型表面穿过了节点,内部节点表示节点在模型内部;
S2.通过当前刀具模型与下一时刻毛坯模型的包围盒求交,从毛坯当前内部节点群中找到一个与刀具模型下一时刻的边界节点群相交的叶节点,作为曲面维度的区域生长的种子节点;
S3.根据曲面维度的区域生长的种子节点的边界边搜索该种子节点的邻域,在毛坯表面进行曲面维度的区域生长,找出毛坯所有新边界节点构成毛坯新边界点群,其中,边界边表示一个顶点在毛坯模型表面或者内部,另一个顶点在毛坯模型外部的边;
S4.从毛坯新边界点群中找出一个带有外部公共边的节点,作为空间维度的区域生长的种子节点,其中,外部公共边表示两个顶点均在毛坯模型外部的边;
S5.从空间维度的区域生长的种子节点开始,在毛坯新边界节点群构成的新边界区域和毛坯当前边界节点群构成的旧边界区域之间的区域进行空间维度的区域生长,找出毛坯当前内部节点群中需要从内部节点转化为外部节点的节点,修改其属性为外部节点,毛坯当前内部节点群中所有未被修改的内部节点构成毛坯新内部节点群;将毛坯新边界区域和旧边界区域之间的区域的所有边界节点的属性修改为外部节点,从而实现一次布尔运算。
2.如权利要求1所述的方法,其特征在于,八叉树的数据结构如下:
八叉树用八叉树节点的Map表示,通过索引八叉树节点的编码来确定该八叉树节点的位置与父子级关系;所述八叉树节点的编码是一个8进制的数字,编码的位数用于表示八叉树的层级L;其中,第一位的数字1表示根节点,第二位的数字表示该八叉树的第二层节点的位于第一层节点的号位,第三位表示该八叉树第三层节点位于第二层节点的号位,……,依此类推,第L位表示第L层节点位于第L-1层节点的号位。
3.如权利要求2所述的方法,其特征在于,八叉树节点的数据内容为包围盒数据和可视化所需的数据,其中,所述包围盒数据使用一个顶点坐标和包围盒边长来表示,将所有顶点数据存储在顶点数组中,八叉树节点从顶点数组中获取顶点坐标;可视化所需的数据包括两类数据,一是八叉树节点的位置信息,即是八叉树节点的八个顶点全在毛坯内部还是全在毛...
【专利技术属性】
技术研发人员:杨建中,杨啸,高嵩,朱万强,夏畅,罗桂兵,
申请(专利权)人:华中科技大学,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。