数控加工几何仿真中基于STL模型的交线环求取算法的制作方法

文档序号:12271859阅读:来源:国知局

技术特征:

1.一种数控加工几何仿真中基于STL模型的交线环求取算法,其特征在于,该算法包括以下步骤:

1)建立被加工工件和刀具扫掠体的最小包围盒,滤除不相交的三角面片,运用空间解析法快速求出此求交范围内一组相交的三角面片对;

2)利用向量的点乘和叉乘特点,建立矢量判别模型,判断三角面片是否相交,得到相交三角面片对;

3)求解步骤2)中确定的相交三角面片对的交线,利用相邻交线段共端点的特点,结合相交三角面片对法向量与交线的关系,依次求出余下交线,得到交线环。

2.如权利要求1所述的数控加工几何仿真中基于STL模型的交线环求取算法,其特征在于:所述步骤1)中,快速求出一组相交的三角面片对过程如下:

1.1)建立包含被加工工件三角面片的最小包围盒A,包含刀具扫掠体三角面片的最小包围盒B,记包围盒表面指向外部的法向方向为正;

1.2)滤除在最小包围盒A外的刀具扫掠体上所有完整的三角面片,保留刀具扫掠体上剩余三角面片,滤除在最小包围盒B外部的工件上所有完整的三角面片,保留工件上剩余三角面片;

1.3)更新最小包围盒A、最小包围盒B,循环步骤1.2),直到剩余的总三角面片数不再增加为止,建立剩余总三角面片的最小包围盒C;

1.4)对最小包围盒C进行空间网格划分,划分为若干个边长为d的小正方体,并对这些正方体网格进行编号,坐标轴上以小正方体的一个边长距离为单位进行标记;

1.5)记录并存储每个三角面片所占据的空间网格,选取占据有相同空间网格的三角面片进行相交判断,当检测到相交三角面片对时,停止并且记录此相交三角面片对;反之,则工件与刀具扫掠体不相交。

3.如权利要求1所述的数控加工几何仿真中基于STL模型的交线环求取算法,其特征在于:所述步骤2)中,三角面片对是否相交的精确判断方法如下:

2.1)提取拟进行相交判断的两个三角面片T1和T2,设三角面片T1的3个顶点分别为A1、B1和C1,法向量为三角面片T2的3个顶点分别为A2、B2和C2,法向量为设三角面片T1所在平面为π1,三角面片T2所在平面为π2

2.2)分别计算如果计算结果中三者为同号且不同时为零,则三角面片T1和T2不相交,则结束判断;

2.3)如果计算结果为1,且则表示三角面片T1和T2在一个平面,则转化为平面三角面片相交判断问题;

2.4)如计算结果不为1,三角面片T1和T2异面,分别判断线段A1B1、B1C1、C1A1和三角面片T2是否相交、线段A2B2、B2C2、C2A2和三角面片T1是否相交,如果以上判断结果均为否,则三角面片T1和T2不相交;反之,则三角面片T1和T2相交,记录参与相交的边,结束判断。

4.如权利要求3所述的数控加工几何仿真中基于STL模型的交线环求取算法,其特征在于:所述步骤2.3)中,平面三角面片相交判断方法如下:

2.3.1)分别判断三个顶点A1、B1和C1是否在三角面片T2内、三个顶点A2、B2和C2是否在三角面片T1内,如果以上判断结果有一个为真,则三角面片T1和T2相交;如果以上判断结果均为否,进入下一步;

2.3.2)判断三角面片T2的三顶点是否在三角面片T1每条边A1B1、B1C1、C1A1异侧,三角面片T1的三顶点是否在三角面片T2每条边A2B2、B2C2、C2A2异侧;如果都满足,则三角面片T1、T2相交,否则不相交。

5.如权利要求4所述的数控加工几何仿真中基于STL模型的交线环求取算法,其特征在于:所述步骤2.3.1)中,判断三个顶点A1、B1和C1是否在三角面片T2内、三个顶点A2、B2和C2是否在三角面片T1内的算法如下:各顶点判断方法相同,根据STL格式三角面片顶点沿指向实体外部法向方向逆时针排列,以三角面片T2的顶点A2为例,判断其是否在三角面片T1内,分别计算若三个结果均为非正,点A2在三角面片T1内,否则不在;

