电火花线切割如何切割汉字
时间:2011-11-03 阅读:4474
电火花线切割如何切割汉字
因为我们只需标识字形的边界轮廓,因此将其转化为二值图象即可。将字形轮廓转化为二值图象,也就是将其转化为一个用矩阵表示的象素点图象,矩阵中的每一位都是二进制数,当该位为1时表示字符的笔划经过此位,该位为0时表示字符的笔划不经过此位。因为只要分辨出某点为0还是1,因此每个点只要用一位二进制数表示即可,这样1个字节就可以表示8个象素点,但为方便叙述本文采用以1个字节表示1个点来进行说明。
要将字形轮廓转化为二值图象,首先根据需要(如字体、尺寸大小、纵横比、是否旋转、变形等)在屏幕上绘制出所要切割字符的字形轮廓;然后对图形进行扫描,将有笔划通过的点(对应于与字符颜色相同象素的位)的值置为1,而其它的点则置为0,扫描完毕后便将字形轮廓转化为二值图象了。
生成二值图象后还需对图象进行适当的修改,以满足线切割加工的需要。对图象进行编辑处理,可用一个小方块代替一个放大了的象素,通过建立网格编辑区,每一网格小方块都是一个放大了的象素,这样可对每个象素进行编辑处理,控制鼠标在相应的网格眼内填入字符或背景颜色,同时填入字符颜色所对应的位置为1,填入背景颜色所对应的位置为0
4 切割指令的生成 M1mx
将汉字的字形轮廓转化为二值图象且编辑处理后,为生成切割指令须用直线或圆弧对其进行描述,由于汉字字形较适合用直线来对其进行描述,因此采用直线段来实现对汉字字形的描述。
由于线切割机床所能切割的图形具有一定的特殊性(即需能以一笔画完),因此只需采用某种算法对图进行一次遍历便可得到加工轨迹。
要对图象进行遍历,首先需确定搜索策略。由于能被切割的图形具有特殊性,采用改进了的深度优先搜索方法来对图象进行遍历。主要思想为:先确定图象的起始点,然后沿逆时针方向在该点周围寻找下一点,找到后沿着这两点确定的方向继续搜索,直至将该方向上的点搜索完毕,然后回溯,以回溯得到的点为基础重复以上搜索,直至所有点都被搜索过,在搜索过程中将经过的点的值从1置为0,同时记录所经过的直线。
其中StartPoint, EndPoint分别为直线的起点和终点。
图象采用二维数组进行表示,首先按照行、列从小到大的顺序找到图象的起始点,然后再采用逆时针方向来搜索下一点。搜索方向的定义为:
SearchDirection:array[0..7,0..1] of interger=((1,0),(1,-1),(0,-1),(-1,-1),(-1,0),(-1,1),(0,1),(1,1)
遍历算法如下:
(1)扫描图象寻找起始点,将其坐标记为(k,1);用FirstPointX、FirstPointY记录*点横、纵坐标的值
(2)初始化记录直线的指针,建立记录直线的链表;将起始点的k,1值作为直线起点和终点的横、纵坐标,将该直线加入到直线纪录的链表中去
(3)以*点为基准点沿逆时针方向寻找下一点,如果搜索到值为1的点则记搜索方向为i,该点的横、纵坐标记为(k,1),将记录直线的终点横、纵坐标设置为k,1
(4)置是否搜索完毕标志SearchCompleted为False
(5)如果SearchCompleted不为True则重复作6-13步
(6)置SearchCompleted为
(7)置是否同一条线标志SameLine为True
(8)如果SameLine为True则重复作9-12步
9)置SameLine为False
(10)沿i方向进行搜索,即k:=k+SearchDirection [i][0];1:=1+SearchDirection [i][1];
(11)如果点(k,1)为1,则置SameLine为True;将直线的终点坐标设置为(k,1);将点(k,1)的值设置为0;
(12)如果点(k,1)为0,则置SameLine为False
(13)以点(k,1)为基准点沿逆时针方向寻找下一点,如果搜索到值为1的点,则记搜索方向为i;在直线记录列表中增加一条新的直线,k,1值作为直线起点的横、纵坐标;将搜索到的点的横、纵坐标记为(k,1),将直线终点的横、纵坐标设置为(k,1);置Searhcompleted为False,置SameLine为True;将点(k,1)的值设置为0
(14)进行图形封闭化处理,在直线记录列表中增加一条直线,将k,1值作为直线起点的横、纵坐标,FirstPointX、FirstPointY作为直线终点的横、纵坐标值。
这样当遍历完成后,遍历的轨迹就保存在直线记录列表中了,也就是说已实现将汉字的字形轮廓用直线段进行描述了。需指出的是,由于汉字字形本身或者编辑处理的原因,在进行图象遍历的过程中,可能存在一些不和谐的点,使遍历不能完成(如存在断点、尖点及多余点的情况),需在遍历之前运用图象处理的技术将这些点补足或者剔除掉,以使遍历能顺利完成,有关这方面的算法不再赘述。
至此要实现切割汉字就只剩下如何生成切割指令的问题了。由于已将汉字的字形轮廓用直线进行描述,且这些直线还首尾相接组成一个封闭轮廓,要生成线切割机的切割指令,只需按切割指令的要求将这些直线进行转换即可。
5 结束语
本文介绍了从汉字字库中提取字形轮廓,在进行编辑处理后将其转化为切割指令,从而在线切割机上实现切割汉字的自动编程技术。它可使线切割机简单方便地实现汉字的切割,还可对要切割的汉字进行各种处理。实践证明,采用这种方法能很好地满足线切割机床需要,并且取得较好的线切割机床效果。
苏州中航长风线切割机床http:// 整理编辑!