CN107037738A - 数控加工几何仿真中基于stl模型的材料去除算法 - Google Patents
数控加工几何仿真中基于stl模型的材料去除算法 Download PDFInfo
- Publication number
- CN107037738A CN107037738A CN201611030732.0A CN201611030732A CN107037738A CN 107037738 A CN107037738 A CN 107037738A CN 201611030732 A CN201611030732 A CN 201611030732A CN 107037738 A CN107037738 A CN 107037738A
- Authority
- CN
- China
- Prior art keywords
- tri patch
- intersection
- cutter
- intersecting
- workpiece
- 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
Links
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Numerical Control (AREA)
Abstract
本发明涉及一种数控加工几何仿真中基于STL模型的材料去除算法,其步骤:将CAD生成的被加工工件和刀具扫掠体都转化为STL格式;读取刀具扫掠体和被加工工件STL模型,建立刀具扫掠体和被加工工件表面三角面片关系索引;建立工件和刀具扫掠体的最小包围盒,滤除不相交的三角面片,利用向量的点乘和叉乘特点,建立矢量判别模型,判断三角面片是否相交得到一组相交三角面片对;求解确定的相交三角面片对的交线,求取交线环;对被加工工件和刀具扫掠体上参与相交的三角面片进行重构;对三角面片进行分类;由被加工工件上保留表面和刀具扫掠体上参与加工表面组成新的封闭表面形成了去除材料后的工件模型。
Description
技术领域
本发明涉及一种虚拟数控加工领域,特别是关于一种数控加工几何仿真中基于STL模型的材料去除算法。
背景技术
切削仿真和材料去除仿真是虚拟数控机床仿真系统中一个最重要、最核心的部分,也是最难实现的一个部分。而切削仿真的逼真性就取决于材料去除仿真,目前,在国内外有代表性的、广泛运用于数控加工几何仿真中的方法有以下几种:
实体几何造型法通过刀具沿着加工轨迹移动而生成刀具扫描体,然后利用布尔差运算直接在毛坯体上减去刀具扫描体而实现。它直接用数学方法如参数方程等描述几何体,保存了全部几何信息,因此其计算结果精确,可以进行各种几何测量和处理。其不足之处在于刀具的每一步运动都需要进行大量的布尔求交运算,实时性差。
视向离散法利用图像空间的消隐算法来实现布尔运算。这种方法计算量小,实时性好;其缺点是在显示过程中丢弃了部分几何深度信息,人们对加工结果无法进行旋转、放大等操作同时也无法进行精确的误差检验,因为毛坯的原始数据都已经转化为像素值,而这些像素点是依赖与显示屏幕的,导致它的应用受到很大限制。
离散矢量求交法,将待加工曲面或实体按照一定的精度转变为一些离散的数据点,并用其来代替原曲面,然后再利用这些离散点沿其曲面法向矢量方向与刀具扫描体进行求交运算。这种方法是在某一方向上投影具有一定的局限性,而且在曲率大的地方加工误差较大。
发明内容
针对上述问题,本发明的目的是提供一种数控加工几何仿真中基于STL模型的材料去除算法,该算法克服了实时性差、加工效力低、误差大等问题,可以有效地提高加工仿真速度及精度。
为实现上述目的,本发明采取以下技术方案:一种数控加工几何仿真中基于STL模型的材料去除算法,其特征在于,该算法包括以下步骤:1)将CAD生成的被加工工件和刀具扫掠体都转化为STL格式,STL模型表面是由三角面片组成;2)读取刀具扫掠体和被加工工件STL模型,同时建立刀具扫掠体和被加工工件表面三角面片关系索引;3)建立被加工工件和刀具扫掠体的最小包围盒,滤除不相交的三角面片,得到被加工工件和刀具扫掠体相交部分最小包围盒,再运用空间解析法求出此求交范围内一组相交的三角面片对;4)求解3)中得到的相交三角面片对交线段,利用相邻交线段共端点的特点,依次求出余下交线,得到交线环;5)对被加工工件和刀具扫掠体上参与相交的三角面片进行重构;6)对5)重构得到的被加工工件和刀具扫掠体上三角面片进行分类:根据刀具扫掠体表面三角面片法向量判断被加工工件上以交线为边的重构三角面片属于保留表面还是属于去除表面,根据被加工工件表面三角面片法向量判断刀具扫掠体上以交线为边的重构三角面片属于参与加工表面还是非参与加工表面;其他面片分类情况根据已分类三角面片确定;7)由被加工工件上保留表面和刀具扫掠体上参与加工表面组成的封闭表面形成去除材料后的工件模型。
进一步,所述步骤2)具体过程如下:2.1)依次读入所有三角面片顶点坐标P1(x1,y1,z1)、P2(x2,y2,z2)、P3(x3,y3,z3)…,以及所有三角面片法向量坐标N1(xn1,yn1,zn1)、N2(xn2,yn2,zn2)、N3(xn2,yn2,zn2)……,并建立对应顶点指针*P1、*P2、*P3…以及对应三角面片法向量指针*N1、*N2、*N3……,每个指针指向对应坐标地址,读入的同时与已读入的坐标进行对比,如果已经存在相同坐标则不重复录入;2.2)以一个三角面片的数据信息为存储单元,每个三角面片数据信息包括3个顶点一个法向量,设有若干个三角面片T1(*P1,*P2,*P3,*N1)、T2(*P4,*P5,*P6,*N2)、T3(*P7,*P8,*P9,*N3)……,建立指向每个三角面片存储单元地址的指针*T1、*T2、*T3……。
进一步,所述步骤3)中,求出可能相交的三角面片对过程如下:3.1)建立包含被加工工件三角面片的最小包围盒A,包含刀具扫掠体三角面片的最小包围盒B,记包围盒表面指向外部的法向方向为正;3.2)滤除在最小包围盒A外的刀具扫掠体上所有完整的三角面片,保留刀具扫掠体上剩余三角面片,滤除在最小包围盒B外部的被加工工件上所有完整的三角面片,保留工件上剩余三角面片;3.3)更新最小包围盒A、最小包围盒B,循环步骤3.2),直到剩余的总三角面片数不再增加为止,建立剩余总三角面片的最小包围盒C;3.4)对最小包围盒C进行空间网格划分,划分为若干个边长为d的小正方体,并对这些正方体网格进行编号,坐标轴上以小正方体的一个边长距离为单位进行标记;3.5)记录并存储每个三角面片所占据的空间网格,选取占据有相同空间网格的三角面片进行相交判断,当检测到相交三角面片对时,停止并且记录此相交三角面片对;反之,则工件与刀具扫掠体不相交。
进一步,所述步骤3)中,三角面片对是否相交的判断方法如下:3.1)提取拟进行相交判断的两个三角面片T1和T2,设三角面片T1的3个顶点分别为A1、B1和C1,法向量为三角面片T2的3个顶点分别为A2、B2和C2,法向量为设三角面片T1所在平面为π1,三角面片T2所在平面为π2;3.2)分别计算 和如果计算结果中三者为同号且不同时为零,则三角面片T1和T2不相交,则结束判断;3.3)如果计算结果为1,且则表示三角面片T1和T2在一个平面,则转化为平面三角面片相交判断问题;3.4)如计算结果不为1,三角面片T1和T2异面,分别判断线段A1B1、B1C1、C1A1和三角面片T2是否相交、线段A2B2、B2C2、C2A2和三角面片T1是否相交,如果以上判断结果均为否,则三角面片T1和T2不相交;反之,则三角面片T1和T2相交,记录参与相交的边,结束判断。
进一步,所述步骤3.3)中,平面三角面片相交判断方法如下:3.3.1)分别判断三个顶点A1、B1和C1是否在三角面片T2内、三个顶点A2、B2和C2是否在三角面片T1内,如果以上判断结果有一个为真,则三角面片T1和T2相交;如果以上判断结果均为否,进入下一步;3.3.2)判断三角面片T2的三顶点是否在三角面片T1每条边A1B1、B1C1、C1A1异侧,三角面片T1的三顶点是否在三角面片T2每条边A2B2、B2C2、C2A2异侧;如果都满足,则三角面片T1、T2相交,否则不相交。
进一步,所述步骤3.3.1)中,判断三个顶点A1、B1和C1是否在三角面片T2内、三个顶点A2、B2和C2是否在三角面片T1内的算法如下:各顶点判断方法相同,根据STL格式三角面片顶点沿指向实体外部法向方向逆时针排列,以三角面片T2的顶点A2为例,判断其是否在三角面片T1内,分别计算 和若三个结果均为非正,点A2在三角面片T1内,否则不在;如果不知道三角面片顶点排列顺序,需计算
和若三个结果均为非负,则点A2在三角面片T1内,否则不在。
进一步,所述步骤3.4)中,判断异面三角面片中边是否与对方三角面片相交的算法如下:以三角面片T2的边A2B2为例,判断其是否与三角面片T1相交;计算和当两式结果都为零时,则线段A2B2与三角面片T1共面;否则线段A2B2与三角面片T1异面:①线段A2B2与三角面片T1异面:首先计算如结果为正,则线段A2B2在平面π1同侧,线段A2B2不与三角面片T1相交;否则点A2和点B2至少有一点不在平面π1上且点A2、B2在平面π1异侧;假设点A2不在平面π1上,分别计算 和如果三个结果中存在一个结果小于0,则线段A2B2与三角面片T1不相交;如果三个结果均为非负,则线段A2B2与三角面片T1相交;②线段A2B2与三角面片T1共面:分别判断点A2、B2是否在三角面片T1内,若至少存在一点在三角面片T1内,则线段A2B2与T1相交;若点A2、B2都不在三角面片T1内,只有两种情况:线段A2B2与三角面片T1不相交、线段A2B2与三角面片T1相交;此时如果相交,只能是线段A2B2横穿三角面片T1,当点A2、B2都不在三角面片T1内,认定为不相交或不作处理。
进一步,所述步骤4)中,交线环的具体求取过程如下:4.1)由找到的一组三角面片对T1、T2,设三角面片T1来自工件,三角面片T2来自刀具扫掠体,由所记录的相交边或顶点信息快速求出两个交点,即为相交三角面片对T1、T2交线的端点,记求出的首段交线为I1I2;4.2)由已知交线I1I2,求其相邻交线;4.3)依次求出剩余的交线,直到求得的交线端点与首段交线端点I1重合为止,最终得到交线环。
进一步,所述步骤4.2)中,相邻交线具体求取过程为:4.2.1)以为方向求下一段交线,则I2为两交线段的公共端点,根据其与三角面片对T1、T2的关系求下段交线所在三角面片对;4.2.2)求交线另一端点:由已求出的相交三角面片对T3、T4,根据三角面片T3的法向量三角面片T4的法向量得到三角面片T3、T4交线所在直线方向向量从而求出交线所在直线L,算出直线L与三角面片T3、T4各边的交点,其中仅有一个满足在三角面片T3或者三角面片T4内部,此点即为交线的另一端点记为I3,求得第二段交线I2I3,同时记录端点I3与三角面片T3、T4的关系为求下一段交线作准备。
进一步,所述步骤6)中,三角面片进行分类具体过程为:6.1)设三角面片T1、T2是分别来自工件及刀具扫掠体上的相交三角面片对,I1I2为交线,重构后三角面片T1、T2被划分为若干新三角面片;6.2)对三角面片T1上以交线I1I2为边的新三角面片进行判断,在三角面片T2法向量一侧的属于保留面,负方向一侧的属于去除面;对三角面片T2上与交线I1I2为边的新三角面片进行判断,在三角面片T1法向量一侧的属于不参与加工面,负方向一侧的属于参与加工面;6.3)完成工件及刀具扫掠体上所有以交线为边的新三角面片进行归属分类;6.4)其余三角面片判定方法为:根据相邻三角面片共边的关系,由已分类的三角面片开始向未分类的三角面片遍历;在工件表面,与属于保留面三角面片相邻的仍然是属于保留面,与属于去除面三角面片相邻的仍然是属于去除面;在刀具扫掠体表面,与属于参与加工表面相邻的依然属于参与加工表面,与非参与加工表面相邻的依然属于非参与加工面。
本发明由于采取以上技术方案,其具有以下优点:1、本发明对被加工工件及刀具扫掠体模型同时采取STL格式,使虚拟加工的材料去除由实体去除转换为曲面之间的求解,提高了切削效率。2、本发明在求取被加工工件与刀具扫掠体交线时,所运用的方法复杂度显著降低,计算精准。3、本发明通过以交线环为界线,对被加工工件及刀具扫掠体模型表面三角面片进行分类划分,使去除材料后的工件模型求取简单,整个算法大大减小了加工误差,具有鲁棒性和时效性。
附图说明
图1是本发明的整体流程示意图;
图2是本发明中刀具形成的扫掠体加工工件的整体示意图;
图3是本发明中刀具扫掠体与工件相交处的局部放大图;
图4a是本发明中工件的线框模型示意图;
图4b是本发明中工件的STL模型示意图;
图5a是本发明中刀具扫掠体的线框模型示意图;
图5b是本发明中刀具扫掠体的STL模型示意图;
图6是本发明运用包围盒求交的方式快速滤除不参与求交的三角面片、缩小求交范围示意图;
图7是本发明中三角面片T2三顶点在三角面片T1所在平面同侧情况;
图8是本发明中三角面片T1、T2共面时,当不存在顶点在对方三角面片内部时的相交情况;
图9是本发明中T1、T2异面相交时,此时所形成的交线情况之一;
图10是本发明中由已知交线求下一段交线时的示意图;
图11是本发明当采用刀具扫掠体形状及加工方式如图所示时,所形成的交线环的形状示意图;
图12是本发明中当三角面片T1内部交线为如图所示,其重构划分的情况;
图13是本发明中交线环将工件表面分为保留表面和去除表面;
图14是本发明中交线环将刀具扫掠体表面分为参与加工表面和不参与加工表面;
图15是本发明中由工件保留的表面和刀具扫掠体参与加工的表面形成了最终加工后的工件模型;
图16是本发明中材料去除后工件的STL格式模型。
具体实施方式
下面结合附图和实施例对本发明进行详细的描述。
如图1所示,本发明提供一种数控加工几何仿真中基于STL模型的材料去除算法,该去除算法涉及到的模块包括被加工工件、刀具扫掠体、三角面片对、相交三角面片对的交线段以及交线环;其中被加工工件和刀具扫掠体模型均为STL格式,在刀具扫掠体切削工件时会产生交界线,其整体构造如图2所示,从图3中可看出刀具扫掠体切削工件所产生的交界线为封闭环;该封闭环将被加工工件和刀具扫掠体分别分为两部分。本发明的具体步骤如下:
1)将CAD生成的被加工工件和刀具扫掠体都转化为STL格式,如附图4a、图4b、图5a和图5b所示,STL模型表面是由三角面片组成;
2)读取刀具扫掠体和被加工工件STL模型,同时建立刀具扫掠体和被加工工件表面三角面片关系索引;
由于STL格式的工件及刀具扫掠体表面的三角面片之间本身是离散的,通过读入三角面片信息并建立索引,能将离散的三角面片紧密联系起来。其具体步骤如下:
2.1)依次读入所有三角面片顶点坐标P1(x1,y1,z1)、P2(x2,y2,z2)、P3(x3,y3,z3)…,以及所有三角面片法向量坐标N1(xn1,yn1,zn1)、N2(xn2,yn2,zn2)、N3(xn2,yn2,zn2)……,并建立对应顶点指针*P1、*P2、*P3…以及对应三角面片法向量指针*N1、*N2、*N3……,每个指针指向对应坐标地址,读入的同时与已读入的坐标进行对比,如果已经存在相同坐标则不重复录入;
2.2)以一个三角面片的数据信息为存储单元,每个三角面片数据信息包括3个顶点一个法向量,设有若干个三角面片T1(*P1,*P2,*P3,*N1)、T2(*P4,*P5,*P6,*N2)、T3(*P7,*P8,*P9,*N3)……,其中不同三角面片可能具有相同顶点;建立指向每个三角面片存储单元地址的指针*T1、*T2、*T3……。
这样既能由给定坐标找到对应的三角面片,又能由三角面片索引到其顶点及法向量坐标,同时也能够找到具有公共顶点和公共边(两顶点相同)的三角面片。例如,对于坐标为(xi,yi,zi)的点(i为正整数),由它能够索引到对应指针*Pi,再向上一级索引能够找到以它为顶点的三角面片,若Tm、Tn都包含此顶点(m、n为正整数且不相等),则这两个三角面片具有公共顶点;若Tm、Tn有两个顶点相同,则这两三角面片具有公共边。
3)快速找到一组相交的三角面片对:建立工件和刀具扫掠体的最小包围盒,通过滤除不可能参与相交的三角面片,得到被加工工件和刀具扫掠体相交部分最小包围盒,再运用空间解析法求出此求交范围内一组相交的三角面片对;具体步骤为:
3.1)建立包含工件所有三角面片的最小包围盒A、包含刀具扫掠体所有三角面片的最小包围盒B,记包围盒表面指向外部的法向方向为正;
3.2)滤除在最小包围盒A外的刀具扫掠体上所有完整的三角面片,保留刀具扫掠体上剩余三角面片,滤除在最小包围盒B外部的工件上所有完整的三角面片,保留工件上剩余三角面片;
3.3)更新最小包围盒A、最小包围盒B,循环步骤3.2),直到剩余的总三角面片数不再增加为止,建立剩余总三角面片的最小包围盒C,如图6所示;
3.4)对最小包围盒C进行空间网格划分,划分为若干个边长为d的小正方体,并对这些正方体网格进行编号,取(i,j,k)来唯一的标识一个网格,其中i、j、k分别表示网格在X、Y、Z坐标轴上的编号,坐标轴上以小正方体的一个边长距离为单位进行标记,以使每个小立方体都有唯一的坐标与之对应;
3.5)记录并存储每个三角面片所占据的空间网格,选取占据有相同空间网格的三角面片进行相交判断,当检测到相交三角面片对时,立即停止并且记录此相交三角面片对;如果没有检测到相交三角面片对,则工件与刀具扫掠体不相交;其中,选取的优先顺序依据占据相同网格数的多少而定。
4)三角面片对是否相交的精确判断:利用向量的点乘和叉乘特点,建立矢量判别模型,快速全面判断步骤3)中选出的三角面片对是否相交;具体步骤为:
4.1)提取拟进行相交判断的两个三角面片T1和T2,由STL格式可知三角面片3个顶点沿指向实体外部的法矢量方向逆时针排列,设三角面片T1的3个顶点分别为A1、B1和C1,法向量为三角面片T2的3个顶点分别为A2、B2和C2,法向量为设三角面片T1所在平面为π1,三角面片T2所在平面为π2;
4.2)分别计算和如果计算结果中三者为同号且不同时为零,则三角面片T1和T2不相交,如图7所示,则结束判断;
4.3)如果计算结果为1,且则表示三角面片T1和T2在同一平面,则转化为二维平面三角面片相交判断问题,具体步骤为:
4.3.1)分别判断三个顶点A1、B1和C1是否在三角面片T2内、三个顶点A2、B2和C2是否在三角面片T1内,如果以上判断结果有一个为真,则三角面片T1和T2相交,记录相交边,结束判断;如果以上判断结果均为否,进入步骤4.3.2);
根据STL格式三角面片顶点为沿法向方向逆时针顺序排列,以三角面片T2的顶点A2为例(各顶点判断方法相同),判断其是否在三角面片T1内,分别计算和若三个结果均为非正,则点A2在三角面片T1内,否则不在。
当不知道三角面片顶点排列顺序时,需计算
和若三个结果均为非负,则点A2在三角面片T1内,否则不在。
4.3.2)如果两三角面片相交,只有可能是图8所示情况,只需判断三角面片T2的三顶点是否在三角面片T1每条边A1B1、B1C1、C1A1异侧,三角面片T1的三顶点是否在三角面片T2每条边A2B2、B2C2、C2A2异侧。如果都满足,则三角面片T1、T2相交,否则不相交。
4.4)如计算结果不为1,三角面片T1和T2异面,分别判断线段A1B1、B1C1、C1A1和三角面片T2是否相交、线段A2B2、B2C2、C2A2和三角面片T1是否相交,如果以上判断结果均为否,则三角面片T1和T2不相交,结束判断;如果以上判断结果有一个为真,则三角面片T1和T2相交,记录参与相交的边,结束判断;
其中,判断异面三角面片中边是否与对方三角面片相交的算法如下,以三角面片T2的边A2B2为例,判断其是否与三角面片T1相交:
计算和当两式结果都为零时,则线段A2B2与三角面片T1共面;否则线段A2B2与三角面片T1异面:
①线段A2B2与三角面片T1异面:首先计算如结果为正,则线段A2B2在平面π1同侧,线段A2B2不与三角面片T1相交;否则点A2和点B2至少有一点不在平面π1上且点A2、B2在平面π1异侧。假设点A2不在平面π1上,分别计算和如果三个结果中存在一个结果小于0,则线段A2B2与三角面片T1不相交;如果三个结果均为非负,则线段A2B2与三角面片T1相交。
②线段A2B2与三角面片T1共面:利用步骤4.3.1)中点是否在三角面片内的判断方法分别判断点A2、B2是否在三角面片T1内,若至少存在一点在三角面片T1内,则线段A2B2与T1相交;若点A2、B2都不在三角面片T1内,只有两种情况:线段A2B2与三角面片T1不相交、线段A2B2与三角面片T1相交。此时如果相交,只能是线段A2B2横穿三角面片T1,这时三角面片T1中必有边与三角面片T2异面相交,由于三角面片T1、T2的每一条边都要作相交判断,所以当点A2、B2都不在三角面片T1内,可认定为不相交或不作处理,此时不影响三角面片T1、T2相交判定最终结果。通过上述方法可完成三角面片T1、T2中其余边的相交判定。
5)交线环的求取:求解步骤4)中确定的相交三角面片对的交线,利用相邻交线段共端点的特点,结合相交三角面片对法向量与交线的关系,依次求出余下交线,得到交线环;具体步骤如下:
5.1)求相交三角面片对交线:由步骤3)、步骤4)找到的一组三角面片对T1、T2,设三角面片T1来自工件,三角面片T2来自刀具扫掠体,由所记录的相交边或顶点信息快速求出两个交点,即为相交三角面片对T1、T2交线的端点,记求出的首段交线为I1I2,如图9所示;
对于相交的三角面片对,交线的端点是由其中一个三角面片的边与另一三角面片相交而得,所以端点与三角面片的关系有且仅有三种:①在三角面片内部;②在三角面片边上;③在三角面片顶点上。
5.2)由已知交线I1I2,求其相邻交线:
5.2.1)求相邻交线所在的相交三角面片对:以为方向求下一段交线,则I2为两交线段的公共端点,根据其与三角面片对T1、T2的关系求下段交线所在三角面片对:
由公共端点I2与工件上的三角面片T1的关系求第一个相交三角面片,当公共端点I2与三角面片T1的关系为情况①(即在三角面片内部)时,则三角面片T1为所求三角面片;
当公共端点I2与三角面片T1的关系为情况②(即在三角面片边上)时,则三角面片T1上公共端点I2所在边的另一个三角面片为所求;
当公共端点I2与三角面片T1的关系为情况③(即在三角面片顶点上)时,则三角面片T1上公共端点I2所在顶点所属若干三角面片中的一个为所求,只需对公共端点I2的若干三角面片与刀具扫掠体上求得的三角面片进行相交判定即可。
同理由端点I2与三角面片T2的关系可求出在刀具扫掠体上的第二个相交三角面片;
例如,如图10所示,I2在T1内部,所以工件上的三角面片T1即为所求,可令其为T3;I2在三角面片T2的边A2C2上,所以刀具扫掠体上与T2有公共边A2C2的相邻三角面片设为T4即为所求;
5.2.2)求交线另一端点:由步骤5.2.1)已求出相交三角面片对T3、T4,根据三角面片T3的法向量三角面片T4的法向量得到三角面片T3、T4交线所在直线方向向量从而可求出交线所在直线L,算出直线L与三角面片T3、T4各边的交点,其中仅有一个满足在三角面片T3或者三角面片T4内部,此点即为交线的另一端点记为I3,求得第二段交线I2I3,同时记录端点I3与三角面片T3、T4的关系为求下一段交线作准备,如图10所示。
5.3)根据步骤5.2)的方法依次求出剩余的交线,直到求得的交线端点与首段交线端点I1重合为止,最终得到交线环,如图11所示,此时只有一条交线环。考虑到刀具扫掠体与工件可能有多条交线环,每求出一条交线环,则剔除由求出的包围盒C中与交线环相交的所有三角面片,在更新的包围盒C中重新检测是否存在相交三角面片对,如果存在,继续后续步骤求出下一条交线环,以此循环直到包围盒C中不存在相交三角面片对为止。
6)对相交三角面片对进行重构:对被加工工件和刀具扫掠体上参与相交的三角面片进行重构;
重构是针对于被加工工件及刀具扫掠体上参与加工的三角面片,也就是对被交线贯穿的三角面片进行重构,重构的方式依据三角面片对的相交情况,重构的三角面片被划分为若干个新的三角面片,以三角面片T1为例,交线I1I2、I2I3将其分割,则重构后形成的新三角面片如图12所示;
7)对三角面片进行分类:重构后,以交线环为边界将工件三角面片划分为在刀具扫掠体模型内部和在刀具扫掠体模型外部,其中在内部的三角面片为刀具去除的部分,在外部的三角面片为要保留的部分,如图13所示;以交线环为边界将刀具扫掠体三角面片分为在工件模型内部和在工件模型外部,其中在内部的三角面片属于参与加工表面,在外部的三角面片属于不参与加工表面,如图14所示。
根据刀具表面三角面片法向量判断工件上以交线为边的重构三角面片属于保留表面还是属于去除表面,根据工件表面三角面片法向量判断刀具扫掠体上以交线为边的新三角面片属于参与加工表面还是非参与加工表面;其他面片分类情况可根据已分类三角面片快速确定。具体步骤为:
7.1)设三角面片T1、T2是分别来自工件及刀具扫掠体上的相交三角面片对,I1I2为交线,重构后三角面片T1、T2被划分为若干新三角面片。
7.2)根据STL格式三角面片法向方向为指向实体外部,对三角面片T1上以交线I1I2为边的新三角面片进行判断,在三角面片T2法向量一侧的属于保留面,负方向一侧的属于去除面;对三角面片T2上与交线I1I2为边的新三角面片进行判断,在三角面片T1法向量一侧的属于不参与加工面,负方向一侧的属于参与加工面;
7.3)根据以上步骤完成工件及刀具扫掠体上所有以交线为边的新三角面片进行归属分类;
7.4)其余三角面片判定方法为:根据相邻三角面片共边的关系,且在封闭交线环内外侧的三角面片已经完成分类,由已分类的三角面片开始向未分类的三角面片遍历。在工件表面,与属于保留面三角面片相邻的仍然是属于保留面,与属于去除面三角面片相邻的仍然是属于去除面;在刀具扫掠体表面,与属于参与加工表面相邻的依然属于参与加工表面,与非参与加工表面相邻的依然属于非参与加工面。最终完成了工件及刀具扫掠体上所有三角面片的分类。
8)材料去除:完成三角面片分类划分后,由被加工工件上保留表面和刀具扫掠体上参与加工表面组成新的封闭表面形成了去除材料后的工件模型,如图15所示,加工后模型的STL格式如图16所示。至此,达到了数控加工几何仿真中材料去除的目的。
上述各实施例仅用于说明本发明,各部件的结构、尺寸、设置位置及形状都是可以有所变化的,在本发明技术方案的基础上,凡根据本发明原理对个别部件进行的改进和等同变换,均不应排除在本发明的保护范围之外。
Claims (10)
1.一种数控加工几何仿真中基于STL模型的材料去除算法,其特征在于,该算法包括以下步骤:
1)将CAD生成的被加工工件和刀具扫掠体都转化为STL格式,STL模型表面是由三角面片组成;
2)读取刀具扫掠体和被加工工件STL模型,同时建立刀具扫掠体和被加工工件表面三角面片关系索引;
3)建立被加工工件和刀具扫掠体的最小包围盒,滤除不相交的三角面片,得到被加工工件和刀具扫掠体相交部分最小包围盒,再运用空间解析法求出此求交范围内一组相交的三角面片对;
4)求解3)中得到的相交三角面片对交线段,利用相邻交线段共端点的特点,依次求出余下交线,得到交线环;
5)对被加工工件和刀具扫掠体上参与相交的三角面片进行重构;
6)对5)重构得到的被加工工件和刀具扫掠体上三角面片进行分类:根据刀具扫掠体表面三角面片法向量判断被加工工件上以交线为边的重构三角面片属于保留表面还是属于去除表面,根据被加工工件表面三角面片法向量判断刀具扫掠体上以交线为边的重构三角面片属于参与加工表面还是非参与加工表面;其他面片分类情况根据已分类三角面片确定;
7)由被加工工件上保留表面和刀具扫掠体上参与加工表面组成的封闭表面形成去除材料后的工件模型。
2.如权利要求1所述的数控加工几何仿真中基于STL模型的材料去除算法,其特征在于:所述步骤2)具体过程如下:
2.1)依次读入所有三角面片顶点坐标P1(x1,y1,z1)、P2(x2,y2,z2)、P3(x3,y3,z3)…,以及所有三角面片法向量坐标N1(xn1,yn1,zn1)、N2(xn2,yn2,zn2)、N3(xn2,yn2,zn2)……,并建立对应顶点指针*P1、*P2、*P3…以及对应三角面片法向量指针*N1、*N2、*N3……,每个指针指向对应坐标地址,读入的同时与已读入的坐标进行对比,如果已经存在相同坐标则不重复录入;
2.2)以一个三角面片的数据信息为存储单元,每个三角面片数据信息包括3个顶点一个法向量,设有若干个三角面片T1(*P1,*P2,*P3,*N1)、T2(*P4,*P5,*P6,*N2)、T3(*P7,*P8,*P9,*N3)……,建立指向每个三角面片存储单元地址的指针*T1、*T2、*T3……。
3.如权利要求1所述的数控加工几何仿真中基于STL模型的材料去除算法,其特征在于:所述步骤3)中,求出可能相交的三角面片对过程如下:
3.1)建立包含被加工工件三角面片的最小包围盒A,包含刀具扫掠体三角面片的最小包围盒B,记包围盒表面指向外部的法向方向为正;
3.2)滤除在最小包围盒A外的刀具扫掠体上所有完整的三角面片,保留刀具扫掠体上剩余三角面片,滤除在最小包围盒B外部的被加工工件上所有完整的三角面片,保留工件上剩余三角面片;
3.3)更新最小包围盒A、最小包围盒B,循环步骤3.2),直到剩余的总三角面片数不再增加为止,建立剩余总三角面片的最小包围盒C;
3.4)对最小包围盒C进行空间网格划分,划分为若干个边长为d的小正方体,并对这些正方体网格进行编号,坐标轴上以小正方体的一个边长距离为单位进行标记;
3.5)记录并存储每个三角面片所占据的空间网格,选取占据有相同空间网格的三角面片进行相交判断,当检测到相交三角面片对时,停止并且记录此相交三角面片对;反之,则工件与刀具扫掠体不相交。
4.如权利要求1所述的数控加工几何仿真中基于STL模型的交线环求取算法,其特征在于:所述步骤3)中,三角面片对是否相交的判断方法如下:
3.1)提取拟进行相交判断的两个三角面片T1和T2,设三角面片T1的3个顶点分别为A1、B1和C1,法向量为三角面片T2的3个顶点分别为A2、B2和C2,法向量为设三角面片T1所在平面为π1,三角面片T2所在平面为π2;
3.2)分别计算和如果计算结果中三者为同号且不同时为零,则三角面片T1和T2不相交,则结束判断;
3.3)如果计算结果为1,且则表示三角面片T1和T2在一个平面,则转化为平面三角面片相交判断问题;
3.4)如计算结果不为1,三角面片T1和T2异面,分别判断线段A1B1、B1C1、C1A1和三角面片T2是否相交、线段A2B2、B2C2、C2A2和三角面片T1是否相交,如果以上判断结果均为否,则三角面片T1和T2不相交;反之,则三角面片T1和T2相交,记录参与相交的边,结束判断。
5.如权利要求4所述的数控加工几何仿真中基于STL模型的交线环求取算法,其特征在于:所述步骤3.3)中,平面三角面片相交判断方法如下:
3.3.1)分别判断三个顶点A1、B1和C1是否在三角面片T2内、三个顶点A2、B2和C2是否在三角面片T1内,如果以上判断结果有一个为真,则三角面片T1和T2相交;如果以上判断结果均为否,进入下一步;
3.3.2)判断三角面片T2的三顶点是否在三角面片T1每条边A1B1、B1C1、C1A1异侧,三角面片T1的三顶点是否在三角面片T2每条边A2B2、B2C2、C2A2异侧;如果都满足,则三角面片T1、T2相交,否则不相交。
6.如权利要求5所述的数控加工几何仿真中基于STL模型的交线环求取算法,其特征在于:所述步骤3.3.1)中,判断三个顶点A1、B1和C1是否在三角面片T2内、三个顶点A2、B2和C2是否在三角面片T1内的算法如下:各顶点判断方法相同,根据STL格式三角面片顶点沿指向实体外部法向方向逆时针排列,以三角面片T2的顶点A2为例,判断其是否在三角面片T1内,分别计算 和若三个结果均为非正,点A2在三角面片T1内,否则不在;
如果不知道三角面片顶点排列顺序,需计算 和若三个结果均为非负,则点A2在三角面片T1内,否则不在。
7.如权利要求4所述的数控加工几何仿真中基于STL模型的交线环求取算法,其特征在于:所述步骤3.4)中,判断异面三角面片中边是否与对方三角面片相交的算法如下:以三角面片T2的边A2B2为例,判断其是否与三角面片T1相交;
计算和当两式结果都为零时,则线段A2B2与三角面片T1共面;否则线段A2B2与三角面片T1异面:
①线段A2B2与三角面片T1异面:首先计算如结果为正,则线段A2B2在平面π1同侧,线段A2B2不与三角面片T1相交;否则点A2和点B2至少有一点不在平面π1上且点A2、B2在平面π1异侧;假设点A2不在平面π1上,分别计算和如果三个结果中存在一个结果小于0,则线段A2B2与三角面片T1不相交;如果三个结果均为非负,则线段A2B2与三角面片T1相交;
②线段A2B2与三角面片T1共面:分别判断点A2、B2是否在三角面片T1内,若至少存在一点在三角面片T1内,则线段A2B2与T1相交;若点A2、B2都不在三角面片T1内,只有两种情况:线段A2B2与三角面片T1不相交、线段A2B2与三角面片T1相交;此时如果相交,只能是线段A2B2横穿三角面片T1,当点A2、B2都不在三角面片T1内,认定为不相交或不作处理。
8.如权利要求1所述的数控加工几何仿真中基于STL模型的交线环求取算法,其特征在于:所述步骤4)中,交线环的具体求取过程如下:
4.1)由找到的一组三角面片对T1、T2,设三角面片T1来自工件,三角面片T2来自刀具扫掠体,由所记录的相交边或顶点信息快速求出两个交点,即为相交三角面片对T1、T2交线的端点,记求出的首段交线为I1I2;
4.2)由已知交线I1I2,求其相邻交线;
4.3)依次求出剩余的交线,直到求得的交线端点与首段交线端点I1重合为止,最终得到交线环。
9.如权利要求8所述的数控加工几何仿真中基于STL模型的交线环求取算法,其特征在于:所述步骤4.2)中,相邻交线具体求取过程为:
4.2.1)以为方向求下一段交线,则I2为两交线段的公共端点,根据其与三角面片对T1、T2的关系求下段交线所在三角面片对;
4.2.2)求交线另一端点:由已求出的相交三角面片对T3、T4,根据三角面片T3的法向量三角面片T4的法向量得到三角面片T3、T4交线所在直线方向向量从而求出交线所在直线L,算出直线L与三角面片T3、T4各边的交点,其中仅有一个满足在三角面片T3或者三角面片T4内部,此点即为交线的另一端点记为I3,求得第二段交线I2I3,同时记录端点I3与三角面片T3、T4的关系为求下一段交线作准备。
10.如权利要求1所述的数控加工几何仿真中基于STL模型的交线环求取算法,其特征在于:所述步骤6)中,三角面片进行分类具体过程为:
6.1)设三角面片T1、T2是分别来自工件及刀具扫掠体上的相交三角面片对,I1I2为交线,重构后三角面片T1、T2被划分为若干新三角面片;
6.2)对三角面片T1上以交线I1I2为边的新三角面片进行判断,在三角面片T2法向量一侧的属于保留面,负方向一侧的属于去除面;对三角面片T2上与交线I1I2为边的新三角面片进行判断,在三角面片T1法向量一侧的属于不参与加工面,负方向一侧的属于参与加工面;
6.3)完成工件及刀具扫掠体上所有以交线为边的新三角面片进行归属分类;
6.4)其余三角面片判定方法为:根据相邻三角面片共边的关系,由已分类的三角面片开始向未分类的三角面片遍历;在工件表面,与属于保留面三角面片相邻的仍然是属于保留面,与属于去除面三角面片相邻的仍然是属于去除面;在刀具扫掠体表面,与属于参与加工表面相邻的依然属于参与加工表面,与非参与加工表面相邻的依然属于非参与加工面。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611030732.0A CN107037738B (zh) | 2016-11-16 | 2016-11-16 | 数控加工几何仿真中基于stl模型的材料去除方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611030732.0A CN107037738B (zh) | 2016-11-16 | 2016-11-16 | 数控加工几何仿真中基于stl模型的材料去除方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107037738A true CN107037738A (zh) | 2017-08-11 |
CN107037738B CN107037738B (zh) | 2019-09-27 |
Family
ID=59530936
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611030732.0A Active CN107037738B (zh) | 2016-11-16 | 2016-11-16 | 数控加工几何仿真中基于stl模型的材料去除方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107037738B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595829A (zh) * | 2018-04-20 | 2018-09-28 | 武汉工程大学 | 基于弓形柱体增长模型的五轴增材仿真方法 |
CN110262389A (zh) * | 2019-07-02 | 2019-09-20 | 广东三维家信息科技有限公司 | 模拟门型加工过程的方法及装置 |
CN112613150A (zh) * | 2020-12-31 | 2021-04-06 | 华中科技大学 | 一种切削几何体的图像表达方法 |
CN113343546A (zh) * | 2021-08-06 | 2021-09-03 | 北京航空航天大学 | 一种基于vbo的切削加工过程高效几何仿真方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030112235A1 (en) * | 2001-12-19 | 2003-06-19 | Earth Science Associates, Inc. | Method and system for creating irregular three-dimensional polygonal volume models in a three-dimensional geographic information system |
CN101510225A (zh) * | 2009-03-26 | 2009-08-19 | 山东理工大学 | 产品stl模型布尔运算方法 |
CN102354149A (zh) * | 2011-09-07 | 2012-02-15 | 上海大学 | 一种基于stl格式模型编程生成的刀位文件的后置处理方法 |
CN102508973A (zh) * | 2011-11-10 | 2012-06-20 | 山东理工大学 | 产品stl模型快速求交方法 |
CN103838907A (zh) * | 2013-09-13 | 2014-06-04 | 上海大学 | 基于stl模型的曲面切割轨迹获得方法 |
CN104392030A (zh) * | 2014-11-12 | 2015-03-04 | 常州工学院 | 一种基于stl三维模型的曲面加工方法 |
-
2016
- 2016-11-16 CN CN201611030732.0A patent/CN107037738B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030112235A1 (en) * | 2001-12-19 | 2003-06-19 | Earth Science Associates, Inc. | Method and system for creating irregular three-dimensional polygonal volume models in a three-dimensional geographic information system |
CN101510225A (zh) * | 2009-03-26 | 2009-08-19 | 山东理工大学 | 产品stl模型布尔运算方法 |
CN102354149A (zh) * | 2011-09-07 | 2012-02-15 | 上海大学 | 一种基于stl格式模型编程生成的刀位文件的后置处理方法 |
CN102508973A (zh) * | 2011-11-10 | 2012-06-20 | 山东理工大学 | 产品stl模型快速求交方法 |
CN103838907A (zh) * | 2013-09-13 | 2014-06-04 | 上海大学 | 基于stl模型的曲面切割轨迹获得方法 |
CN104392030A (zh) * | 2014-11-12 | 2015-03-04 | 常州工学院 | 一种基于stl三维模型的曲面加工方法 |
Non-Patent Citations (3)
Title |
---|
LIWEN GUAN 等: "Virtual Machining Accuracy Verification by Triangular Patch Comparison", 《INTERNATIONAL CONFERENCE ON MANUFACTURING SCIENCE AND ENGINEERING (ICMSE 2015)》 * |
周敬东 等: "基于STL模型的铣削加工仿真算法", 《机床与液压》 * |
陈洁 等: "基于STL实体模型离散化的数控加工仿真研究", 《井冈山大学学报(自然科学版)》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108595829A (zh) * | 2018-04-20 | 2018-09-28 | 武汉工程大学 | 基于弓形柱体增长模型的五轴增材仿真方法 |
CN110262389A (zh) * | 2019-07-02 | 2019-09-20 | 广东三维家信息科技有限公司 | 模拟门型加工过程的方法及装置 |
CN110262389B (zh) * | 2019-07-02 | 2020-10-13 | 广东三维家信息科技有限公司 | 模拟门型加工过程的方法及装置 |
CN112613150A (zh) * | 2020-12-31 | 2021-04-06 | 华中科技大学 | 一种切削几何体的图像表达方法 |
CN112613150B (zh) * | 2020-12-31 | 2023-12-26 | 华中科技大学 | 一种切削几何体的图像表达方法 |
CN113343546A (zh) * | 2021-08-06 | 2021-09-03 | 北京航空航天大学 | 一种基于vbo的切削加工过程高效几何仿真方法 |
CN113343546B (zh) * | 2021-08-06 | 2021-11-16 | 北京航空航天大学 | 一种基于vbo的切削加工过程高效几何仿真方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107037738B (zh) | 2019-09-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110489778B (zh) | 面向激光刻蚀加工的图形分割方法、激光刻蚀控制系统 | |
CN111035115B (zh) | 一种基于3d视觉鞋底涂胶路径规划方法和装置 | |
CN107037738B (zh) | 数控加工几何仿真中基于stl模型的材料去除方法 | |
CN104331023A (zh) | 一种用于五轴数控加工的等残留高度刀触点轨迹的生成及优化处理方法 | |
CN107679333A (zh) | 一种二维拓扑优化结果几何重构的方法 | |
CN112508895A (zh) | 一种基于曲面配准的螺旋桨叶片质量评估方法 | |
CN103049622A (zh) | 基于空间编码投影的逆向工程加工系统与方法 | |
CN101853525A (zh) | 基于网格分割的带纹理模型细节保持简化方法 | |
Dhanda et al. | Adaptive tool path planning strategy for freeform surface machining using point cloud | |
CN110773738A (zh) | 基于多边形几何特征识别的激光扫描路径分区域规划方法 | |
CN103810313A (zh) | 一种stl模型到空间分割模型的转换方法 | |
CN112613150A (zh) | 一种切削几何体的图像表达方法 | |
CN110288706B (zh) | 一种小曲率不规则点云曲面的拟合方法 | |
CN106446472B (zh) | 数控加工几何仿真中基于stl模型的交线环求取方法 | |
CN105785919B (zh) | 点云五轴无全局干涉刀轴矢量可行域计算方法 | |
CN104392030B (zh) | 一种基于stl三维模型的曲面加工方法 | |
CN114290660A (zh) | 曲面分层式3d打印方法及系统 | |
CN104036096B (zh) | 斜面上凸起特征映射为制造特征体积的映射方法 | |
CN115366568B (zh) | 一种自适应橄榄核随形雕刻方法与系统 | |
CN105955191A (zh) | 一种基于图像特征数据进行路径规划的方法 | |
CN108986212A (zh) | 一种基于裂缝消除的三维虚拟地形lod模型的生成方法 | |
JPH07195253A (ja) | 加工用camシステムの処理方法 | |
CN104345686B (zh) | 二维双向dexel毛坯建模方法及其加工仿真方法 | |
CN106325211B (zh) | 一种基于stl模型交线环的材料去除算法 | |
Nie | Efficient cutter-workpiece engagement determination in multi-axis milling by voxel modeling |
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 |