已阅读5页,还剩72页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
水射流机床用c a d 系统开发 机械设计及理论专业 研究生梁贺指导教师向中凡 水射流切割机床是近年来迅速发展起来的一种异形切割技术,作为一种新 型加工技术,它可以加工不同材料的任何复杂图形。水射流切割机床图形系统 是要求采用交互方式绘制切割机床要加工的图形,并实现相切、捕捉等约束功 能,而且能够在图形绘制完毕后提取图形轨迹,生成切割机床实际加工图形, 最后将图形信息保存到数据库,以建立与c a m 的接口。但是长期以来,我国的 机床c a d 图形系统还停留在基于d o s 或单板机的水平上。这些c a d 图形系统都 有一个共同的缺点:自动化程度低,无法绘制形状复杂的图形,图形绘制精确 度低,系统性能不稳定。近年来的研究取得一些进步,但目前的绝大多数c a d 图形系统市场价格昂贵,也不适应不同企业特殊环境的具体需要。 本文提出了一种新的c a d 图形系统设计方案,以交互式绘制图形为主要手 段,建立了图形绘制的相切、镜像、捕捉等约束关系,使得图形绘制更加简单 易操作;通过图形数据接口可以精确的绘制各种图形;提取图形轨迹生成机床 实际加工图形;将图形位置信息保存到数据库,采用访问数据库的方法建立与 c a m 的接口,提高了系统的稳定性;可以从数据库提取图形信息,进行仿真,以 验证数据的准确性。为此,本文对切割机床c a d 图形系统的实现进行了深入的 研究。 本论文主要研究内容为: 1 本文根据切割机床图形系统的特点,确定了该图形系统为二维图形系统, 实现了各种图元的绘制、编辑以及保存,并对图形绘制的几个技术性问题进行 了讨论。这几个技术性问题包括:橡皮筋技术、基本图元的拾取、基本图元的 编辑。 2 实现了图形绘制的各种辅助工具,该系统的辅助绘图工具主要包括:端 点捕捉、镜像图形绘制、精确绘图、图元相切、字体绘制。 3 由于水射流机床切割工件时是不能跳跃加工的,其加工路径是一条连续 封闭的曲线,而操作者在绘制图形时并没有按照加工路径进行绘制,所以要提 取图形轨迹。本系统通过循环处理绘制的所有图元,使得上一图元的起点与下 一图元的终点重合,生成了切割机床的实际加工图形。 。 4 建立与数据库的链接,将提取的图形信息保存到数据库。本系统建立的 是s q l s e r v e r 数据库。 5 为了校验数据库中保存的图形信息是否正确,本系统实现了图形反生成 功能,根据数据库中保存的数据信息重新绘制出图形,并将图形与用户期望的 结果进行比较,当图形与用户期望的结果一致时则表明数据库中保存的数据信 息是正确的。 本文研制的c a d 交互式图形系统操作简便,突破了以往操作者必须掌握一 定的编程技能才能操作切割机床图形系统的缺点,对图形的绘制更加灵活,能 够绘制各种复杂形状的图形,性能稳定,使用方便。将该系统应用于切割机床 图形系统,将会极大地提高工作效率和图形绘制精度,有利于水射流切割机床 推广和发展。 关键词:水射流切割机c d 轨迹提取数据库轨迹仿真 t od e v e l o p w a t e r j e tc u t t i n gm a c h i n eb yc a d s y s t e m m a j o r :m e c h a n i c a ld e s i g na n dt h e o r y p o s t g r a d u a t e :l i n n gh ea d v i s o r :x i a n gz h o n g - f a n w a t e r j e tc u t t i n gm a c h i n ei sak i n do fa b n o r m i t yc u t t i n gt e c h n o l o g yw h i c hh a s b e e nd e v e l o p e di nl a t e ry e a r s a sak i n do fn e wm a c h i n i n gt e c h n o l o g y , i ti sn e e d e dt o c u ta n yf i g u r ea n da n ym a t e r i a l g r a p h i c ss y s t e mi nw a t e rj e tc u t t i n gm a c h i n eu s e s i n t e r a c t i o nt od r a w w h a tt h ec u t t i n gm a c h i n en e e dt od r a w , a n de x e c u t es o m ef u n c t i o n s u c ha sd r a w i n gt a n g e n t , s e i z i n ge n d - p o i n ta n ds o0 1 1 a l s ot h eg r a p h i c ss y s t e mc a n f i n dd r a w i n gt r a j e c t o r y a n da tl a s t , i no r d e rt oe s t a b l i s ht h ei n t e r f a c et oc a m ,i tc a l l s a v ef i g u r ei n f o r m a t i o nt od a t a b a s e f o ral o n gt i m e ,i no u rs t a t i o n , m a c h i n ec a d g r a p h i c ss y s t e mi s a tt h es t a n d a r do fd o so rs i n g l e b o a r dc o m p u t e r a l lo ft h e s e c a dg r a p h i c ss y s t e m sh a v enc o m n l o nd e f e c t :t h el e v e lo fa u t o m a t i o ni sl o w , a n d c a n td r a wc o m p l i c a t e df i g u r e h a v e n te n o u g ha c c u r a c y , a l s ot h e kc h a r a c t e r i s t i c s a r e u ts t a b l e ht h el a s ty e a r s s t u d yf o rg r a p h i c ss y s t e mh a sm a k es o m ed e v e l o p m e n t , b u tt h em o s tc u r r e n tc a d g r a p h i c ss y s t e ma r ev e r yc o s t l y ,a l s ot h e ya t e n ta d o p tt o t h en e e do fd i f f e r e n te n t e r p r i s e an e wc a dg r a p h i c ss y s t e mi sd e v e l o p e di nt h i sp a p e r t h i ss y s t e mh a s a c c o m p l i s h e dt a n g e n td r a w i n g , s y m m e t r yf i g u r ed r a w i n ga n ds e i z i n ge n d - p o i n t f u n c t i o n 弧w h i c hm a k eg r a p h i c sd r a w i n ge a s i e r b ye s t a b l i s h i n gg r a p h i c sd a t a i n t e r f a c e o p e r a t o r c a nd r a wa l lk i n d s o fg r a p h i c s a c c u r a t e l y b yf i n dd r a w i n g t r a j e c t o r y , t h es y s t e mc a na c c o m p l i s hm a c h i n i n gg r a p h i c s b ys a v i n gt h ei n f o r m a t i o n o ff i g u r et od a t a b a s ea n dv i s i t i n gd a t a b a s e ,t h es y s t e mc a ne s t a b l i s ht h ei n t e r f a c et o c a ms o a st oi m p r o v es y s t e ms t a b i l i t y b yg e t t i n gg r a p h i c si n f o r m a t i o nf r o m m d a t a b a s e t h es y s t e mc a na c c o m p l i s he m u l a t i n g , s o 硒t oc h e c kt h ea c c u r a c yo ff i g u r e s t h e r e f o r e , t h ea r t i c l ep u t se m p h a s i so nt h er e a l i z a t i o no fc a dg r a p h i c ss y s t e mi n w a t e rj e tc u t t i n gm a c h i n e t h er e s e a r c hc o n t e n t si n c l u d e : 1 a c c o r d i n gt oc h a r a c t e r i s t i c s t og r a p h i c ss y s t e mi nw a t e rj e t c u t t i n g m a c h i n e ,t h ea r t i c l ed e f i n e st h a tt h i sg r a p h i c ss y s t e mi sak i n do f2 - d i m e n s i o n a l g l a p h i c ss y s t e m :t h es y s t e mh a sr e a l i z e dd r a w i n ga l lk i n d so ff i g u r e ,f i g u r ee d i t i o n a n dd a t as a v i n g , a l s o ,t h e s y s t e mh a ss t u d i e d af e wt e c h n i c a lp r o b l e m s t h e s e p r o b l e m si n c l u d e :r u b b e r - b a n dt e c h n o l o g y , s e l e c t i o no fb a s i cf i g u r e ,e d i t i o no fb a s i c f i g u r e 2 t h es y s t e mh a sr e a l i z e da l lk i n d so fa s s i s t a n t f u n c t i o n s t h e s ef u n c t i o n s i n c l u d e :e n dp o i n tc a p t u r e ,d r a w i n gm i r r o rf i g u r e , a c c u r a t e l yd r a w i n g , f i g u r eo f c o n t a c t , f o n td r a w i n g 3 b e 圮a t l s ew a t e rj e tc u t t i n gm a c h i n e 啪tj u m pc u t t i n g , i t st m j e c t o r ym u s tb e c l o s e dc o n t i n u o u sc o r v e o p e r a t o rd o e s n td r a wa c c o r d i n gt oc u t t i n gt r a j e c t o r yw h e n h ed r a w s s o , w em u s tf i n dd r a w i n gt r a j e c t o r y t h es y s t e m 锄m a k et h ee n d - p o i n to f p r e c e d i n gf i g u r ea n dt h es t a r t p o i n to fl a t e rf i g u r ec o i n c i d e db yh a n d l i n ga l lf i g u r e s c i r c u l a r l y , a n dc r e a t e st h ec u t t i n gt r a j e c t o r yo f w a t e r j e tm a c h i n e 4 b u i l d i n gt h el i n k i n gt od a t a b a s e ,a n ds a v i n gf i g u r ei n f o r m a t i o nt od a t a b a s e a f t e rf i n d i n gc u t t i n gt m j e c t o r y t h es y s t e ma d o p ts q ls e r v e rd a t a b a s e 5 i no r d e rt ov 喇f yi ft h ef i g u r ei n f o r m a t i o ns a v e di nd a t a b a s ei sc o r r e c t , t h i s s y s t e mh a sr e a l i z e dd r a w i n gf i g u r ea c c o r d i n gt od a d ai nd a t a b a s e ,a n da l s oc o m p a r e t h ef i g u r ew i t ht h ef i g u r et h a tc u s t o m e r sw a n t i tw i l ls u g g e s td a ms a v e di nd a t a b a s ei s c o r r e c ti ft h ef i g u r ea c c o r dw i t hc u s t o m e r sn e f x l t h ec a di n t e r a c t i o ng r a p h i c ss y s t e mg i v e ni nt h i sp a p e ri se a s yt oo p e r a t e ,a n d i sd i f f e r e n tt op r e v i o u sg r a p h i c ss y s t e m sa p p l i e dt ow a t e rj e tm a c h i n ew h i c ha r eu s e d b ym a s t e r i n gs o m ec o d i n gs k i l l s i tc a nd r a wf l e x i b l ya n dd r a wa n yi n t r i c a t ef i g u r e i t sc h a r a c t e r i s t i c sa r es t e a d ya n de a s yt ou s e a p p l y i n gt h i ss y s t e mt ow a t e rj e t m a c h i n ei st oi m p r o v e d r a w i n ge f f i c i e n c ya n da c c u r a c yg r e a t l y ,w h i c hi sb e n e f i c i a lt o t h ep o p u l a r i z a t i o na n dd e v e l o p m e n to f w a t e r j e tm a c h i n e i v k e yw o r d s :w a t e rj e tc u t t i n gm a c h i n e , c a d , f i n dt r a i t t o r y , d a t a b a s e , t r a j e c t o r ye m u l a t i o n v 西华大学硕士学位论文 声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得 的研究成果。据本人了解,除了文中特别加以标注和致谢的地方外,论文中不 包含其他人已经发表或撰写过的研究成果,也不包含为获得西华大学或其他教 育机构的学位或证书而使用过的材料。 本学位论文成果是本人在西华大学读书期间在导师指导下取得的,论文成 果归西华大学所有,特此声明。 学位论文作者签名: 浆敛 导师签名:旷习丫扎 签字日期:岬年r 月,1 日 西华大学硕士学位论文 第一章绪论 1 1课题的来源及意义 1 1 1 课题来源 西华大学科研项目:水射流切割机床的研究。 1 2课题背景 1 2 1 水射流机床在国内外的应用 早在2 0 世纪6 0 年代,由于新型材料的不断出现,传统的切割工艺技术不 能满足许多新型材料的加工要求。一些国家开始研究一种新型的切割机床一 水射流切割机床。 水射流切割技术是上世纪6 0 年代后期迅速发展起来的一种异形切割技 术。作为一种新型加工技术,它的切削作用主要由水来完成,水在极大的压力 作用下,速度急剧增加,形成高速水射流,并以极高的速度经喷嘴冲击工件, 使工件上局部应力场应力高速集中,并快速变化,因而产生冲蚀、剪切,直至 材料被切除。 由于高压水射流具有热影响小、反作用小、切割速度高和切口质量好等优 点,目前已在数十个国家,几十个行业中得到应用,被广泛应用于金属、陶瓷、 石材、玻璃和复合材料的切割加工中,尤其在航空航天等高精尖行业更显优势。 在早期,一些发达国家:意大利、英国、美国、前苏联、日本等国家就投 入大量入力和物力去研究水射流切割技术“1 。直到1 9 7 1 年,美国终于研制出 了世界上第一台超高压力纯水射流切割机,简称纯水射流切割机,并在家具制 造业得至0 广泛应用。虽然纯水射流技术的切割能力较差,仅适用于切割布匹、 塑料、橡胶、木材等软质材料,但是它为磨料水射流切割机奠定了设备基础。 8 0 年代由美国研制出的磨料水射流切割机就是在水射流切割机床的基础上开 发的。它是切割机在使用纯水进行切割的基础上添加磨料后进行切割。 5 曲华大学硕十学位论文 近年,国外高压水射流技术的发展日趋完善,已经进入大量应用阶段。国 内在8 0 年代开始着手研究”1 。并于1 9 9 6 年,由南京理工大学与南京微分电机 厂合作组建的南京大地水射流设备公司开发的第一台水射流切割机真正应用 于工业生产,被誉为“中国第一刀”。迄今为止,国内高压水射流技术也已取 得了长足进步。 从整体上看,国内外“水刀”的主要技术水平相差不大,都处于产品未定 型阶段,还未形成一个稳定的产业体系。 水射流切割机今后的发展方向在于提高产品的熟练程度,将高压监控技术 与数控技术相融合,提高产品的自动化水平,使之更加符合机床的使用特征; , 发展产品序列化,针对不同的应用行业细分产品系列,实现高压等级、传动系 统、数控系统和c a d c a m 软件的合理配置,进一步拓展新的应用领域开发新的 产品品种:带动配套系统厂商和专用c a d c a m 软件的发展。 本项目研究的水射流切割机床顺应切割机的发展趋势,目的在于适应不同 企业具体情况的特殊要求,设计具有自主版权的切割机床c a d 图形系统,扩展 水射流机床的应用领域,进一步推动水射流机床的发展。鲫1 ” 1 2 2 水射流机床系统组成 超高压水射流切割机俗称“水刀”,其工作原理是:普通水经过高压泵, 将水压增至几十至几百m p a ,在喷头处经过特殊设计的、孔径极小的喷管小孔 射出一能量集中的、几百m s 的高速水射流,当射流能量大于被切割工件强度 时,通过冲击、剪切破坏和气蚀作用来分割工件,达到切断工件的目的,而不 会改变材料的物理和化学性能”1 。 超高压水射流切割加工是种以水为介质的新型切割工艺。机床主要包括 高压增压器、蓄能器、高压水磨料喷射系统、机械系统、c n c 控制器及c a d c a m 套装软件”1 。当常态水被高压增压器加压后,压力可增至1 5 m p a 以上,然后进 入超高压增压器( 高压增压器的增压比为2 4 :1 ,具体关系为:超高压= 高压 。 6 曲华大学硕士学位论文 x 增压比) ,经柱塞加压后压力可高达3 8 0 m p a ,再进入蓄能器管腔中,消除高 压脉动,经高压喷嘴射出,形成一股射流,使水获得巨大动能。当水射流冲击 被切割材料时,动能重新变成作用于材料上的压力能。如果压力能超过材料的 破坏强度,可对某种材质的物料进行切割。 1 2 3 水射流机床切割工艺特点及应用领域 超高压力水射流切割机的最大特点是:属于冷态切割,切割温度低( j :& 一 扫、 沪, 端点a6 i ,y i ) f i g u r e3 1 2p o s i t i o nr e l a t i o no ft a n g e n tl i n ew i t ha r c 图3 - 1 2 切线与圆弧位置关系 西华大学硕士学位论文 在图3 - i l 中从端点c 浴逆时针方向的圆弧应当删除,否则,在图形信息 存入数据库时就会将圆弧的端点信息保存,导致c a m 得不到连续的封闭图形轨 迹,切割机在切割时就不能正常进行加工。所以我们在绘制直线时,需要程序 能够根据直线的起点和圆弧的圆心自动找出切点在圆弧上的位置,并将用户绘 制好的直线、圆弧删除,根据直线的起点、切点、圆弧的圆心重新进行绘制, 保证最终能够得到图3 - 1 2 的结果。 切点计算由数学方法得到,主要用到几何知识。如图3 一1 2 ,直线起点x 1 , y 1 及圆弧圆心x ,y 是已知的,如果设切线1 2 的斜率为k ,则半径r 所在的直 线斜率应为一( i k ) 。根据两端点确定一条直线可以求解经过直线起点a 与圆 弧圆心的直线方程: y - y o = ( ( y o - y 1 ) ( x o x 1 ) ) 水( x x o ) ; ( y o - y 1 ) ( x o - x i ) 是肖线的斜率,直线斜率的反余弦就是该直线与x 轴正 方向夹角。从图中可以看出,直线3 逆时针转过角l 就得到直线1 ,也就是圆 弧切线。角1 ( 设为0 ) 可以由正切值求出: s i n0 = r ( ( x o - x 1 ) 2 + ( y o - y 1 ) 2 ) “2 可以得到: 0 = a s i n ( r ( ( x o x 1 ) 2 + ( y o - y i ) 2 ) v 2 ) 所以直线l 与x 轴正方向夹角( 设为b ) 为: b = a t a n ( ( y o y 1 ) ( x o x 1 ) ) + 0 直线1 的斜率k 可以求得为: k = a t a n ( 6 ) 这样切线的方程与经过切点的半径所在的方程均可以得到: y - y l = k * ( x x 1 ) y - y o = k * ( x x o ) 两方程联立即可就得切点坐标,此时程序需要做的就是删除先前用户绘制 的直线和圆弧,并根据切点坐标重新绘制直线与圆弧。使得切点作为新直线的 3 5 西华大学硕士宁位论文 终点,切点作为新圆弧的起点,就得到了图3 - 1 2 的效果。 在删除直线与圆弧之后还有一点就是要从链表中删除指向直线与圆弧的 指针,避免在图形重新绘制时将不需要的图形绘制出来。程序会根据图元的类 型,建立新绘制的图形指针,将其加入到链表中以保存和重新绘制。 圆弧的切线可以有两条,如图3 1 2 ,左边切线绘制原理是一样的,只是 由直线起点与终点的连线得到切线时是顺时针转动得到的,因此,切线与x 轴正方向的夹角应是: b = a t a n ( ( y o - y 1 ) ( x o - i l ) ) 一o 由a t a n ( b ) 可以求得切线的斜率k 。上式中0 的计算方法与前面是相同 的,程序会根据用户绘制的直线角度来判断8 是逆时针转动直线还是顺时针转 动直线。具体判断方法为:程序首先会把逆时针转动与顺时针转动得到的切线 斜率均求解出来,然后判断用户绘制的直线斜率与哪一条切线的斜率之差小于 规定值,选出此切线斜率及该斜率对应的切点,进行绘制。 圆弧相切中还有圆弧与圆弧相切,实现起来比圆弧与直线相切要简单些。 用户会先绘制出一条圆弧,程序记录下圆弧的半径与圆心。用户绘制下一条切 线时,程序根据前一圆弧的圆心与半径计算出相切圆弧的半径,根据此半径进 行绘制相切圆弧。绘制完毕后将指向该圆弧的指针添加到链表中。 3 5 字体绘制 就像w o r d 文档一样,各种风格的艺术字体绘制是切割机床图形系统部 分。因为切割机床经常需要加工字体一类的图形。在字体绘制中,我们不需要 亲自动手绘制各种形状和风格的艺术文字,这是很难做到的,因为字体的类型 有几十种甚至上百种,每种风格的字体是什么样子的我们也不会很清楚,切割 机床的操作者不会像艺术家那样能够熟练的画出各种艺术字。他们都希望系统 能够列出所有的字体,操作者可以选择其中的任意一种;并且能够通过对话框 西华人学硕士学位论文 设置字体的高度、宽度以及是否倾斜等;当操作者对字体的设置完成后,系统 会在对话框的底部显示我们设置得字体效果,如果操作者对自己的选择比较满 意的话就可以单击对话框中的“确定”按钮,系统能够根据操作者的要求自动 得在窗口中进行绘制,就像人们在w o r d 文档中实现各种艺术字体的绘制,本 系统也实现了这种功能,下面进行介绍。 首先,用户需要在“e n t e rs o m et e x t ”编辑框中输入将要绘制的字体, 然后要设置对字体的要求,如:字体类型、高度、宽度以及是否倾斜等,设置 完成后操作者可以在“f o n ts a m p l e ”中进行预览,如图3 一1 3 。 f i g u r e3 - 1 3f o n td i a l o g 图3 - 1 3 字体对话框 图中上面一个编辑框,用户需要向其中输入将要显示的文字,”s e l e c ta f o n t ”对应的是一个列表框,用以列举所有可用字体。”f o n th e i g h t ”对应 的编辑框中,用户可以输入需要显示的字体高度,”f o n tw i d t h ”对应的编辑 框中输入字体的宽度,”i t a l i c ”对应的编辑框决定字体是倾斜还是非倾斜, 倾斜时用户输入1 ,非倾斜时用户输入0 。”f o n ts a m p l e ”所在的静态框中显 西华人学硕士学位论文 示字体效果,用户可以在这里进行顾览,看字体是否令人满意。 设置好对话框后,需要建立对话框对应的类以及各编辑框和列表框对应的 变量。编辑框的使用在精确绘制图形中已经提到,本处用到的主要是列表框。 程序需要在列表框中显示所有可用字体。向列表框中输入内容有两种方法,一 种是直接输入,一种是调用w i n d o w sa p i ( 程序编程界面) 函数。直接输入的 方法显然不合适,因为字体类型有几十种、甚至上百种,徒手输入就会浪费很 长时间和精力,而且这种方法也很落后。我们采用调用w i n d o w sa p i 函数的方 法。 系统要建立自己的字体列表,需要添加回调函数来获得字体列表,并且将 它添加到对话框窗口的列表框中,回调函数格式如下: i n tc a l l b a c km y e n u m f o n t p r o c ( e n u m l o g f o n t e x * i p e l f ,n e w t e x t m e t r i c e x i p n t m ,d w o r dn f o n t t y p e ,l o n gi p a r a m ) ; 有了回调函数,接下来需要添加一个函数从操作系统中获得字体列表,在 这个函数中需要调用e n u m f o n t f a m i l i e s e x 函数,该函数有5 个自变量,例如: :e n u m f o n t f a m i l i e s e x ( ( h d c ) d c ,& l f ,( f o n t e n u m p r o c ) m y e n u m f o n t p r o c ,( l p a r a m ) t h i s ,0 ) ; 第一个自变量是设备上下文,可以是c c l i e n t d c 类的一个实例。第二个自 变量是一个指向l o g f o n t 结构体的指针,这个结构体包含你要列出的字体的信 息。第三个自变量是用来建立字体列表的回调函数的地址。第四个自变量是一 个l p a r a m 值,它被传递给回调函数。 如果在列表框的字体列表中有很多相同的条目,我们可以建立一个循环,。 来判断类标中是否有相同的内容,有相同的内容则需要将重复部分删除。循环 的控制变量是是用g e t c o u n t 得到的列表内容个数。 在对话框中,我们建立了一个静态编辑框用以进行字体设置预览。要实现 这个功能我们需要设定静态对话框对应的变量值等于编辑框对应变量的值。在 显示之前,我们要创建显示的字海,今又中使用c s t r i n g 的c r e a t e f o n t 函数创 州华人学硕十学位论文 建字体。例如: m _ f s a m p f o n t c r e a t e f o n t ( ( r r e c t h e i g h t 0 5 ) ,0 ,0 ,0 ,f w _ n o r m a l ,0 ,0 ,0 ,d e f a u l t _ c h a r s e t ,o u t - c h a r a c t e r p r e c i s ,c l i p _ c h a r a c t e r p r e c i s ,d e f a u l t _ q u a l i t y ,d e f a u l t _ p i t c hi f fd o n t c a r e ,m s t r f o n t n a m e ) ; c r e a t e f o n t 函数用以指定使用的字体,同时还可以指定字号、字形以及 方向、是否倾斜、绘制位置、颜色等字体信息。 调用c r e a t e f o n t 函数,程序通过对话框中各控件对应的变量得到用户输 入的信息,程序就会自动设置出需要的字体,并在静态对话框中显示出来,使 得操作者可以在绘制字体之前进行预览,可以检查设置的字体效果如何,是否 令用户满意,如图3 - 1 4 所示。 f i g u r e3 1 4v i e wf o n te f f e c t 图3 一1 4 字体预览效果 实现了预览,我们可以使用同样的方法在窗口中完成字体绘制,也是调用 c r e a t e f o n t 函数,运行后的结果如图3 一1 5 所示。本系统是在窗口的左上角进 行绘制的。因为切割机的图形系统主要是用来绘制机床加工的图形,并不是为 了欣赏,所以本系统对于字体的颜色设置采用了比较简单的方法,均采用黑色。 3 9 两华大学硕十学位论文 其余的开发者可以根据自己的需要进行设置。 f i g u r e3 - 1 5f o n td r a w i n g 图3 一1 5 字体绘制 用户可以根据需要设置各种风格的字体,最后绘制在窗口中,用户可以使 用各种绘图工具沿字体边缘描绘字体,如图3 一1 6 所示。 图3 一1 6 字体描绘效果 西华人学硕士学位论文 绘制出图形后用户就可以提取图形轨迹,生成实际加工图形并将图形信息 保存到数据库。 4 l 西华大学硕士学侮论文 第四章图形轨迹提取 利用本文建立的交互式图形系统界面,我们可以很方便的绘制出用户需 要的各种图形。图形绘制出来之后,我们要将这些图元的信息存储到数据库 中,作为与其它软件( 本论文中为c a m ) 的数据接口。文档中即保存了图元 的几何信息( 如位置等) 又保存了图元的非几何信息( 如图元的线型、线宽、 线条颜色等) ,而数据库只要求保存图元的位置信息,其他的都可以忽略。 4 1图形轨迹生成 在实际描绘机床切割加工的轨迹时,用到的图元有直线、圆、圆弧、矩 形等。对于直线需要提取起始点和终止点坐标。2 h “,对于圆需要提取圆心坐 标和半径,圆弧则需要提取圆心坐标、半径、圆弧起始角和终止角,矩形与 直线相同。 由于在交互式绘图系统中需要编辑大量的、数目不定的图形,本文在文 档类中定义了动态链表:m _ o b j e c t s ,该链表是c t y p e d p t r l i s t 类型、基类为 c o b l i s t 的动态链表,可以保存各图元指针。动态链表的长度不必在定义时 指定,在对它进行操作时可以不断增加它的长度,使得该链表更适合于本文 的图形绘制软件d 4 1 。 本系统在图元类中不仅定义了绘制各种图元的操作函数,也定义了保存 图元位置信息的变量: p u b l i c : c p o i n t m _ t h e s t a r t p o i n t :保存图元起点 c p o i n t mt h e l a s t p o i n t :保存图元终点 d o u b l emt h e r a d i u m :保存图元半径 c p o i n t m t h e c e n t e r :保存图元圆心 4 2 西华人学硕十学位论文 d o u b l e m _ t h e s t a r t a n g l e :保存图元( 本文中为圆弧) 起始弧度 d o u b l e m _ t h e e n d a n g l e :保存图元( 本文中为圆弧) 终止弧度 我们把这些变量定义在基类中,以保证各种图元的位置信息可以由同一 类型的指针读取,如果像一般的图形软件那样,分别把这些变量放在各个具 体图元类中将使得图元读取变得很繁琐,而且会降低系统的稳定性。 定义在基类中可以使得各图元的指针很方便的访问图元位置信息( 变量 中保存的位置信息均采用逻辑坐标) ,不仅利于对各图元的编辑操作,也利 于图形信息的提取,将图元的几何信息保存到数据库。 在存储图元位置信息时,我们都知道,图形绘制函数和鼠标消息函数均 采用设备坐标。设备坐标是相对于绘制窗口而言的。如图4 1 。 f i g u r e4 1t h ep o s i t i o na f t e rf o l l i n g 图4 - i 滚动后的位置 在没有滚动条时,我们还可以得到图元正确的位置信息,但使用滚动条 4 3 西华人学硕十学位论文 后就会出错,这时就不能把由鼠标单击得到的位置信息直接存储到数据库中。 这时因为,图元在绘制时,我们对图形的定位即传递给绘图系统的是逻辑坐 标,绘图类采用设备坐标来绘制图形。如果没有滚动视图窗口,在m m _ t e x t 映射模式下,设备坐标与逻辑坐标是重合的,这时用鼠标在视图窗口能够“正 确”画图。但是,如果没有滚动条,在图形过大,部分图形如果在视图窗口 外时,则将观察不到窗口之外的那部分图形,用户只能浏览和编辑窗口内的 部分。为了能够浏览全部的图形,就要在窗口中添加滚动条。在添加滚动条 后,如果视图窗口进行了滚动,此时窗口的原点与画图板的原点将分开,这 时绘图函数所画的图都是相对于窗口左上角而不是画图板左上角。如果所绘 制的图形都是相对于窗口左上角,那么窗口发生滚动时,鼠标位置与这个滚 动操作都没有关系,它绘制的图形总是相对于窗口的左上角点。如图4 - 2 与 图4 3 。 f i g u r e4 - 2d r a w i n gf i g u r eb e f o r er o l l i n g 幽4 - 2 屏幕滚动前进行的绘制 图中的实线表示x 坐标轴与y 坐标轴,实线交点是坐标系原点。如果不 4 4 西华人学硕士学位论文 经过坐标转换,由于图形绘制函数是采用设备坐标进行绘制的,始终以窗口 的左上角为原点,而不是以我们规定的世界坐标为原点。屏幕在发生滚动前, 我们使用精确绘图对话框在( o ,0 ) 坐标绘制出图4 1 的圆弧。然后我们把 屏幕进行滚动,如图4 - 3 所示,继续使用精确绘图对话框,同样在( o ,o ) 坐标点绘制一个圆弧,程序运行结果如图4 - 3 所示。 f i g u r e4 3d r a w i n gf i g u r ea f t e rr o l l i n g 图4 - 3 屏幕滚动后用户绘制的图形 可以看出,系统绘制图形与我们设定的世界坐标没有发生任何关系,没 有对图形位置起到约束作用。如果不进行坐标转换直接将图元位置信息保存 到数据库则得到的位置坐标将是相同的,虽然我们的本意并不是这样。所以 我们就得不到图形的正确位置。所以图元位置信息在存储之前我们要进行坐 标变换,将设备坐标转换为逻辑坐标以正确确定图元位置,保证切割机的喷 头正确切割。我们可以利用c d c 类提供的坐标转换函数:c d c :d p t o l p ,之后 我们就可以将带有图元逻辑坐标的变量进行保存。 我们将指向各个图元的指针添加到m _ o b j e c t s 链表中,通过图元指针可 4 5 醇华人学硕士学位论文 以得到图元的起点、终点、圆心、半径等信息。 图形轨迹提取内容如下所示: 直线图元 t y p e 一一图元类别标志号( 直线规定为3 ) s t a r t p o i n t x m 一直线起点x 坐标 y 坐标 l a s t p o i n t x 一直线终点x 坐标 坐标 矩形图元 t y p e 一一图元类别标志号( 矩形为4 ) s t a r t p o i n t x 一矩形左上角x 坐标 左上角y 坐标 l a s t p o i n t x - - - 矩形右下角x 坐标 右下角y 坐标 圆图元 t y p e 一一图元类别标志号( 圆形为7 ) c e n t e r x 一一圆心x 坐标 标 s t a r t p o i n t y - - - 直线起点 l a s t p o i n t y - - - 直线终点y s t a r t p o i n t y u 一矩形 l a s t p o i n t y - - - 矩形 c e n t e r y - - - 圆心y 坐 r a d i u i 矿一一圆半径 圆弧图元 t y p e 图元类别标志号 s t a r t a n g l e - - 一圆弧起始角度e n d a n g l e 圆弧终止角度 c e n t e r x 一圆心x 坐标c e n t e r y 一圆心y 坐标 r a d i u m - - - 圆弧半径 要提取图形信息,只是保存图元的位置信息是不够的。图形的绘制顺序 与切割机喷头的切割顺序不一定会保持一致。如图4 3 ,系统经过扫描后得 4 6 州华人学硕士学位论文 到艺术字,操作者要对得到的艺术字进行切割。所以本系统需要做的是根据 扫描得到的字体,利用本系统提供的界面对其重新绘制,以得到其位置信息 并传递给c a m ,与控制系统一起驱动水射流切割机的喷头以切割出需要的艺 术字体。 f i g u r e4 4f i n dd r a w i n gt r a j e c t o r y 图4 - 4 图形轨迹提取 在图4 - 3 中,以字体左边部首为例,加工方向用第一元素的起点( b ) 和 终点来表示,测出a 、b 、c 、d 、e 几处的实际位置。本图中a 为引入点,经 b 、c 、d 、e 沿顺时针回到b ,之后加工其余部分。 图元信息存储时是按绘图顺序存放的,由于用户在绘制图形时不一定会 按照某一种特定的方向进行,例如总是按顺时针进行绘制或总是按逆时针绘 制。即使是用户在绘制图形时选择了某一个特定的方向,又由于在绘制过程 中不可避免的要对图元进行各种编辑,如对误操作要进行取消,对图元要进 行删除、平移等操作。这都会打乱图元的生成顺序,使得在图形中,坐标位 置上相邻的图元其存储在链表中的指针不一定相邻,即链表中存储的上一图 元的终点不能与下一图元的起点相毗邻。机床的喷头在进行切割时无法跳跃 加工,所以对各图元必须按切割加工顺序重新排列,构成图形元素之间的拓 4 7 婀华大学硕士学位论文 扑关系,生成基本加工路线。如图所示,图4 5 为图元信息处理流程图。 f i g u r e4 - 5f i g u r ed a t ah a n d li n gf l o wc h a r t 图4 - 5 图元信息处理流程圈 在设计应用程序时,一般都会创建一个链表,链表是一个包含指向前一 个( 或后一个) 元素指针的数据集合。当链表指针只是指向同一方向,比如 说从最后一个到第一个,这是单链表。如果链表中包含了使得在任何节点都 可以向两个方向移动的指针,这就是双链表。双链表一般都建立在堆上,在 需要的时候才建立和插入。 本系统采用的就是c t y p e d p t r l i s t 类型的双向动态链表m _ o b j e c t s ,这 样不仅可以保证我
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 合伙人撤资合同
- 2024年甘肃客运从业资格证实操考试题库及答案
- 论电子商务的发展论文
- 追加诉讼请求申请书4篇
- 2024中山市劳动合同范文
- 2024个人贷款抵押房屋保险合同
- 2024劳务合同范本样本劳务合同范本大全
- 2024的国际货物买卖合同解释与分析
- 规划课题申报范例:“三教”改革背景下教材改革的实践研究(附可修改技术路线图)
- 深圳大学《游泳俱乐部》2021-2022学年第一学期期末试卷
- 野兽派 beast 花店 调研 设计-文档资料
- 水泵房每日巡视检查表
- 杭州市区汽车客运站临时加班管理规定
- 垫片冲压模具设计毕业设计论文
- 常见矩形管规格表
- 冷库工程特点施工难点分析及对策
- Python-Django开发实战
- 小学道法小学道法1我们的好朋友--第一课时ppt课件
- 路由和波长分配PPT课件
- 光伏组件开路电压测试记录
- 配电箱安装规范
评论
0/150
提交评论