System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及工业制造,尤其涉及一种基于并行布尔运算的铣削仿真方法、装置、设备及介质。
技术介绍
1、在工业制造领域,高效的加工仿真算法是一个非常重要的领域。加工仿真算法需要计算多帧的结果以达到模拟加工的过程,而对于每帧来说,可以将加工仿真算法划分为两个子问题,首先是构造移动物体的扫掠体,之后将扫掠体和工件进行布尔运算。在这个过程中,复杂的三维几何模型处理是不可避免的挑战。布尔运算作为处理几何模型的核心操作之一,涉及到组合、切割和合并等复杂计算。这些运算通常是计算密集型的,特别是在处理大型几何数据时,传统的串行算法可能效率较低。随着计算硬件的发展,多核处理器、gpu以及高性能计算集群的广泛应用为并行计算提供了平台,为加速布尔运算提供了可能。并行布尔运算利用多个处理单元同时执行任务,通过分布式计算的方式,实现了对复杂几何模型的高效处理。
2、目前,在工业制造领域中,布尔运算的实现方法根据其数据结构的不同可以划分为三种:传统布尔运算、基于空间划分的布尔运算和实体布尔运算。传统的布尔运算通过对几何体的边界和内部进行逻辑操作,常用的数据结构主要有边界表示法、半边表示法;基于空间划分的布尔运算通过树结构对空间进行布尔,从而简化布尔运算的计算和表示,常用的数据结构主要有八叉树、bsp树、kd树等;实体布尔运算是在实体层面进行的,将几何体进行体素化,直接对实体的体积和表面进行逻辑操作。而对于目前现有的方法中,大部分使用的都是串行的布尔运算,并行布尔运算并没有在工业制造领域中得到广泛的应用。
3、在布尔运算领域,目前存在
4、在目前的工业制造领域和几何处理领域中,布尔运算的实现主要包括三种:传统的布尔运算、基于空间划分的布尔运算以及实体布尔运算。对于这三种布尔运算来说,它们均面临了一些瓶颈:首先,传统的布尔运算时间复杂度和空间复杂度较高,尤其是在面对复杂场景下的几何运算,随着几何体的数量以及复杂度的增加导致效率显著降低;其次,基于空间划分的布尔运算虽然在空间上进行划分,简化了布尔运算的计算和表示,但是在复杂场景下可能存在空间冗余,导致树的结构庞大,占用过多的内存;实体布尔运算中由于采用离散表示,体素方法可能引入精度损失,在一些精度要求较高的应用场景中可以采用更高分辨率的体素网格,但是大量增加计算和存储开销。
5、综上所述,随着目前计算技术的不断发展和硬件性能的提升,目前现有的大多数布尔运算并没有充分利用硬件的优势去提升其计算效率和稳定性,在一些实时性要求较高的场景下更是体现出了目前串行布尔运算的不足。
技术实现思路
1、本专利技术的目的是提供一种基于并行布尔运算的铣削仿真方法及装置。
2、本专利技术提供了一种基于并行布尔运算的铣削仿真方法,包括:
3、读取铣削环境下的几何体路径,所述几何体路径为具有刀具坐标信息及刀具在该坐标下的姿态信息的点集;
4、根据几何体路径和几何体的初始位置计算仿射变换矩阵,得到仿射变换后的几何体以更新刀具移动后的位置;
5、根据仿射变换前的几何体和仿射变换后的几何体确认刀具的移动路径,并根据每一帧的刀具移动路径构造对应刀具的扫掠体;
6、基于kd树的数据结构对几何体进行空间划分,同时对多个几何体构建kd树,得到构建后的kd树结构数据,每个所述几何体至少包括刀具的扫掠体和工件;
7、遍历两个几何体对应的kd树获取几何体之间的相交节点,对所述相交节点执行对应的布尔运算后进行合并操作,得到一系列帧数据对应的最终的几何体以仿真铣削过程。
8、作为优选地,所述读取铣削环境下的几何体路径之前包括:
9、读取铣削环境下的几何体信息以及当前硬件相关信息,所述几何体的信息包括点总数和面总数,所述当前硬件相关信息包括cpu核数和内存大小;
10、在应用层和算法层构建并行化计算策略,基于支持向量机回归模型预测最佳应用层并行度大小n以及算法层并行度大小m;
11、在应用层中创建n个线程的线程池,用于同时构造多个kd树,当前n个线程处于陷入阻塞状态直至新任务放入线程池,在线程池中有新任务加入时,n个线程对该新任务进行争抢,抢到该新任务的线程则执行对应的任务,未抢到该新任务的线程则继续处于阻塞状态,根据仿真业务需求计算的帧数生成对应数量的任务并依次放入线程池中直至各个线程之间负载均衡;
12、在算法层中对布尔运算进行并行化,用于对布尔运算对应的线程进行拆分成多个对应任务,采用tbb并行化处理拆分后的多个任务,通过kd树获取几何体相交的三角面片,执行布尔减操作后对空缺的面重新进行三角剖分,将三角剖分的结果重新加入到kd树中;
13、其中,所述几何体至少包括一个工件和刀具的几何体,上述任务均为铣削仿真逻辑下对应的任务。
14、作为优选地,所述根据几何体路径和几何体的初始位置计算仿射变换矩阵,得到仿射变换后的几何体包括:
15、获取几何体路径上每两个点对应的x轴坐标、y轴坐标及z轴坐标的差异构建第一仿射变换矩阵以更新刀具移动后的位置信息;
16、当刀具的仿射变换形式为平移时,分别获取几何体路径中两个点之间前一点和后一点的x轴坐标、y轴坐标、z轴坐标,将后一点的坐标与前一点的坐标进行对比,得到两个点之间x轴方向的坐标差值tx、y轴坐标方向的坐标值ty、z轴方向的坐标值tz,构造仿射变换矩阵后将原三维物体的每个点和第一仿射变换矩阵相乘得到平移后的第一仿射变换矩阵如下:
17、
18、其中,p'为变换后的三维物体,p为变换前的三维物体。
19、作为优选地,所述根据几何体路径和几何体的初始位置计算仿射变换矩阵,得到仿射变换后的几何体还包括:
20、获取几何体路径上刀具对应的姿态信息构建第二仿射变换矩阵以更新刀具的姿态信息;
21、当刀具的仿射变换形式为旋转时,获取几何体路径中刀具相对于x轴、y轴和z轴旋转的角度,若移动后的三维几何体相对于x轴旋转的角度为θ,构造出的第二仿射变换矩阵如下:
22、
23、若移动后的三维几何体相对于y轴旋转的角度为θ,构造出的第二仿射变换矩阵如下:
24、
25、若移动后的三维几何体相对于z轴旋转的角度为θ,构造出的第二仿射变换本文档来自技高网...
【技术保护点】
1.一种基于并行布尔运算的铣削仿真方法,其特征在于,包括:
2.根据权利要求1所述的基于并行布尔运算的铣削仿真方法,其特征在于,所述读取铣削环境下的几何体路径之前包括:
3.根据权利要求1所述的基于并行布尔运算的铣削仿真方法,其特征在于,所述根据几何体路径和几何体的初始位置计算仿射变换矩阵,得到仿射变换后的几何体包括:
4.根据权利要求1所述的基于并行布尔运算的铣削仿真方法,其特征在于,所述根据几何体路径和几何体的初始位置计算仿射变换矩阵,得到仿射变换后的几何体还包括:
5.根据权利要求2所述的基于并行布尔运算的铣削仿真方法,其特征在于,所述构建KD树的步骤包括:
6.根据权利要求1所述的基于并行布尔运算的铣削仿真方法,其特征在于,所述遍历两个几何体对应的KD树获取几何体之间的相交节点,对所述相交节点执行对应的布尔运算后进行合并操作进一步包括:
7.根据权利要求6所述的基于并行布尔运算的铣削仿真方法,其特征在于,所述对识别到的两个几何体相交的区域进行布尔减操作进一步包括:
8.一种基于并行布尔运算
9.一种电子设备,其特征在于,包括:
10.一种可读存储介质,其特征在于,所述可读存储介质上存储有处理程序,所述处理程序被处理器执行时实现如权利要求1至7中任意一项所述的基于并行布尔运算的铣削仿真方法。
...【技术特征摘要】
1.一种基于并行布尔运算的铣削仿真方法,其特征在于,包括:
2.根据权利要求1所述的基于并行布尔运算的铣削仿真方法,其特征在于,所述读取铣削环境下的几何体路径之前包括:
3.根据权利要求1所述的基于并行布尔运算的铣削仿真方法,其特征在于,所述根据几何体路径和几何体的初始位置计算仿射变换矩阵,得到仿射变换后的几何体包括:
4.根据权利要求1所述的基于并行布尔运算的铣削仿真方法,其特征在于,所述根据几何体路径和几何体的初始位置计算仿射变换矩阵,得到仿射变换后的几何体还包括:
5.根据权利要求2所述的基于并行布尔运算的铣削仿真方法,其特征在于,所述构建kd树的步骤包括:
<...【专利技术属性】
技术研发人员:常佳宁,张仕进,舒剑,吴逾强,
申请(专利权)人:西北工业大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。