(物理电子学专业论文)激光飞动标刻软件设计.pdf_第1页
(物理电子学专业论文)激光飞动标刻软件设计.pdf_第2页
(物理电子学专业论文)激光飞动标刻软件设计.pdf_第3页
(物理电子学专业论文)激光飞动标刻软件设计.pdf_第4页
(物理电子学专业论文)激光飞动标刻软件设计.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

(物理电子学专业论文)激光飞动标刻软件设计.pdf.pdf 免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华中科技大学硕士学位论文 摘要 在激光加工领域,随着激光标刻的应用范围不断扩大,对激光标刻各种相应的软 件需求也不断增加。本文重点讨论了激光飞动标刻方面的软件设计的算法基础和实现 方法。o 本文首先讨论了可用于激光飞动标刻的各种图形图像文件格式以及文字数据的 组成方式,其中包括常用于双轴飞动标刻的p l t 图形文件和t r u et y p e 字体文件以及 多用于单轴飞动标刻的点阵字体,并根据他们不同的数据组成方式给出了相应的提取 算法。在前一步的基础上,我们针对振镜式激光标刻系统的输出特点,引入了针对不 同图形图像和字符的激光标刻输出算法:对应于直线的b r e s e n h a m 直线插补方法,对 应于圆弧的b r e s e n h a m 圆弧插补方法,对应于t r u et y p e 字体的二次b 样条直线拟合 法,对应于点阵字符的直接扫描法。明晰了各种插补算法后,在引入激光标刻的数学 模型,对以往静止标刻软件实现各种不同图形图像或是字符的标刻方式作了简单介 绍,并由此引出飞动标刻的实现方法。应用飞动标刻的实现方法,本文成功的设计了 两种不同的飞动标刻系统:双轴激光飞动标刻系统和单轴激光飞动标刻系统,并对两 种系统各自实现方法的关键地方作了详细的分析。同时介绍了两种系统共同所需的高 精度定时器的设计和实现飞动标刻控制的d a 卡的配置方式以及整个激光标刻系统 的工艺参数分析。 文章的最后简单介绍了本课题所设计的软件,以及对后续工作的一些建议。扎 关键词t 激光加工? 激光标刻jt r u e t y p e 字体j 插补算法, 飞动标刻、定时器一双轴单轴 华中科技大学硕士学位论文 a b s t r a c t i nt h el a s e r p r o c e s s i n g ,l a s e rm a r k i n g h a sb e e na p p l i e dt om a n yf i e l d s t h ed e m a n d so f v a r i o u sc o r r e s p o n d i n gs o f t w a r ei si n c r e a s i n g i nt h i sp a p e r , t h ea l g o r i t h ma n dr e a l i z i n g m e t h o do f s o f t w a r ef o rl a s e rf l y i n gm a r k i n gi sp r e s e n t e d s o m ek i n do fg r a p l f i ea n di m a g ef i l ef o r m a t sa n dc h a r a c t e rs t r u c t u r e sa r ea n a l y z e di n t h i s p a p e r , i n c l u d i n gp l tg r a p h i cf i l e ,t m e t y p e f o n ta n dl a t t i c ef o n t l a t t i c ef o n ti s f r e q u e n t l yu s e di ns i n g l e - a x i sl a s e rf l y i n gm a r k i n g ,t h eo t h e r sa l eu s e di nd u a l 。a x i s l a s e r f l y i n gm a r k i n g t h ec o r r e s p o n d i n gg e t t i n ga l g o r i t h m sa r ep r e s e n t e db y t h e i rd i f f e r e n td a t a s t r u c t u r e s o nt h eb a s i so f t h eo u t p u tc h a r a c t e r i s t i co fg a l v a n o m e t e rs c a n n i n gl a s e rm a r k i n g s y s t e m ,l a s e rm a r k i n go u t p u ta l g o r i t h m sf o rv a r i o u sg r a p h i c sa n dt y p e s a r ei n t r o d u c e d s u c ha sb r e s e n h a ml i n e - i n t e r p o l a t i o na l g o r i t h m i su s e df o r b e e l i n e ,b r e s e n h a m a r c i n t e r p o l a t i o na l g o r i t h mi su s e df o ra r c ,q u a d r a t i cb - s p l i n e si n t e r p o l a t i o na l g o r i t h mi s u s e df o rt r u e t y p ef o n t ,d i r e c ts c a n n i n gi su s e df o rl a t t i c ef o n t t h em a t h e m a t i c a lm o d e l o fl a s e rm a r k i n gi si n t r o d u c e d a f t e rt h es i m p l ei n t r o d u c i n go fp r e v i o u sl a s e rm a r k i n g m e t h o d so fv a r i o u sg r a p h i c sa n di m a g e so rc h a r a c t e r s ,ar e a l i z i n gm e t h o do f l a s e rf l y i n g m a r k i n gi sp r e s e n t e d s i n g l e a x i sl a s e rf l y i n gm a r k i n gs y s t e ma n dd u a l a x i s l a s e rf l y i n g m a r k i n gs y s t e ma r ed e s i g n e ds u c c e s s f u l l y t h ek e yp o i n t so fr e a l i z i n g m e t h o d so ft w ok i n d o fl a s e rm a r k i n gs y s t e m sa r ea n a l y z e di nd e t a i l a tt h es a m et i m e ,t h ed e s i g no fh i g h p r e c i s i o nt i m e ra n d t h ec o n f i g u r a t i o no fd ac a r du s e dt oc o n t r o ll a s e rn y i n gm a r k i n ga r e i n t r o d u c e d ,w h i c ha l e n e e d e db yt w ok i n do fl a s e rm a r k i n gs y s t e m s a n dt e c h n i c a l p a r a m e t e r s o fl a s e rm a r k i n gs y s t e ma r ea l s oa n a l y z e d k e y w o r d s :l a s e rp r o c e s s i n g l a s e rm a r k i n g t r u e t y p ef o n t i n t e r p o l a t i o na l g o r i l h mf l y i n gm a r k i n g t i m e rd u a l - a x i ss i n g l e - a x i s n 华中科技大学项士学位论文 1 绪论 1 1 激光加工概况 由于激光具有相干性、方向性好、高能量密度、单色性好等一系列优点,自6 0 年代初第一台红宝石激光器问世以来,就受到科研领域的高度重视【l 】。随着新型激光 装置的开发研究,激光加工技术也取得了巨大的成就【2 捌:6 0 - 7 0 年代是c 0 2 激光器和 y a g 激光器的时代,主要用于金属切割、焊接等方面的加工:8 0 年代发展出了准分 子激光器,主要用它的短波长对高分子聚合物、陶瓷等非金属材料进行精密2 h i ;进 入9 0 年代后,飞秒钛蓝宝石激光器进入了加工领域,其背景是时代对各种材料要求 更精密的加工以及随着激光技术的不断进步,可以很容易的得到飞秒领域的超短脉冲 激光。准分子激光器与以往的c 0 2 激光器和y a g 激光器相比,可以用于更精密的加 工,但不适合金属材料的加工。光纤激光器,c 0 2 短脉冲波导激光器,倍频短波长激 光器,可变波长激光器等各类新型激光器及其应用技术也在相应的发展。激光加工技 术已经有了迅猛的发展,并且显示出巨大的优越性。其主要特点是【4 5 】: ( 1 ) 可以加工包括高硬度、高脆性、高熔点等传统方式难以加工的材料在内的任 何材料,加工迅速,变形极小,具有表面硬化作用,可改善工件的抗磨性和抗压性。 ( 2 ) 属非接触式加工,无刀具磨损,无切削力影响,可对易于受力变形的工件或 材料进行比较精密的加工。 ( 3 ) 工具是一束直径很小的光束,基本上可以不受加工半径的限制。 。 ( 4 ) 光束的运动轨迹可以实现数控和计算机控制,具有极高的灵活性,成本低, 生产周期短。 ( 5 ) 加工效率高,无噪声,无污染,不易受电磁干扰。 激光加工技术属于高技术,这种技术的出现推动了很多领域的迅猛发展,应用范 围也越来越广,在加工领域的应用成果尤其显著。在国外加工领域中激光加工占1 0 左右【6 ,8 一。我国虽然也于上世纪6 0 年代初就研制出了首台激光器,但是激光产业化的 进程却直都很缓慢,到了上世纪9 0 年代激光加工工艺才真正进入我国的工业生产 流程。我国通过“七五”、“八五”、“九五”科技攻关,激光加工技术有了较大的发展, 华中科技大学硕士学位论文 高功率c 0 2 激光器以及y a g 激光器,还有近年来的二极管激光器形成了较好的基础, 并在“八五”、“九五”期间开展了一系列成套加工设备的攻关,在钢铁、电子、汽车 等行业开展了相关应用研究 7 , 1 0 , 5 6 6 们。 激光标刻技术是上世纪9 0 年代兴起的热门工业加工新技术,是激光打标和激光 雕刻的合称。其中激光打标主要是在工件表面上蚀刻线条,在工件表面刻下线条标记; 激光雕刻主要是蚀刻工件表面的一定区域,甚至雕刻出深浅不一的三维效果,在工件 表面留下区域标记。激光标刻与传统的工艺相比有明显的优点: ( 1 ) 标刻速度快,字迹清晰、永久。 ( 2 ) 非接触式加工,污染小,无磨损。 f 3 ) 操作方便,防伪功能强。 ( 4 ) 可以做到高速自动化运行,生产成本低。 激光标刻技术目前在国内外工业上的应用正被人们逐渐重视,各种新型的标刻系 统层出不穷 5 7 , 5 8 , 5 9 】,它正以其独特的优点正在取代传统的标记方法,如:冲压、印刷、 化学腐蚀等,在各种机械零部件、电子元器件、集成电路模块、仪器、仪表、电机铭牌、 工具甚至食品包装等物体表面上,标记出汉字、英文字符、数字、图形等,从而在这些 领域取得了广泛的应用 1 4 , 1 7 , 1 8 , 1 9 】。国际上一些发达国家已将该技术作为工业加工的工 艺标准,我国也非常重视这一技术,国家科委已将该技术列为“八五火炬计划”进行 研制和推广【2 0 , 2 1 , 2 3 , 6 0 】。 1 2 国内外激光标刻的状况n 1 _ “”_ 删 激光标刻技术是激光应用中最为广泛的。其工作机理主要是利用激光与物质的相 互作用而产生的汽化效应,在材料表面加工出所需的文字或图案标记。通过计算机控 制可以实现各种文字、符号和图案的标刻,大小从毫米量级到微米量级。激光标刻速 度快,所标刻的线条、字符图案清晰,而且易于在生产线上更改标记符号。目前国内 外在激光标刻方面的应用非常广泛,技术也越来越成熟。根据1 9 9 2 年美国工业激 光评论的d a v i db e l f o r t e 的报道,在整个激光加工应用领域中,各国激光标刻所占 份额为美国3 4 ,欧洲1 9 ,日本1 8 。在我国激光标刻的应用开展比较晚,但是 发展很迅速,国内市场很大,根据1 9 9 3 年的统计值激光标刻占国内激光加工领域的 华中科技大学硕士学位论文 1 2 6 。出现了很多的提供激光标刻装置的厂家如华中科技大学激光加工中心的中小 功率激光研究室,武汉楚天激光,北京大恒激光等。这些单位提供的激光标刻装置结 构大体相似,标刻方法也多数采用振镜扫描式标刻。由于国内激光标刻加工市场巨大, 估计在今后的几年还会有较大的发展。 1 3 激光标刻系统的分类“5 ”“州 激光标刻系统分为两大类:一类是掩模法标刻系统;一类是扫描式标刻系统。 1 3 1 掩模法标刻系统 该系统一般都是由激光器、球面及柱面扩束望远镜、掩模板和成像透镜几部分组 成( 如图l 1 ) 。 工件表面 图i - i 掩模式檄光标刻系统 其工作原理是系统通过专用的掩模或掩模系列对激光束成像在工件的表面,即在 一块模板上将待标刻信息雕空做成掩模,激光经过扩束望远镜均匀的照射在事先做好 的掩模板上,光从雕空部分透射,经过透镜成像在工件( 焦面) 上,当激光能量密度 足够大时,便在工件表面留下永久的掩模图案。通过沿光路方向前后移动掩膜板,可 以改变成像倍率以及成像激光能量密度。该系统的主要优点是一个激光脉冲能一次做 出一个完整的包含数种符号的标记,可以很方便的应用于生产线上。 1 3 2 扫描式标刻系统 该系统主要由计算机、激光器、x y 扫描机构、聚焦透镜几部分组成。其工作原 理是将需要标刻的信息输入计算机,计算机按照事先设计好的程序控制激光器和x y 华中科技大学硕士学位论文 扫描机构,使经过特殊光学系统变换的高能量激光点在被加工工件表面上按需要进行 扫描运动,从而在材料表面留下永久的标记。其中x y 扫描机构又分为两种结构形式: 机械扫描式和振镜扫描式。 振镜扫描式系统中通常采用高速振镜光学扫描器作为x y 扫描机构( 如图1 - 2 ) 。 其工作原理是用计算机控制反射镜( 振镜) 的反射角度来控制激光束的偏转,使激光 聚焦点在标刻材料上运动,从而实现标刻。其大致的工作过程如下:将所要标刻的图 文信息通过终端输入微机,微机按照预先编制好的程序对图文进行适当处理,然后输 出控制信号控制扫描器的偏转实现标刻点的定位,然后再控制激光的开关从而实现标 刻。 图1 - 2 振镜式激光标刻系统 机械扫描式标刻系统不是采用通过改变反射镜的旋转角度去移动光束,而是通过 机械的方法对反射镜进行x y 坐标的平移,从而改变激光束到达工件的位置,这种标 刻系统的x y 扫描机构通常是用绘图仪改装( 如图1 3 ) 。其工作过程:激光束经过 反光镜、转折光路后,再经过光笔( 聚焦透镜) 作用射至被加工工件上。其中 绘图仪笔臂只能带着反光镜和沿x 轴方向来回运动;光笔连同它上端的反光 镜( 两者固定在一起) 只能沿y 轴方向运动。在计算机的控制下( 一般通过并口输 出控制信号) ,光笔在y 方向上的运动与笔臂在x 方向上的运动合成,可使输出激光 到达平面内任意点,从而标刻出任意图形和文字。 4 华中科技大学硕士学位论文 图1 3 机械式激光标刻系统 上述几种激光标刻系统性能的比较: ( 1 ) 标刻面积 对于掩模式激光标刻系统,由于当标刻投影面积增大时,相应的激光功率密度会 成倍的下降,因此掩模式激光标刻系统普遍存在标刻面积较小的局限性,一般为 3 5 5 0 0 m m 2 ;对于机械式扫描标刻系统来说,没有功率密度的限制,一般标刻面积可 达4 0 0 2 9 7 m m 2 ;对于振镜式激光标刻系统,一般可达1 5 0 1 5 0 m m 2 。 ( 2 ) 生产效率 如果是做大量重复的图案文字标刻,则掩模式激光标刻系统的效率比扫描式标刻 系统高;当标刻信息不断变化时,则扫描式标刻系统比掩模式标刻系统效率高。也就 是说扫描式标刻系统的灵活性要明显优于掩模式标刻系统。而在机械式标刻系统中, 标刻速度取决于笔臂的机械运动速度。如果使用目前比较好的绘图仪改装,其标刻速 度可以达到4 0 0 m m s 左右。而振镜式标刻系统的标刻速度取决于振镜扫描速度,目前 国内外比较先进的高速标刻系统可以达到3 m s 。 ( 3 ) 标刻深度 掩模式标刻系统一般采用c 0 2 激光器,工业常用的为t e a c 0 2 激光器,近年y a g 激光器也开始应用于该领域。这种方式由于将激光分散于较大的面积上,所以标刻深 度一般不深,一般在2 5 微米以下。扫描式标刻系统一般采用y a g 激光器,而且能量 相对集中,所以标刻深度可以达到1 0 0 微米左右。 对比以上几点,再参考价格的因数( 目前一台进口的掩模标刻机约为3 0 ,0 0 0 美 圆左右,而一台国产的扫描式标刻机约为1 2 0 ,0 0 0 元人民币左右) ,加上目前由于扫描 华中科技大学硕士学位论文 式标刻系统的输出设备的改进,扫描式标刻系统的标刻速度有明显的提高,而且扫描 式标刻系统在小批量多变化的标刻加工生产上有较大的优势,因此可以看出扫描式标 刻系统将会有比掩模式标刻系统更广阔的应用前景。而振镜式标刻系统又因为速度较 快和使用方便而应用更为广泛。所以本课题的所有讨论都是基于振镜式扫描激光标刻 系统。 1 4 激光加工技术软件状况介绍 在国外,高水平的激光加工系统在配备各种先进的硬件系统的同时往往也配备有 多台微机组成的图形图像处理软件系统,用以完成各种复杂的激光加工任务。如美国 佛罗里达州的激光加工中心,其计算机数控系统由七台微机和价值数百万美元的加工 处理软件所组成,能进行各种复杂工件的三维切割、焊接和热处理;日本丰田汽车公 司用计算机图形工作站控制的激光加工系统,从毛坯上切割出各种形状复杂的模具和 零件 2 5 , 2 6 , 2 7 , 3 0 1 ;美国l a s e rw a r e 公司开发的适合多种d a 卡的通用标刻软件p r o l a s e r ; 美国s y n r a d 公司专用软件w i nm a r k 2 8 , 2 9 1 。对于现在能广泛应用的激光2 n - r 技术,功 能强大的软件对其的推动起了极大的作用。 相对于国外对激光加工技术配套软件的重视和高的开发研究投入,国内的科研事 业单位对激光加工技术在软件方面研究投入力度明显不足。激光标刻需要用到计算机 图形图像处理技术的许多基本理论、实现方法,以及功能强大的图形图像处理软件, 而国内在这些方面又是明显的比不上国外:图形图像处理理论基础基本都是参考国 外,图形图像处理软件也是国外软件一统天下,a u t o c a d 、c o r e l d r a w 、 p h o t o s h o p 等软件无一例外成为国内相关领域应用最广泛的软件。所以国内在激光 标刻领域的发展最初都是整个硬件设备和相关软件一起引进。 但是最通用的软件并不是对用户最适合的软件。因为国内外文化的差异,而且像 p r o l a s e r ,w i n m a r k 等通用软件最初都是为外国激光标刻设备设计的,因此基本就没考 虑中文的直接输入标刻,一般都是采用图形图像的方式才能进行中文文字的标刻,而 对于光栅图像的标刻输出,其效果也是不尽人意。因此,国内的众多激光科研单位和 产业机构从最初的全部引进配套软件到现在开始独立自主的开发自己的软件产品。但 是国内企业单位在软件独立开发的能力上还无法与国外的大公司、科研机构相提并 6 华中科技大学硕士学位论文 论,自主版权的相关应用软件数量很有限,在功能上也不够强大。目前国内大多数单 位自己开发的软件基本都是针对特定的单一的用户群而开发的,应用范围较窄,而且 多数都是为静止标刻系统设计,对飞动标刻( 也称在线标刻,就是针对生产流水线的 激光标刻) 方面的研究更是少之又少。随着生产和社会的进步,对这方面的要求却越 来越迫切。本课题正是针对这种情况而提出的。 1 5 本课题的目的、意义和研究内容 如前所述,激光飞动标刻是近年来生产发展的需要,也是激光标刻技术发展的需 要。本课题的研究将有助于解决目前国内激光标刻尤其是飞动标刻控制软件的贫乏状 况,满足用户需要,对于激光标刻系统的推广使用也具有一定的促进作用。本课题的 主要研究内容是设计开发出一套功能比较完善的激光飞动标刻控制软件。具体来说, 主要的研究内容如下: ( 1 ) 对各种可用于飞动标刻的图形图像及文字资源进行研究,分析它们的文件格 式和数据组成方式,并提取出有用数据。 ( 2 ) 针对不同的图形图像文字的数据含义,分析其能应用于激光飞动标刻中的各 种算法。 ( 3 ) 在研究各种可行的静止标刻方法的基础上,设计双振镜激光扫描飞动标刻软 件,并对其加工工艺和方法进行研究。 ( 4 ) 在双振镜飞动标刻软件的基础上,设计低成本但应用前景广阔的单轴飞动标 刻软件。 ( 5 ) 进行软件的集成,设计友好的用户界面。 华中科技大学硕士学位论文 2 激光飞动标刻系统方案 激光飞动标刻是在激光静止标刻基础上发展起来的,其基本原理和实现方法都跟 静止标刻密切相关。简单地说,能应用于生产线上运动工件的适时标刻,就是激光飞 动标刻技术。各种静止标刻算法和实现方法,只要经过适当的算法补充都可以应用于 飞动标刻,只是考虑到标刻的效率,而在实际应用中受到限制。所以本课题在飞动标 刻中主要介绍p l t 文件格式和点阵字符的标刻输出。无论是静止标刻还是飞动标刻, 每个激光标刻点的确定,激光功率的控制,激光开,关光,都涉及到对硬件端口的操作, 故软件的设计跟硬件密切相关。所以首先我们必须清楚地了解d a 卡的总线地址配置, y o 方式的设置,各种数据信息与控制信息的流向以及它们的数据格式;其次,飞动标 刻也必须对所要标刻的图形图像文件进行相应的处理,这部分的处理方式跟静止标刻 时相似,并在此基础上研究单振镜飞动标刻和双振镜飞动标刻的实现算法;最后我们 将经过处理后的图形图像或字符数据通过d a 卡输出而控制激光标刻系统工作。 所以激光飞动标刻的整个软件部分应包括如下功能部分: ( 1 ) 图形图像文字输入和处理部分。应包含图形图像文字输入部分和处理部分。 首先是输入部分,为使软件能广泛应用,应提供良好的软件设计编辑环境,提供简单 图元的输入功能,包括各种基本图形( 如直线,矩形,圆,椭圆等) 、各种文字( 包 括点阵字体和t r u et y p e 字体的中英文) 、各种格式的图形图像文件的输入。所采用的 输入方式有键盘、鼠标、扫描仪、磁盘文件等。对于处理部分,应提供对输入的各种 图形图像和文字的显示、输出、编辑( 包括插、删除、放大、缩小等) 、排版。( 包括 旋转、平移等) 、数据的标刻转换处理和文件输出保存等功能,使之符合用户的要求。 ( 2 ) 控制输入输出部分的配置。其中应包含配置相关的d a 控制卡,分配各种控 制信号和数据信息所占的通道地址,初始化并行i ,0 扩展口,设计对标刻至关重要的 高精度定时控制器,处理工件检测输入信号,控制激光功率输出,控制激光开关光, 控制x y 振镜位置信号输出等。 软件系统的框图如图2 - i 下: 华中科技大学硕士学位论文 l 昱示输出 lf i 0 初始化 j l 键盘输入l i 编辑图形图像文字| l 定时锯设计l l 鼠标输入ll 文件数据处理转换ii 】【j 振饶位置控制 l 文件输入l 图形图像文字排版ff 输入信号处理 文件输出保存l l 开关光及功率控制 输入部分 处理部分 控制部分 图2 - 1 软件系统框图 输入部分包含了对输入图形图像以及各种文字结构、数据组织形式的分析:处理 部分的各功能模块建立在输入部分对数据分析提取的基础上,并且这部分的文件输出 模块又跟输入是相统一的,输入为文件读取,输出为文件写入,其联系点就是相同的 文件格式;控制部分结合处理部分实现用户所需的图形图像以及文字的标刻。 系统的工作原理:首先我们利用软件所提供的设计编辑环境将所要标刻的图形图 像文字等内容通过适当的输入途径输入到我们软件运行所创造的环境中,通过软件提 供的各种处理方法对其进行编辑、排版,得到用户满意的标刻图案,然后设置合理的 精度要求、标刻延时、激光输出功率,对标刻图案输出定位后,等待从d a 控制卡的 i o 口的输入信号,如果输入的是有效信号,则向控制输出接口电路发出控制数据流, 控制接口电路按设计好的方式译码收到的控制数据,并向激光器的q 驱动器jx y 振 镜控制器分别输出订l 电平及模拟电压信号,控制激光光束的开关、x - y 两轴的偏转 角度( 通过这样控制激光束到达工件的位置) 、输出激光功率,从而控制激光束与工件 的相互作用位置与时间,在工件表面上标刻出预先设计好的图案或文字。 在接下来的几章中我们将分别介绍软件的各个部分。 华中科技大学硕士学位论文 3 图形图像及文字的输入 3 1引言 一般来说,为了利用现有的比较通用的图形图像处理软件,比如a u t o c a d 、 c o r e l d r a w 、p h o t c l s h o p 等功能强大的图形图像处理软件,我们都是利用这些 软件所提供的各种文件来作为标刻的图形图像来源。对于文字我们一般都是从键盘输 入。要将各种图形图像或是文字输入到我们设计的标刻软件系统,需要先分析各种图 形图像的格式以及它们内部的数据存储方式,以及了解我们进行软件开发所用工具和 操作平台的各种通用功能。激光标刻系统的应用中最为广泛的还是图形文字的标刻输 出。理论上不论何种图形文字,只要知道它的文件格式和其数据结构组成方式,我们 都可以提取出它的数据,然后通过激光标刻出来。所以分析标刻需要的各种图形图像 文件格式、字体文件格式,提取它们的有用的数据资料,并作适当的处理是本章的重 点。 在本章中,我们主要分析可以满足用户需要而在计算机图形图像学领域应用比较 广泛以及可以加以适当处理应用于本课题激光飞动标刻中的几种常见图形图像字体 文件格式。主要有点阵字体,p l t 绘图格式文件,t r u e t y p e 字体文件。并对以上几种 格式文件数据的提取方法作了详细的描述。 3 2 点阵字符的内码及数据提取0 1 ”3 ” 在计算机中,英文字符是用一个字节的a s c i i 代码表示,该字节最高位一般用作 奇偶校验,故实际是用7 位码来代表1 2 8 个字符的。但是对于众多的汉字,只有用两 个字节才能代表,这样用两个字节的代码表示一个汉字的代码体制,国家制定了统一 标准,称为国标码。国标码对汉字库结构作了统一规定,将汉字库分成9 4 个区,每 个区有9 4 个汉字( 以位作区别) 每一个汉字在汉字库中有确定的区和位编号( 用两 个字节) ,这就是所谓的区位码。区位码的第一个字节表示区号,第二个字节表示位 号,因而只要知道了区位码,就可以知道该汉字在字库中的地址。每个汉字在字库中 是以点阵字模形式存储的,如一般采用1 6 1 6 点阵形式。每个点用一个二进制表示, 1 0 华中科技大学硕士学位论文 数值l 表示在屏幕上显示一个亮点,数值0 则表示不在屏幕上显示,当然也可以反过 来显示。这样将存储了某字的1 6 1 6 点阵信息直接用来在显示器上按上述原则显示, 则将出现对应的汉字。当用存储单元存储该字模时,则需要3 2 个字节( 1 6 1 6 8 = 3 2 ) 。 国标码规定,组成两字节代码的各个字节的最高位均为0 ,即每个字节仅使用7 位。由于英文的a s c h 码也采用7 位二进制数,为了避免将国标码看成两个a s c i i 码,因而规定国标码表示汉字时,将每个字节的最高位置1 ,以表示该码表示的是汉 字,这些国标码两字节最高位加l 后的代码成为机器内的汉字代码,简称内码。前面 已经提到了汉字在字库中的排列,汉字在字库中所处的区和位表示一个汉字的代码称 为区位码,由于区位码和内码存在着一种对应关系,因而知道了某汉字的内码,即可 确定出对应汉字的区位码,知道了区位码,就可找出该汉字字模在字库中存放的地址, 由此地址可以调出该汉字的3 2 个字节( 指对1 6 1 6 点阵字体) 的内容( 字模) 。 汉字内码与区位码有固定的转换关系,即若汉字内码为十六进制数0 x a a f f ,则区 号q h 和位号w h 分别为: q h = 0 x a a - 0 x a 0 ; w h = o x f f - o x a o : 若用十进制表示内码c l ,c 2 ,则 q h = c l 一1 6 0 ; w h - - c 2 - 1 6 0 ; 即区位码的值q w 为: q w = 1 0 0 ( e t - 1 6 0 ) + ( c 2 1 6 0 ) ; 反过来,若已经知道了区位码q w ,则也可以求得区号和位号: q h = q w 1 0 0 ; w h 2 q w - 1 0 0 q h ; 因而该汉字在汉字库中离起点的偏移位置( 以字节为单位) 可计算为: o f f s e t = ( 9 4 ( q h - 1 ) + ( w h - 1 ) ) 3 2 下面以1 6 1 6 点阵字体为例介绍点阵字符数据提取算法: ( 1 ) 从输入的字符串中读取一个字节,将其保存到定义为区码( q u m a ) 的变量中, 华中科技大学硕士学位论文 然后判断表达式( ( q u m a o x 0 0 ) ) 是否为真。若表达式为真,则该字符为 英文字符,打开a s c l 6 的点阵字符文件,将文件指针定位到q u m a 1 6 的地方( 因为 1 6 点阵的英文字符形式为1 6 8 ,所以一个字符占1 6 个字节) ,然后顺序读取1 6 个 字节的长度即是该字符的数据。若表达式为假,则进入下一步。 ( 2 ) 从字符串中接着读取下一个字节,将其保存到定义为位码( w e i m a ) 的变量中。 按前面所述求得位号和区号:w h - - w e i m a - o x a o :q h = q u r n a - 0 x a 0 。然后按公式o f f s e t = ( 9 4 ( q h - 1 ) + ( w h 1 ) ) 3 2 算出文件指针偏移量。打开汉字字库文件h z k l 6 ,从文 件指针偏移量处读取3 2 字节,此即为该中文点阵字符的数据。 下图为1 6 x1 6 点阵字体汉字用画点的方法放大后显示出来的图: 中华人民其和国 图3 1 点阵字符放大图 3 3t r u e t y p e 字体轮廓提取算法 t r u e t y p e 是a p p l e 公司和m i c r o s o f t 公司合作开发的页面描述语言t r u e i m a g e 中的 字形描述格式,t m et y p e 字体【3 4 ,3 5 3 6 1 采用直线和二次b 样条曲线h o ,4 1 , 4 2 , 4 3 ( q u a d r a t i c b - s p l i n e s ) 来描述字符的轮廓,克服了以往的点阵字体、笔画字体和矢量字体的缺点, 有很大的优越性。因为轮廓都是使用数学公式来进行描述,它可以任意放大、缩小、 旋转而不会影响字形的输出质量。由于二次b 样条曲线算法简单而且能够保持一阶导 数连续,故其在保持轮廓曲线的光滑性的基础上大大提高了字形的还原速度。另外, t m e t y p e 所特有的丰富的指令集具有很大的优越性和灵活性。要提高字形的质量,可 以通过调整轮廓数据信息来实现,也可以通过增加指令信息来进行。用t r u et y p e 描述 汉字字形并在为每个汉字提供丰富的轮廓数据信息的同时,如果再加入足够的指令, 就可以达到尽可能好的输出效果。同时与其他字形描述技术相比,t r u et y p e 在描述汉 字字形方面有明显的优势,这在中文w i n d o w s 操作系统中已经得到了证明【3 7 , 3 8 , 3 9 。 t r u e t y p e 字体文件,“5 5 1 由3 个部分组成,文件头( o f f s e t t a b l e ) 、描述表l g 泵:( t a b l e 华中科技大学硕士学位论文 d i r e c t o r y ) 和一系列的描述表( t a b l e ) 。t r u et y p e 字体文件的文件头包含有描述表的个 数。在每个描述表目录中,可以得到描述表在t r u et y p e 字体文件中的位置和长度。描 述表目录( t a b l ed i r e c t o r y ) 结构如表3 - 1 所示: 表3 - 1描述表目录 n a m e ( 字段名)t y p e ( 类型) 【字节】 说明 s f n tv e r s i o n 固定大小 4 】 版本号,0 x 0 0 0 1 0 0 0 0 表示1 0 版 n u r l l1 a b l e s 无符号短整型 2 】字体文件包含描述表的个数 s e a r c h r a n g e无符号短整型【2 】 字体文件的搜索范围 e n t r ys e l e c t o r无符号短整型【2 】其值指明搜索的迭代次数 r a n g e s h i r 无符号短整型【2 】 其值为n a m t a b l e 1 6 s e a r c h r a n g e 描述表目录的入1 2 1 ( t a b l e d i r e c t o r y e n t r i e s ) 的结构如表3 2 所示 表3 2 描述表目录入口 n a m e ( 字段名1t y p e ( 类型) 【字节】d e s c r i p t i o n ( 描述) t a g无符号长整型 4 】 描述表名称 c h e c k s u m 无符号长整型【4 】 描述表的校验和 0 妇艮e t 无符号长整型【4 】描述表从文件头开始的偏移 l e n g t h无符号长整型【4 】描述表的长度 t m e t y p e 字符的轮廓是由一个或多个封闭曲线组成的,每个封闭曲线由直线段由 二次b 样条曲线组成。通过w i n d o w s 的a p i 函数g e t g l y p h o u t l i n e 可以获取字符的轮 廓信息,该函数返回字符的轮廓信息,首先是字符轮廓描述所需的字节数,后面紧跟 着每个封闭轮廓曲线的描述:由一个t t p o l y g o n h e r d e r 结构和多个 t t p o l y c u r v e 结构组成。其中t 1 7 0 u ,g o n ! r d e r 结构包含了描述该封闭曲线 的字节数等重要信息。t t p o l y c u r v e 结构则包含了与轮廓曲线有关的点的坐标信 息。 g e t g l y p h o u t l i n e 函数的原形如下: d w o r d g e t g l y p h o u t l i n e ( 华中科技大学硕士学位论文 h d c h d c , h a n d l et od c u i n tu c h a r , | c h a r a c t e rt oq u e r y u i n tu f o r m a t ,d a t af o r m a t l p g l y p h m e t r i c sl p g m ,p j y p hm e t r i c s d w o r d c b b u f f e r , s i z eo f d a t ab u f f e r l p v o i d l p v b u f f e r , d a t ab u f f e r c o n s t m a t 2 * l p m a t 2 t r a r t s f o r m a t i o nm a t r i x ) ; 用该函数所取得的轮廓信息中t t p o l :y g o n 既r d e r 结构的定义如下: t y p e d e fs t r u c t - m o l y g o n h e a d e r d w o r dc b ; d w o r d d w t y p e ; p o i n t f x p f x s t a r t ; lr r p o l y g o n h e a d e r ,+ l p r r p o l y g o n h e a d e r ; t t p o l y g o n h e a d e r 定义了该t m et y p e 字符的每一个封闭轮廓曲线的起始点 和轮廓曲线所包含的曲线类型。 c bt t p o l y g o n 既a d e r 结构和t t p o l y c u r v e 结构所需的描述字节数。 d w t y p e轮廓曲线的类型,必须为1 t _ - p o l y g o n _ t y p e p f k s t a r t 字符轮廓曲线的起点。 上述的p 敦s t a r t 为p o i n t f x 数据结构类型,该类型的定义为: t y p e d e f s t r u c tt a g p o i n t f x f i x e d x ; f e d y ; ) p o i n t f x ,+ l p p o i n t f x ; 结构中的x ,y 分别为t r u e t y p e 字符轮廓曲线上的点的x ,y 坐标分量。其中它们 又是f i x e d 数据结构类型,它的定义为: t y p e d e fs t r u c t _ f i x e d 1 4 华中科技大学硕士学位论文 w o r d f r a c t ; s h o r tv a l u e , ) f i x e d ; 其中的f r a c t 是该数据的小数部分,v a l u e 是该数据的整数部分。 紧接着t t p o l y g o n h e a d e r 结构的是t t p o l y c u r v e 结构,其定义为: t y p e d e f s t r u c tt a g t r p o l y c u r v e w o r d w t y p e ; w o r d c p f x ; p o i n t f x a p f x 1 ; ) t t p o l y c u r v e ,+ l p t t p o l y c u r v e ; t t p o l y c u r v e 结构包含每一个封闭轮廓的曲线的有关信息: w 聊e 轮廓曲线段类型,为直线或二次b 样条曲线: 其值等于t t _ p r i m _ l i n e 时为直线段 其值等于叫r i m _ q s l i n e 时为二次b 样条曲线 c p f x 读出的数据中含有的p o i n t f x 结构个数 a p f x 1 定义了p o i n t f x 队列 将用g e t g l y p h o u t l i n e 函数得到的t r u et y p e 字符轮廓信息全部分析清楚之后,我 们得到获取t r u et y p e 字符轮廓数据并存储数据的算法。 在程序开始前,我们需要定义一些必须的变量:接受输入文字信息的字符串变量 s t r ,指向一段内存缓冲区的指针变量,两个循环变量n ,m ,用来存储数据的变量。 初始化这些变量,让s t r 为空,n ,m 都为0 ; ( 1 ) 输入需要处理的字符到s t r 中,并顺序的一个字节一个节的从s t r 串中读取, 并作如下判断: 若该字符值大于1 2 7 ,则表示该该字符代表一个汉字字符的前半字节,应接着读 取下一个字节,并将第一个字节乘以2 5 6 后加上第二个字节作为该汉字字符在t r u e t y p e 字体文件中的寻址偏移量。 若该字符值小于或等于1 2 7 ,则表示是a s c i i 字符,其值可以直接作为该字符在 华中科技大学硕士学位论文 t r u et y p e 字体文件中偏移量。 ( 2 ) 将( 1 ) 中读出并处理后的值作为实参数代入g e t g l y p h o u t l i n e 函数,并用变 量b u f s i z e 保存g e t g l y p h o u t l i n e 函数的返回值。该值只表示所要处理的字符轮廓所 需的字节数大小,并不能取得该字符的轮廓信息。缓冲区指针初始化为指向大小为 b u f s i z e 的缓冲区。 ( 3 ) 将2 的返回值和前面定义的缓冲区指针作为实参数再次代入g e t g l y p h o u t l i n e 函数,取得该字符的轮廓信息。这些信息存储于指针参数所代表的缓冲区中。 ( 4 ) 判断n 的值是否大于b u f z i s e 的值,若为大于则算法结束;否则从缓冲区中 读取t t p o l y g o n h e a d e r 结构大小的字节,并从该段读出的内容中分离出c b 的值 和轮廓起点的值,将指针移动t t p o l y g o l 叮脏a d e r 结构大小的字节。 ( 5 ) 判断是否m 的值大于第( 4 ) 步得到的c b 的值减去丁1 甲0 l y g o n h e a d e r 结 构大小的字节,若是则将n 加上c b 的值,然后转到4 ;否则读取t t p o l y c u r v e 结 构大小的字节,并从该段读出的内

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论