无锡一网激光设备有限公司--专业研发生产销售激光打标机、光纤激光打标机、CO2激光打字机、半导体激光器,提供激光加工、激光配件及激光维修服务。热线:0510-88703162

  杭州萧功激光设备公司热线:13777567846

无锡一网激光设备公司热线:15358051101
 

网站首页 关于一网 激光打标机 激光配件 行业新闻 技术支持 行业解决方案 联系我们
 
激光设备
最新文章
   激光打标技术2:概述2020-5-2
   激光打标技术1:摘要2020-5-2
   激光打标机技术相关…2020-3-9
   激光打标机软件综述2020-3-9
   激光打标机软件精确…2020-3-9
   激光打标机软件实时…2020-3-9
   激光打标机软件实时…2020-3-9
   激光打标机微秒级精…2020-3-9
   激光打标机软件实例2020-2-25
   激光打标机数据输出…2020-2-25
   激光打标机软件框架…2020-2-25
   激光打码机软件系统…2020-2-25
客户服务
江苏地址:江苏无锡市锡山经
济技术开发区春雷路101号
TEL: 0510-88703162
手机:13777567846
浙江地址:浙江杭州市
富阳市迎宾北路205号
TEL: 0571—63163880
Email:ewlaser@aliyun.com
  行业新闻->激光打标机软件框架和图元模块的软件设计

激光打标机软件框架和图元模块的软件设计

2020-2-25 13:55:23

软件框架和图元模块的软件设计

 

1) 软件框架的设计

软件的界面与操作应该简单方便,让用户快捷方便地完成各项操作。利用 MFC 提供的基本框架,设计为多文档结构,并且设计了与操作过程相应工具条[19],用来选择绘制图元工具,设定参数,视图缩放等等。最终设计的软件界面如图 4-2 所示。整个文档区域分为三个功能区域:工作区、图层管理器、图元属性页。

其中,工作区一般用来绘制图元、导入图元、进行图元的变换和操作;图层管理器则显示工作区中图层和图元关系;图元属性页通过消息的传递,实时的显示当前图元的信息,也可以通过修改属性页上的图元参数,改变图元的数据,并通知视窗,刷新界面上的图元。软件框架上的相互关系,通知图元基类, 修改图元数据

 

2) 图元模块的设计

图元模块要完成用户操作软件的大部分功能,包括图元导入、图元操作、图元绘制、图元变换、算法等功能设计。

l 图元绘制/保存

