线切割自动编程中刀补方向的确定方法
2013-08-16莫秀波张秋菊
莫秀波,张秋菊
(江南大学机械工程学院,江苏无锡 214122)
随着电火花线切割机床的广泛应用,线切割自动编程系统的作用越来越重要。线切割自动编程系统的主要功能之一就是生成线切割的刀补轨迹。生成刀补轨迹时需要确定工件的轮廓轨迹、穿丝点、切入点、切割方向、刀补方向(左刀补或右刀补)[1-2]等。现有的线切割自动编程系统中刀补方向[3]往往由人工辅助确定,在实际加工中由于不能准确判断刀补方向而导致工件报废的情况时有发生。因此在设计开发线切割自动编程系统时,迫切需要一种有效、可靠、便捷的判断刀补方向的方法。
本文在研究开发线切割自动编程系统的过程中,采用了一种自动判定刀补方向的方法:首先根据穿丝点射线法判定凹、凸模加工,然后用轮廓轨迹多边形两相邻边向量的叉积来判定切割方向,最后再根据凹、凸模加工和切割方向确定刀补方向。
1 判断凹、凸模加工
1.1 线切割凹、凸模加工的概念
凹、凸模加工是线切割加工中的通俗术语。所谓凹模加工,是指穿丝点在封闭的工件轮廓图形内部,而穿丝点在封闭的工件轮廓图形外部则表示凸模加工。
凹、凸模加工是针对封闭轨迹而言,本文中提到的轨迹都是封闭的。穿丝点和工件轮廓轨迹的位置关系有3种情况(如图1所示)。
图1 穿丝点与轮廓轨迹的位置关系
穿丝点A在轮廓轨迹外部,表示凸模加工。穿丝点B在轮廓轨迹内部,表示凹模加工。穿丝点C在轮廓轨迹上进行切割加工时会造成过切,所以这种情况不作考虑。判断穿丝点在轮廓轨迹的内部或外部有多种方法,本文采用的是简单快速的方法——穿丝点射线法。
1.2 穿丝点射线法的原理
以穿丝点为起点,向任一方向作射线,求出射线与轮廓轨迹的交点数n,如果n为奇数,表示穿丝点在轮廓轨迹内部,如果n为偶数,表示穿丝点在轮廓轨迹外部[4-5]。
由于工件轮廓轨迹中会存在圆弧和其他曲线,在判断圆弧和其他曲线与射线是否有交点时会非常复杂,甚至无法判断是否有交点。而通过用直线拟合圆弧和其他曲线,来判断直线段与射线是否有交点就变得简单得多。本文中通过用直线拟合圆弧和其他曲线后求得的与射线的交点数可以有效判断穿丝点在图形的内部或外部。
1.3 判断凹、凸模加工的具体步骤
如图2所示,多边形P'=为工件轮廓原轨迹,点D'为穿丝点。根据多边形P'和点D'来判断凹、凸模加工的步骤如下。
图2 原轨迹与平移后的轨迹
步骤一:以穿丝点为起点,作与X轴平行且方向和X轴正方向相同的射线。将穿丝点、射线和轮廓轨迹作整体平移,使穿丝点与原点重合,射线与X轴正半轴共线,得到新的多边形P =P0P1P2P3P4,T为平移向量,如图2所示。由于穿丝点不在工件轮廓轨迹上,所以轮廓轨迹不经过原点。穿丝点D'的坐标为(x,y),则平移向量T=(-x,-y)。
步骤二:如果步骤一中得到新的图形是由直线段组成的多边形,则跳转到步骤三。如果图形中存在圆弧或其他曲线,通过用直线拟合圆弧或其他曲线得到新的多边形。由于仅用于判断凹、凸模加工,因此拟合没有精度要求。
步骤三:设由步骤一、二得到的新的多边形为P=P0P1P2…Pn,来判断多边形P的各个边与X轴正半轴是否有交点,然后求出P与X轴正半轴的交点数n。开始判断时令n=0。判断边与X轴正半轴有交点的方法如下。
设边的起点、终点为 (x1,y1)、(x2,y2):
a.当x1>0,x2>0,y1×y2<0,如图2中的线段P1P2,交点数n加上1。
b.当x1×x2≤0,y1×y2< 0,如图2中的线段P4P0,首先求斜率k=(y2-y1)/(x2-x1),将y=0代入直线方程(y2-y1)/(x2-x1)=(y-y1)/(x-x1),得到x=x1-y1/k,如果x>0,交点数n加上1。
步骤四:判断n的奇偶,奇表示点在轨迹轮廓图形内部,偶表示点在轨迹轮廓图形外部。
1.4 两种特殊情况的处理
在应用穿丝点射线法时必须对以下两种特殊情况作处理:一是当射线经过多边形的端点时,交点数如何计数;二是射线与多边形的边共线时,交点数如何计数。
a.当射线经过多边形的端点。
在前面步骤三中的多边形P中有端点在X轴上,如图3中的点P2,线段P1P2、P2P3为多边形的边,判断交点会有以下两种情况:
(1)如果边P1P2、P2P3都在X轴的同一侧,如图3(a)所示。
当 x2>0,y2=0,y1×y3> 0,交点数n加上2。
(2)如果边P1P2、P2P3分别在X轴的两侧,如图3(b)所示。
当 x2>0,y2=0,y1×y3< 0,交点数n加上1。
图3 多边形的端点在X轴上
b.当射线与多边形的边共线。
在前面步骤三中的多边形P中有边与X轴共线,如图4 中的线段 P2P3,线段 P1P2、P2P3、P3P4为多边形的边,判断交点会有以下两种情况:
(1)如果边P1P2、P3P4都在X轴的同一侧,如图4(a)所示。
当 x2> 0,x3> 0,y2=0,y3=0,y1× y4> 0,交点数n加上2。
(2)如果边P1P2、P3P4分别在X轴的两侧,如图4(b)所示。
当 x2> 0,x3> 0,y2=0,y3=0,y1× y4< 0,交点数n加上1。
图4 多边形的边与X轴共线
2 判断切割方向
在计算机图形学中规定多边形沿逆时针方向时方向为正,沿顺时针方向时方向为负,凸多边形的方向可以由任意两相邻边向量的叉积确定[6]。
判断切割方向的具体步骤如下。
步骤一:如果图形是由直线段组成的多边形,则跳转到步骤二。如果图形中存在圆弧或其他曲线,通过用直线拟合圆弧或其他曲线得到新的多边形。由于仅用于判断切割方向,因此拟合没有精度要求。
步骤二:设由上面步骤一得到的多边形为P=P0P1P2…Pn,然后遍历多边形P各个边,求出P在X,Y 方向上最大、最小值的点 Pi,Pj,Pk,Pl。
步骤三:将点 Pi,Pj,Pk,Pl按下标从小到大的顺序排序,下标相同的点只保留1点。根据保留下来的点取出3点,如果全部点保留,如图5(a)所示,则取出 Pi,Pj,Pk3点。如果保留 3点,如图 5(b)所示,则取出全部保留的点。如果保留2点,如图5(c)所示的点Pi,Pj,取出Pi点和与之相邻的2 个端点 Pi-1,Pi+1。
步骤四:假设上面步骤三中得到的3点是Pi,Pj,Pk,下标为从小到大的顺序,用直线连接 Pi,Pj,Pk3点,可得到三角形P'=PiPjPk,如图5(a)所示。根据拓扑学的知识可知,三角形P'与多边形P的方向是一致的。
步骤五:定义向量Z=(0,0,1),利用步骤四中得到的3 点,如图5(a)中的 Pi,Pj,Pk3 点,得到向量 PiPj和 PjPk,如果(PiPj×PjPk)·Z >0,则多边形P的方向为正,即逆时针,如果(PiPj×PjPk)·Z <0,则多边形P的方向为负,即顺时针。
图5 判断多边形方向
3 判断刀补方向
根据加工的是凹模加工还是凸模加工和切割方向可以判断刀补的方向是左刀补或是右刀补。
凹模加工:切割方向为顺时针,刀补为右刀补;切割方向为逆时针,刀补为左刀补。
凸模加工:切割方向为顺时针,刀补为左刀补;切割方向为逆时针,刀补为右刀补。
应用实例:在生成凹、凸模加工刀补轨迹时,根据上面判断刀补方向的方法来判断刀补方向。在图6中,实线表示轮廓轨迹,穿丝点在轮廓轨迹内部。虚线表示穿丝点到轮廓轨迹起点的示意引线,箭头的方向表示切割方向,箭头在正6边形内部表示凹模加工。图6(a)所示切割方向为顺时针,刀补为右刀补。图6(b)所示切割方向为逆时针,刀补为左刀补。
图6 判断刀补方向
4 结束语
本文提出的方法可以有效地判断出刀补方向,在实际的自动编程系统中已经实现这样的功能。对于用户来说,使用具有自动判断刀补方向的自动编程系统,既能提高工作效率,又能降低出错率。但该方法只用于判断封闭的轨迹的刀补方向,不能判断非封闭轨迹的刀补方向,对于非封闭轨迹需要采用另外的方法来判断刀补方向。
[1] 王爱玲,张吉堂,吴雁.现代数控原理及控制系统[M].2版.北京:国防工业出版社,2005:138-166.
[2] 高林,王田苗,魏洪兴.C型刀补中在补偿模式下改变刀补方向的方法研究[J].机床与液压,2004(11):63-64.
[3] 王旭亮,谢清华,谷安.数控线切割机床刀补功能的研究与应用[J].机电工程技术,2005,34(9):67-69.
[4] 王红娟.判断点在任意简单多边形内的改进算法[J].福建电脑,2006(9):155-156.
[5] 刘润涛,刘玉珍.点在多边形内测试的新算法[J].工程图学学报,2008(2):89-93.
[6] 李维诗,李江雄,柯映林.平面多边形方向及内外点判断的新方法[J].计算机辅助设计与图形学学报,2006,12(6):405-407.