如果不知道三角面片顶点排列顺序,需计算若三个结果均为非负,则点A2在三角面片T1内,否则不在。

6.如权利要求3所述的数控加工几何仿真中基于STL模型的交线环求取算法,其特征在于:所述步骤2.4)中,判断异面三角面片中边是否与对方三角面片相交的算法如下:以三角面片T2的边A2B2为例,判断其是否与三角面片T1相交;

计算当两式结果都为零时,则线段A2B2与三角面片T1共面;否则线段A2B2与三角面片T1异面:

①线段A2B2与三角面片T1异面:首先计算如结果为正,则线段A2B2在平面π1同侧,线段A2B2不与三角面片T1相交;否则点A2和点B2至少有一点不在平面π1上且点A2、B2在平面π1异侧;假设点A2不在平面π1上,分别计算如果三个结果均为非负,则线段A2B2与三角面片T1相交;否则线段A2B2与三角面片T1不相交;

②线段A2B2与三角面片T1共面:分别判断点A2、B2是否在三角面片T1内,若至少存在一点在三角面片T1内,则线段A2B2与T1相交;若点A2、B2都不在三角面片T1内,只有两种情况:线段A2B2与三角面片T1不相交、线段A2B2与三角面片T1相交;如果相交,只能是线段A2B2横穿三角面片T1,此时必存在T1的边与T2异面相交,故这种情况可认定为不相交或不作处理。

7.如权利要求1所述的数控加工几何仿真中基于STL模型的交线环求取算法,其特征在于:所述步骤3)中,交线环的具体求取过程如下:

3.1)由步骤2)找到的一组三角面片对T1、T2,设三角面片T1来自被加工工件,三角面片T2来自刀具扫掠体,由所记录的相交边或顶点信息快速求出两个交点,即为相交三角面片对T1、T2交线的端点,记求出的首段交线为I1I2

3.2)由已知交线I1I2,求其相邻交线;

3.3)依次求出剩余的交线,直到求得的交线端点与首段交线端点I1重合为止,最终得到交线环。

8.如权利要求7所述的数控加工几何仿真中基于STL模型的交线环求取算法,其特征在于:所述步骤3.2)中,相邻交线具体求取过程为:

3.2.1)以为方向求下一段交线,则I2为两交线段的公共端点,根据其与三角面片对T1、T2的关系求下段交线所在三角面片对;

3.2.2)求交线另一端点:由已求出的相交三角面片对T3、T4,根据三角面片T3的法向量三角面片T4的法向量得到三角面片T3、T4交线所在直线方向向量从而求出交线所在直线L,算出直线L与三角面片T3、T4各边的交点,其中仅有一个满足在三角面片T3或者三角面片T4内部,此点即为交线的另一端点记为I3,求得第二段交线I2I3,同时记录端点I3与三角面片T3、T4的关系为求下一段交线作准备。

9.如权利要求8所述的数控加工几何仿真中基于STL模型的交线环求取算法,其特征在于:所述步骤3.2.1)中,由公共端点I2与被加工工件上的三角面片T1的关系求第一个相交三角面片,当公共端点I2在三角面片T1内部时,则三角面片T1为所求三角面片;当公共端点I2在三角面片T1边上时,则三角面片T1上公共端点I2所在边的另一个三角面片为所求;当公共端点I2在三角面片T1顶点上时,则三角面片T1上公共端点I2所在顶点所属若干三角面片中的一个为所求,只需对公共端点I2的若干三角面片与刀具扫掠体上求得的三角面片进行相交判定即可;

同理由端点I2与三角面片T2的关系求出在刀具扫掠体上的第二个相交三角面片。

10.如权利要求7所述的数控加工几何仿真中基于STL模型的交线环求取算法,其特征在于:所述步骤3.3)中,每求出一条交线环,则剔除包围盒C中与交线环相交的所有三角面片,在更新的包围盒C中重新检测是否存在相交三角面片对,如果存在,根据上述步骤求出下一条交线环,以此循环直到包围盒C中不存在相交三角面片对为止。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1