采用 GDI+来设计,这是打标软件所提供的一项基本功能,我们为这两项操作分别提供了一个类,用来绘制/保存软件支持的各种图元,由于采用类封闭,使得复用性更好,且便于实现软件的模块化。这两个类分别是绘制操作的 Tool 类和图元数据 Obj 类。其中 Tool 类里面封装了绘制操作的所有鼠标消息,以绘制一个矩形(Rect 为例,在界面上点击第一个点,通过 RectTool 类的 OnLBottomDown()函数确定矩形的起始点的位置,然后移动鼠标,函数 OnMouseMove()函数来调整矩形的大小,当再次点击鼠标左键,相应 OnLBottomDown()函数时,确定最终的矩形,并将数据保存到 RectObj 类中,完成了图元的绘制。图元绘制结合条码算法用于绘制一维与二维条形码[20]


图元导入功能是对 PLT、DXF AI 等文件格式保存的文件进行相应的解读,其 DXF 文件格式是 AutoCAD 的常用保存格式,它是以带标记数据的形式表示AutoCAD 图形文件中包含的所有信息。该文件格式的数据全部保存在数据段

(entities)中,通过标识符 line,circle,ellipse,arc,lwployline mtext 等,可以读取相应的图元数据,最后换算成本软件坐标系下的对应数据。PLT 文件格式是CorelDRAW 的常用保存格式,该格式是基于矢量方式,将各种图元全部以单位长度的短线段形式拼接起来,保存所有这些短线段的坐标,并通过标识符“PA”,“PD”等表示线段的起点和终点。通过对这些点的标识符和坐标的读取并换算成本软件坐标系下的数据。

l 图元变换

为完成图元操作[21,22]功能,我们设计了提供一个类,用来完成鼠标驱动的图元操作。由于在界面上绘制的图元或者导入的图元,一般满足不了实际的打标要求, 要做位置和大小方面的调整,图 4-5 显示了对图元的操作,包括了移动(a),缩放(b) 旋转(c),镜像拉伸(d),删除等。通过这个类封装好了所有以上操作,并响应了在以上操作过程中的鼠标和键盘的消息,使得操作方式更加丰富更加多元化便于操作。


(a) 图

(d) 图元的镜像 4-5 图元变换操作


条码的绘制主要包括两种:一维条码和二维条码。一维条码涵盖的信息量少, 编码机制相对简单,一般都只包含或者部分包含 ASCII 字符集,对于一维条码的生成,采用查表的方式生成相应的矩形图元就可以了。二维条码编码机制复杂,而且各不相同,可以通过国标进行查询。

“AD2007”为例,生成的一维条码(39 码为例)与二维条码(DataMatrix 码为例)来说明条码生成与绘制过程。39 码直接对条码的每个字符查表编码,得到 0/1 二值字符串,由此结合矩形绘制就可以生成条码。如图 4-6 所示

条码信息:AD2007

 

编码串如下:


100101101101110101001011101011001011101100101011101100101011101001011011100101101101

 

图 4-6 39 码条码生成示意图

 

根据国家标标编码,生成出来的条码编码数据也是 0/1 二值字符,与一维码不同的是,它保存在一个二维数组中。将相邻的同值区域连通,并且进行填充就可以得


 

到最后的条码图形,图 4-7 为二维条码的编码过程,图 a 为将字符“AD2007”编码串的结果,图 b 是将所有码值为“1”的相邻块连通后的结果,图 c 为最终生成的填充图形。


 

(a)二值编码结果 (b)同色域区连通图 (c)填充图形结果图 4-7 “AD2007”的 DateMatrix 编码过程

l 图元阵列

图元的变换功能也是本软件所提供的一项重要功能,由于在实际应用当中,仅仅绘制图元和导入图元还是远远不够的,为了使得图形打标在规定好的位置,并且排列整齐有序,所以还需要对图元进行一些特定的变换,比如各个方向的对齐操作, 图元的阵列处理。例如标刻商标,可能一次在能标刻的幅面内要标刻 N×M 张,这时就要将图元进行阵列变换。

l 图元填充

当图元被绘制之后,往往只是一个图形的轮廓,标刻的结果希望能是轮廓包含的所有区域,因此,当激光打标要求打标一个被填充的图形时,就要求界面上显示的图元被填充(包括扫描线填充和环形填充)。当激光逐条线的烧刻,便会在目标物体打标成一个填充的图形,扫描填充的算法亦是软件的一个设计难点,这些算法基于数学形态学与计算机图形学,本软件所涉及到的算法类主要用于处理扫描填充功能。如图 4-8 所示,(a)(b)分别的就是扫描线填充和环形填充的汉字图形。扫描线填充的方式简单,计算量小,应用普遍。环形填则充利用了数学形态学的腐蚀运算的思想,填充之后的图形,在打标过程中激光跳转次数少,跳转距离短,所以工作效率高且成品美观,是用户向往和追求的完美的打标方式。


  

l 节点变换

(a)  扫描线填充结果 (b) 环形填充结果图 4-8“品”字的两种填充结果


由于在很多情况下,对某个图元的细节上的修改,通过图元的各种操作和变换仍然难以达到满意的效果,所以就需要对图元进行节点调整。由于图元的保存方式是一系列的 GraphicsPath 类路径,软件可以分解这些路径,使每一段曲线都由一系列的贝赛尔曲线拟合而成,分别对每一段曲线的节点进行操作,就可以完成对图元细节的修改。节点调整包括了增加节点、分离节点、删除节点等等。节点调整的各种方式,如图 4-9 所示:

增加节点就是在图元的某条路径上,由于难以达到控制该路径凸凹程度,所以必须加入一个节点,来调整该路径的形变程度,如图 4-9 中(b)所示。

分离节点就是对图元的某个节点进行分离,再来通过分离之后的节点,调整图元的路径细节,如图 4-9 中(c)所示。

删除节点就是对图元上的某个多余的节点进行删除,以达到更好的效果。


首 页    |   产品中心   |   行业解决方案   |   新闻中心   |   关于我们  |  联系我们   |   城市关键词   |   行业关键词