刘瀚仁,周雄辉
(上海交通大学 模具CAD国家工程研究中心,上海 200030)
在航空、汽车和消费电子领域中,广泛运用注塑模生产产品。近些年,这些产品尺寸越来越小、结构越来越复杂,生产产品的模具也相应变得结构精细。模具上很多局部特征形状复杂多变,使得用传统切削加工的方式难以加工。因此,电火花加工(EDM)被越来越频繁地使用在注塑模的加工中。使用EDM加工模具前,需要设计用于EDM的电极。例如,加工一个手机后壳的模具需要100多个电极[1],而设计这些电极是一个容易出错且费时的过程。模具上需要EDM的区域众多,依靠人工经验识别EDM区域很容易出现电极设计遗漏。另外,还需要根据EDM区域的具体范围确定电极的形状和尺寸。通过人工在CAD软件上进行交互操作测量EDM区域大小十分耗时,导致电极设计效率低下。因此,对于模具EDM区域自动识别算法的研究十分必要。
刘卿[2]提出一种基于数控仿真的电火花加工区域识别方法,将数控(NC)加工仿真后的模型与理想工件模型进行布尔减操作,未被数控加工掉的区域,即为电火花加工区域。但该方法需要进行数控仿真模拟,速度过慢。Yamazaki等[3]通过偏置加工区域的曲面进行电火花加工区域识别。但是针对曲面的操作计算量极大,十分耗时。Choi等[4]通过用等距平行截面截取模具模型并偏置截面线的方法获得刀轨路径,认为若偏置曲线相交则截面线上存在电火花加工区域。但该方法只能用于平头刀的加工情况,并没有考虑其他刀具的加工情况,所得到的电火花加工区域大于真实的电火花加工区域,而且也没有针对截面线上电火花加工区域的具体大小提出有效的检测方法。Li等[5]提出了截面线上电火花加工区域的检测方法,但该方法对每层截面线进行无差别的识别,速度较慢。Ding等[6]提出了一种计算曲面共有边方位角的方法,当曲面共有边方位角处于某一范围时认定该区域为尖锐区域,需要电极加工,但是该方法没有考虑模具上除尖锐区域以外其他需要电极加工的区域。He等[7]提出了一种判断窄深特征的方法,利用特征识别技术定义了窄深区域几何特征,以窄深区域中的任一面为线索,通过几何推理向外进行区域拓展,从而获得完整的窄深区域,并判断该区域是否需要采用EDM,但该算法不能识别出除窄深区域以外的电火花加工区域。
目前已有的电火花加工区域自动识别算法存在着识别结果不完整和识别速度较慢的问题。本文作者基于模具数控加工原理,提出模拟用平头刀和球头刀对模具进行分层切削的加工过程,通过检测刀路与模具理论轮廓发生干涉的区域,获得电火花加工区域的识别方法。并根据截面线上的电火花加工区域准确表征模具上电火花加工区域的大小,以便直接生成电极CAD模型。
通常情况下,一副模具先用刀具进行切削加工,刀具加工不到的地方再通过EDM加工。事实上,如果一个区域既不能被(某一最小直径的)平头刀加工也不能被球头刀加工,则该区域就难以被任何刀具加工,即为电火花加工区域。因此,分析电火花加工区域时只用考虑平头刀和球头刀加工时的情况[8]。
借鉴模具分层铣削加工的思路,用一系列平行的平面去截取模具的三维模型。先模拟平头刀加工过程,识别每一层截面线上的平头刀加工不到的部分(称为平头刀不可加工线),从而得到整个模具上平头刀加工不到的区域(称为平头刀不可加工区域)。再模拟球头刀加工过程,排除平头刀不可加工区域中球头刀可以加工的区域,剩余部分即为电火花加工区域。在平头刀不可加工区域识别过程中,分层数量对该方法的识别结果有重要影响。分层数量越多,识别精度越高,但耗时越长。实际上,由于模具存在拔模斜度,任意面上的平头刀不可加工区域仅识别其最上层和最下层截面线就可以进行表征。本方法在准确识别截面线上的平头刀不可加工区域大小前,基于Hausdorff距离对不同截面线所处区域进行评估,可以快速、准确地找出平头刀不可加工区域的中间层截面线,从而减少识别对象,提高算法速度。图1是电火花加工区域自动识别算法流程,下面分解阐述算法实现的关键步骤与技术。
图1 电火花加工区域自动识别算法流程
通过识别平头刀不可加工区域中最上层和最下层的平头刀不可加工线来表征平头刀不可加工区域的范围。在识别前要对已有截面线进行筛选,但筛选依据来源于平头刀不可加工线的识别方法。因此,先介绍平头刀不可加工线的识别方法。
如图2所示,先对模具进行等距分层。根据实际经验,截面距离通常取0.5~1.0倍的最小刀具半径比较合适。加工某一层截面轮廓线时,平头刀的扫掠区域为P区域。如图3(a)所示,P区域包含4条曲线:被加工轮廓线,被加工截面轮。廓线偏置一个刀具直径距离得到的偏置线,以及两个半圆弧。若某一条截面轮廓线的P区域与其他截面轮廓线相交,说明刀具加工该轮廓线时会与模具理论轮廓发生干涉,则被加工轮廓线上存在平头刀不可加工区域,这些相交轮廓线被称为干涉线,如图3(b)所示。
(a) 等距分层
(a) P区域
为了得到被加工轮廓线C上平头刀不可加工区域的准确范围,需要根据轮廓线的I区域进行判断。如图4(a)所示,I区域由4条曲线构成:被加工轮廓线向两边偏置刀具半径的距离得到的两条偏置线,以及两个半圆弧。被加工截面轮廓线的I区域与干涉线的I区域的交点到两条线的距离都等于刀具半径。则交点是刀具在加工过程中与干涉线发生干涉的临界点,也是刀具可到达区域和不可到达区域的分界点。但是只有在被加工截面轮廓线向型腔内部的偏置线(也是平头刀底部中心运动轨迹线)上的交点是有意义的。因为,刀具并不会到达I区域轮廓上的其他位置。如图4(b)所示,将I区域的交点反向偏置回C后把C分为多段,显然红色区域是C上的平头刀不可加工区域。
(a) I区域
若对每条截面轮廓线进行识别,可以准确地识别出用平头刀加工模具零件的干涉区域。并用平头刀不可加工线表征平头刀不可加工区域。如图5所示,该工件上共有A、B、C、D4个平头刀不可加工区域。
图5 平头刀不可加工区域
上述方法的识别精度与分层间距直接相关,分层间距越小,分层越多,识别精度越高。但是识别过程中的I区域构建涉及到偏置曲线等几何操作,比较耗时。如果对每一条截面轮廓线都进行识别,识别耗时将随着分层变多而剧增。因此,要在可以表征平头刀不可加工区域的前提下,尽可能减少被识别截面轮廓线的数量。
如图6(b)所示,每个平头刀不可加工区域中包含了很多层相似的平头刀不可加工线。要通过一定的方法将其简化,避免相似平头刀不可加工线的重复表达。由于模具具有拔模斜度,所以模具内腔不会出现凸包或者内陷。因此,同一个平头刀不可加工区域中的平头刀不可加工线不会出现中间层长上下层短的情况。此时,一个平头刀不可加工区域只用最上层和最下层的平头刀不可加工线就可以表征,对中间层的截面线无需进行识别,如图6(c)所示。
(a) 截面线
通过观察可以发现,同一个平头刀不可加工区域中所有平头刀不可加工线所属的被加工截面轮廓线所在面和对应的干涉线所在面相同。如图6(a)和(b)所示:A,B,C,D是平头刀不可加工区域。区域A中的平头刀不可加工线所属的截面轮廓线都在面1上,所有干涉线(未画出)都属于面2。区域B中的平头刀不可加工线所属的截面轮廓线都在面2上,所有干涉线都属于面1。区域C中平头刀不可加工线所属的截面轮廓线都在面2上,干涉线都属于面3。
平头刀不可加工线是由被加工截面轮廓线和干涉线的I区域所得,仅与被加工截面轮廓线本身、干涉线以及刀具半径有关。当刀具半径确定时,可以通过被加工截面轮廓线和干涉线确定一条平头刀不可加工线。因此,当两条截面轮廓线和其对应的干涉线所处的面都完全相同时,可以反推出这两条截面轮廓线上的平头刀不可加工线处于同一平头刀不可加工区域,即这两条轮廓线上的不可加工区域是同一区域。
Hausdorff距离用于计算两个点集之间的最大-最小距离,主要度量其相似程度。若存在两个集合A={a1,a2, …,ap}和B={b1,b2, …,bq},定义它们之间的Hausdorff距离为:
Hausdorff距离是h(A,B)和h(B,A)的最大值,表征两点集之间的不匹配程度。
Hausdorff距离越小,两点集的匹配程度越大。若Hausdorff距离为0,两点集完全相同。
由3.2可知,当两条截面轮廓线和其对应的干涉线所处的面都完全相同时,这两条轮廓线上的平头刀不可加工区域是同一区域。则可以用特定的点集表示轮廓线上的平头刀不可加工区域,通过Hausdorff距离判断不同点集间的相似程度。若两点集完全相同,则两条轮廓线上的平头刀不可加工区域是同一区域。具体方法如下:
给模具上每一个面设置一个独一无二的正整数标识。使用截面轮廓线和干涉线所在面定义该截面轮廓线上的平头刀不可加工线所在的平头刀不可加工区域,则得到了一个表征平头刀不可加工区域的点集Q{q1,q2, …,qk}。q1是截面线所在面的标识,q2, …,qk是干涉线所在面的标识,k-1等于干涉线的数量。若k-1=0,说明该截面轮廓线没有干涉线,即截面轮廓线上没有平头刀不可加工区域,可以不用识别。若两点集的Hausdorff距离为0,即当k-1>0且H(Q1,Q2)=0时,两条轮廓线上的平头刀不可加工区域是同一区域。
利于该方法可以判断两条截面轮廓线上的平头刀不可加工区域是否为同一区域。如果一条截面轮廓线在上一层和下一层中都找到了与其处在同一平头刀不可加工区域的截面线,则该截面轮廓线位于平头刀不可加工区域的中间层,可以不识别。图7(a)展示了判断平头刀不可加工区域中间层截面线的过程。层1是层2的上一层,层3是层2的下一层,每一层的截面线上都标注了其所在面的标识。表征截面轮廓线1和截面轮廓线2所在区域的点集为P1{9, 4}和P2{9, 4}。P1和P2的Hausdorff距离为0,则两条截面轮廓线上的平头刀不可加工区域是同一区域。同理,截面轮廓线3也与截面轮廓线2位于同一平头刀不可加工区域,则截面轮廓线2属于中层截面线,不用识别。图7(b)展示了图7(a)中需要识别的截面线,经过筛选,需要识别的截面线大幅度减少。
(a) 截面线及所在面标识
对于被球头刀加工的任意一点,沿着该点的法向方向偏置刀具半径的距离,可以得到加工该点时的球头刀底部球心位置。球心到球表面任意位置的距离都等于球的半径,则当球心到模具上其他位置的距离都大于刀具半径时,刀具不与模具发生干涉,被加工点可以被球头刀加工。反之,该点不能被球头刀加工。
根据以上原理可以排除平头刀不可加工区域中的球头刀可加工区域。具体方法为:在每一个平头刀不可加工区域中等距采样(根据实践经验,采样距离小于刀具半径的十分之一即可),判断采样点是否可以被球头刀加工。若一个平头刀不可加工区域中的所有采样点都可以被球头刀加工,则该区域可以被球头刀加工。反之,该区域不能被球头刀加工。
图8给出了图5中的工件通过该方法排除球头刀可加工区域后的结果,A区域可以被球头刀加工,则A区域上的平头刀不可加工线被清除,剩余的B、C、D就是电火花加工区域。剩余表示电火花加工区域的截面线被称为不可加工线。
图8 电火花加工区域
将本文提出的电火花加工区域自动识别算法用于工程实例。图9展示了电火花加工区域识别结果,模具上的66处电火花加工区域被完全识别,并用红色的不可加工线表征了电火花加工区域的大小,约用时50 s。图9(a)展示了该案例上的凹边过渡角落,本算法通过不可加工线准确地表征了凹边相邻面上的电火花加工区域大小,可以根据不可加工线的长度确定电极头尺寸,避免了繁杂的尺寸测量操作。对于模具型腔中的窄槽结构,本文所提出的算法也能良好识别。图9(b)展示了案例上的窄槽结构,根据识别结果,该窄槽中的所有区域都需要电火花加工,符合实际情况。
综上所述,本文所提出的电火花加工区域识别算法识别速度较快,可以精准地识别出模具上的电火花加工区域,并且识别过程中产生的不可加工线可以准确地表征电火花加工区域大小,方便后续电极设计。图10为电极设计结果,根据不可加工线可以得到形状和尺寸合适的电极模型。
图10 电极设计结果
本文研究了模具电火花加工区域自动识别算法,提出了平头刀不可加工区域和球头刀可加工区域识别方法,并通过排除平头刀不可加工区域中的球头刀可加工区域,获取电火花加工区域。提出了基于Hausdorff距离的平头刀不可加工区域中间层截面线筛选方法,过滤掉平头刀不可加工区域中间层截面线,减少了识别对象,提高了识别速度。利用不可加工线准确地表征电火花加工区域范围,可以实现自动电极设计。