(机械电子工程专业论文)计算机辅助二维排料与数控自动编程系统的实现.pdf_第1页
(机械电子工程专业论文)计算机辅助二维排料与数控自动编程系统的实现.pdf_第2页
(机械电子工程专业论文)计算机辅助二维排料与数控自动编程系统的实现.pdf_第3页
(机械电子工程专业论文)计算机辅助二维排料与数控自动编程系统的实现.pdf_第4页
(机械电子工程专业论文)计算机辅助二维排料与数控自动编程系统的实现.pdf_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

华北电力大学硕士学位论文摘要 摘要 二维零件的排放问题在工业生产中应用十分广泛,所以本论文以此展开研究。 根据前人的理论和生产中的实践经验,本论文提出了一种新排料算法,即用包络矩 形代替零件图形的实际轮廓,依次根据零件的数量和大小对板材分块排放,并及时 补充未用空白区域。以v i s u a lc + 十和o b j e e t a r x 为开发工具,在a u t o c a d 环境下,编 制了相应的自动排料系统软件,该系统包括三个主要功能模块:预处理模块,使 a u t o c a d 零件图形适合于自动排放和数控编程处理:自动排料模块,验证了上述算 法的可行性和实用性:数控火焰切割与数控线切割的数控自动编程模块,可以对排 料图或零件图自动搜索切割轨迹,并生成数控代码,保存为a s c i i 文件。 关键词:优化排料,数控自动编程,a u t o c a d ,o b j e c t a r x a b s t r a c t i t sw e l lk n o w nt h a tp a c k i n go ft w o d i m e n s i o n a lp a r t si s a p p l i e de x t e n s i v e l yi n i n d u s t r i a lp r o d u c t i o n t h e r e f o r e ,t h i sp a p e r ss t u d yb e g i n sw i t ht h ep r o b l e m b a s e do n e x p e r i e n c e sf r o mp r e d e c e s s o r sa n dp r o d u c t i o np r a c t i c e s ,i nt h i sp a p e r ,an e wa l g o r i t h m t h a t ,r e p l a c e dw i t ha p p r o p r i a t er e c t a n g l ee n v e l o p i n ga c c e s s o r i e s o u t l i n e s ,t h ep a r t s d r a w i n g sa r el a i d i ns p e c i f i cr e g i o n sd i s t r i b u t e dd y n a m i c a l l ya c c o r d i n gt ot h e i rc o u n t s a n ds h a p e sb ya ne x a c tt u r nt h e nf i l lt h eo d dv a c a n tr e g i o ni nt i m e ,i sp u t t e df o r w a r d s w i t ht h ed e v e l o p m e n tt o o lo fv i s u a lc + 十a n do b j e c ta r xu n d e ra u t o c a d a t w o d i m e n s i o n a la u t o m a t i cl a y o u ts y s t e m ,w h i c hi n c l u d e st h ep r e t r e a t m e n tm o d u l et h a t m a k e st h ep a r t sd r a w i n gs u i t a b l ef o rt h ef o l l o w i n ga u t o l a y o u ta n dn cp r o g r a m m i n g t r e a t m e n t ;t h ea u t o l a y o u tm o d u l ep r o v i n gt h ea l g o r i t h mm e n t i o n e da b o v et ob ef e a s i b l e a n de f f e c t i v e ;t h en ca u t op r o g r a m m i n gm o d u l ef o rt h en cf i r eo rt h r e a dc u t t i n gt o o l s , w h i c hs e a r c ht h ec u t t i n gt r a c ka u t o m a t i c a l l yt o g e tt h ec o r r e c tn cc o d et h a ti ss a v e da s a n a s c i in 】e l i uc h o n g l u n ( m e c h a n i c e l e c t r o n i ce n g i n e e r i n g ) d i r e c t e db yp r o eh a n q i n g y a o k e yw o r d s :o p t i m a ll a y o u t , n ca u t o p r o g r a m m i n g , a u t o c a o , o b j e c ta r x 一 声明 本人郑重声明:此处所提交的硕士学位论文计算机辅助二维排料与数控自动编程 系统的实现,是本人在华北电力大学攻读硕士学位期问,在导师指导下进行的研究工 作和取得的研究成果。据本人所知,除了文中特别加以标注和致谢之处外,论文中不包 含其他人已经发表或撰写过的研究成果,也不包含为获得华北电力大学或其他教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论 文中作了明确的说明并表示了谢意。 学位论文作者签名:幽莹! 乞日期:丝翌厶么箜 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权 保管、并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或 其它复制手段复制并保存学位论文;学校可允许学位论文被查阅或借阅;学校 可以学术交流为目的,复制赠送和交换学位论文:同意学校可以用不同方式在不同 媒体上发表、传播学位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名:幽蛊丝 日期:趔、一6 导师签名: 日期: 弛 华北电力大学硕= i :学位论文 黧课题研究目的和意义 第一章绪论 二维优化排料问题是指在一定尺寸的矩形区域内尽可能多的排放一系列形状 的二维几何图形,要求几何图形排放在矩形区域内,各图形互不重叠,并满足一定 的工艺要求,从而使得此矩形区域的利用率尽可能的高l l j 。这项工作广泛应用于造 船、汽车、电力、钣金、皮革、家具、服装及造纸等生产行业。 按照其应用范围的不同,二维排料问题可以分为以下几类1 2 j : ( 1 ) 应用于造船汽车制造等行业,零件一般是外形复杂的不规则零件,要求 排料图适合于数控火焰切割、数控线切割、激光切割及等离子切割等零件切割手段; ( 2 ) 应用于冲裁模,要求排料结果适于冲裁切割方式分离零件; ( 3 ) 应用于机箱、机柜等钣金类产品的生产,适于以加工矩形零件为主的板 料柔性加工系统,这类零件的切割工具主要有数控冲床、数控剪床等加工设备。 材料费用在产品成本占有很大比重,据资料显示 3 1 :材料的费用约占零件总成 本的6 0 以上,尤其是大批量生产时,只要对优化排料算法有所改进,减小材料的 废料率,即使是材料的利用率提高1 ,也就可以大大降低成本,提高产品竞争力, 从而收到明显的经济效益。而合理排料是提高材料利用率的主要手段。 实际的生产中零件多为不规则形状,所以排料问题是寻找平面最优布局的优化 问题,即将一系列不规则零件p l ,p 2 ,p i ,p 合理的排放在原料p 中,使原 料p 的利用率( 不规则零件的面积之和使用板料p 的面积) 最高,即 ( y a r e a ( p i ) ) a r e a ( p ) 取最大值,并满足约束条件: ,= 1 ( 1 ) p i 、p i 互不重叠;其中i ,- - 1 ,2 ,n ; ( 2 ) p i 位于p 范围内;其中i i l ,2 ,n ; ( 3 ) 满足一定的工艺切割要求。 排料是优化组合的一类典型问题,从数学计算的复杂性理论来看,它属于具有 最高复杂性的一类问题一n p 完全问题【3 1 。根据计算和难解性理论,目前还没有解 决完全类问题的多项式算法。凭当前的计算技术和硬件条件去求该问题的最优解是 很困难的,而由于生产实际的需要,人们又迫切需要利用现代科学手段得到一些能 满足生产需要的算法。这些算法应该在可以接受的好解,即虽不是最优解,但接近 最优解,并且比人工排料效率高,能达到或超过人们所期望的材料利用率。 随着现代科学技术的发展,数控火焰切割机床,数控线切割机床,数控下料铣 华北电力大学顺:l 学位论文 床,数控剪裁机及激光切割机以相继问世,并且当今数控机床正朝着灵活,多功能, 开放化的方向发展,为现代化生产提供了高效率,高精度的切割手段口j 。因此,从 进一步发挥这些设备优越性的角度考虑,配之以自动排料系统都是非常必要的。如 果将传统的人工排料经验,数字领域的组合算法以及c a d c a m 技术结合起来,设 计并实现一套计算机辅助优化排料的数控切割系统,将计算机与数控切割机有机结 合起来,由计算机根据排料的结果产生数控加工代码程序,则可以实现排料和下料 过程的自动化。在大批量排料过程中具有明显的优势,可以取得显著的经济效益, 具有广阔的推广前景。 蒸鬟课题国内外研究情况 1 2 1 国外学者研究情况h 3 多年以来,国内外一些学者对解决优化排料问题己作了大量的研究工作,例如 对不规则物体的布局问题,采用计算机的图形处理技术及算法将其转化为矩形件的 布局问题。对于矩形件排料算法,作为组合优化问题,早己引起数学界的重视,如 b r o o k s f l 9 4 0 ) ; hc o n v a y ( 1 9 6 4 ) 都对此问题作过研究。直到9 0 年代,随着计算机辅助 设计的广泛应用,用计算机解决该题并在工业设计中进行应用才被引起重视。h a i m s 和f r e e m a m 规划方法,这种排料方法对待排零件数量是不受限制的,每一步都将矩 形零件或者矩形组件放在料板的一个角上:a d a m o w i c z 和a l b o n d 算法,在矩形布 局阶段采用了多级动态优化的方法,然而在解决有特殊限制的排料问题时,这种算 法却不尽人意:c h r i s t o f i d e s 和w h i t l o c k 提出了一种利用树搜索解决矩形物体布局的 算法。该算法将动态规划和运算规则融于树的搜索之中,通过施加“使布局模式最 优化”这一限制条件来缩小搜索树的大小,适用于中等规模的矩形物体优化布局方 案的确定。 1 2 2 国内学者的研究情况。3 国内对二维不规则件排样问题的研究起步较晚,近十几年爿。开始的。对排料问 题的处理有人采用直接排料的求解的方法,此方法难度较大,效果也不理想,目前 其比较认同的方法是采用启发式搜索的方法j 。另外,也有许多人采用两个阶段的 算法,梅宏就零件的表示及聚合做过详细的论述,他将零件( 即封闭的二维图形) 分 解成圆弧、圆及直线等基本元素,用统一的数据结构来表示图形单元。将所有的零 件都用适当的多边形来逼近,经过多种形式的多边形聚合,再用适当的矩形来代替 多边形,从而对矩形排料。 对于矩形的排料,黄有群的方法是分两步考虑:一是自动排料;二是交互排料, 并且两者可交替进行。计算机自动排料基本上是一种局部优化的方法,即在一张板 华北电力大学硕二l 学位论文 材上排放尽可能多的零件,这属于第二类排料问题。对于第一类排料问题( 即零件数 一定,板材数不限) 的解决并非最优算法,同时在排料中修改零件位置的策略不够灵 活,这就为自动排料后的交互调整留下了余地和必要。 国内目前也有不少学者在布局问题方面做了些研究,并且研制这方面的软 件。例如武汉大学并行计算研究小组由模拟退火算法解决大规模组合优化问题【8j , 但其解过分依赖于模拟退火算法冷却进度表的参数的选取,而且该算法适用于并行 计算。但由于这些软件没有经过大力的推广,以及软件不是很成熟,所以软件的影 响不是很大。 瓣前人对排料问题研究的主要经验阳1 前人对二维排料问题处理大致可以分为以下两类。 第一类是矩形零件的排料问题,矩形零件的排料问题是前人研究的热点问题, 此类问题按照具体要求的不同可以分为两类:一类是板材长度不限制,而矩形零件 的数量固定,要求合理排料使耗材最少;另一类是板材长度宽度均限制,要求在板 材的有限区域内排放出尽可能多的矩形零件。 第二:类是不规则零件的排料问题,这类问题是很难处理的。实际生产中的零件 多为不规则形状,此类问题的研究更具有现实意义,对该问题的研究方法大致分为 两类: ( 1 ) 最小包容矩形法此方法的主要思想是将单个或多个不规则零件求取最 小包容矩形,然后按矩形零件的排料方法进行处理,该方法的优点是使不规则零件 排料的问题得到了简化,缺点是对于高度不规则的零件会造成材料的浪费; ( 2 ) 直接处理法该方法模拟人工排料的思路进行排料,每次排放一个零件, 进行碰撞比较,以得到最优排料方案,但花费大量的搜索时间,也容易造成计算机 系统死机,或者只求得局部最优解而难以达到整体的最优。 1 4 本论文的主要工作及目标 本论文在对前人关于不规则零件排料问题研究成果的吸取借鉴的基础上,着重 对不规则零件的排料进行研究,约束条件是板材长度宽度均为有限值,在板材上排 放尽可能多的零件图形,并进一步开发适于排料图和零件图的数控自动编程软件系 统,自动搜索切割的走刀路线,并使生成的数控加工代码可以直接被数控切割设备 所接受,并能根据此代码加工出要求的零件。 本论文的具体工作内容: ( 1 ) 任意给定零件( 规则或不规则) 的几何形状和数量,经过必要的预处理 华北电力大学硕:l 学位论文 后,能够在规则的板材上进行排放,且适于生成基于数控线切割和数控火焰切割的 数控加工代码; ( 2 ) 选择合适的排放次序和合理的规则,将处理过的零件图形在板材上进行 排放,并获得板材的高利用率,并可以对排料图的利用率进行查询; ( 3 ) 对于经过本系统处理过的零件图或排料图,可以通过本系统自动生成基 于数控火焰切割和数控线切割的数控加工代码,并可以进行模拟切割; ( 4 ) 通过一定数量的排料实验和模拟切割实验,验证算法的合理性,软件系 统的可行性,并对软件所生成数控切割程序进行现场切割实验,验证其有效性。 华北电力大学硕:l 学位论文 第二章系统的开发环境的简介及总体设计 2 1a u t o c a d 开发工具及其特点n a u t o c a d 是美国a u t o d e s k 公司的产品,已经成为c a d 行业的旗舰产品,在各 行各业中得到了广泛的应用,受到了世界各地数以千万计的用户的青睐。在我国 a u t o c a d 也是应用到了各行各业。所以本论文选择以a u t o c a d 作为开发平台,来 开发二维训算机辅助排料及数控自动编程的软件。 为了利用a u t o c a d 进行二次开发,以便实现各种工程项目的设计工作与具体 的零件加工等,a u t o d e s k 公司为用户提供了4 种对a u t o c a d 进行二次开发的工具: a u t o l i s p 、a d s 、o b i c o ta r x 和v b a 。其中,a u t o l i s p 是伴随a u t o c a d 发展的一 种解释型编程语言;a d s 是种c 语言的开发工具,作为组a u t o l i s p 外部函数 由a u t o l i s p 解释器装入、解释并请求a u t o c a d 运行;而o b j e c ta r x ( a u t o c a d r u n t i m ee x t e n s i o n ) 是a u t o d e s k 公司从a u t o c a d r l 3 c 4 版开始提供的种面向对象 的新的编程环境,包含了一系列的类库和头文件。使用o b j e c t a r x 开发的程序编译 后实际上是一种w i n d o w s 动态链接库( d l l ) ,这种d l l 程序与a u t o c a d 的核心 结合的更为紧密,运行速度和稳定性都比a d s 程序有较大的提高。 2 20 b j e c ta r x2 0 0 0 的开发环境及特点”1 o b j e c ta r x 2 0 0 0 是基于a u t o c a d2 0 0 0 的新一代功能强大的二次开发工具,它 提供了以m i c r o s o f tv i s u a lc + + 6 0 为基础的面向对象开发机制。在o b j e c t a r x2 0 0 0 中包含了用来创建d l l 应用程序、直接访问a u t o c a d 数据库结构、显示a u t o c a d 实体等功能的类库,还包含一些基于m f c 的类库,使用户可以利用m f c 创建与 a u t o d e s k 内建界面完全一致的用户界面。此外,用户还可以在现有的a u t o c a d 类 层次的基础上派生自定义类,用来扩展a u t o c a d 类和协议。与a u t o l i s p 和a d s 程 序相比,a r x 应用程序更加高效、更加稳定、更能充分地利用a u t o c a d 开发的体 系结构。因此o b j e c t a r x2 0 0 0 成为a u t o c a d 用户首选的二次- 7 1 二发工具l ”j 。 由于o b j e c ta r x 的以上优点,所以本论文采用o b j e c ta r x2 0 0 0 对a u t o c a d 进行二二次开发。o b j e c t a r x2 0 0 0 的开发环境是w i n d o w s 9 8 、w i n d o w s n t 、w i n d o w s x p 和a u t o c a d2 0 0 0 ,使用的开发工具是o b j e c t a r x2 0 0 0 开发工具包和m i c r o s o f t v i s u a lc + + 6 0 及以上版本。 2 ,21 建立a r x 程序的基本步骤盯 由于a r x 程序是一种可以共享a u t o c a d 地址空间并对a u t o c a d 进行直接调 华北电力大学硕士学位论文 用的动态链接库,因此可按照以下步骤建立a r x 命令: ( 1 ) 创建自定义类来实现新的命令。用户可以从a r x 类层次关系中的大多数 类和符号表类中派生自己的类。 ( 2 ) 决定a r x 程序应该响应的a u t o c a d 消息。a u t o c a d 通过向a r x 程序 发出一系列的消息指明在它内部发生的特殊事件,a r x 程序必须对其中的某些消息 做出反应,并触发相应的操作。 ( 3 ) 实现应用程序与a u t o c a d 通信的接口。a u t o c a d 通过函数a c r x e n t r y p o i n t ( ) 函数来调用a r x 程序,而不是像普通的c + + 程序那样使用m a i n ( ) 函数。函数 a c r x e m r y p o i n t ( ) 中可以使用s w i t c h 语句处理a u t o c a d 的各种返回信息,根据不同 信息执行不同的函数,并返回状态码。如果针对特定的消息返回出错码,则必须使 用c a s e 语句来处理。最后,必须使用a c l l x :k r e t o k 作为函数a c r x e n t r y p o i n t ( ) 的最 终返回值。 ( 4 ) 完成a r x 程序的初始化。用户必须在a c r x e n t r y p o i n t ( ) 函数的 a c r x :k i n i t a p p m s g 事件中或者该事件调用的函数( 如:i n i t a p p ( ) 函数) 中,对程 序中自定义的所有类进行初始化,然后调用a c e d r e g c m d s a d d c o m m a n d ( ) 函数在 a u t o c a d 命令堆栈中注册新命令。 ( 5 ) 实现卸载( u n l o a d ) 功能。用户必须在a c r x e n t r y p o i n t ( ) 函数的 a c r x :k u n t o a d a p p m s g 事件中或者该事件调用的函数( 如u n l o a d a p p ( ) ) 中,调用 a c e d r e g c m d s 一 r e m o v e g r o u p ( ) 函数i n i t a p p ( ) 函数中注册的新命令组从a u t o c a d 命 令堆栈中清除,调用d e l e t e a c r x c l a s s ( ) 函数清除程序中自定义的类,然后删除所有 由应用程序添加到a u t o c a d 中的对象,并清除所有与a c d b o b i e c t 、a e d b d a t a b a s e 、 a c r x d v n a m i c l i n k e r 或a c e d i t o r 对象相关联的事件反应器。 2 2 2a u t o o a d 与a r x 程序问的消息传递 a u t o c a d 向a r x 程序发送四类消息: ( 1 ) 发送给所有的a r x 程序的消息:k i n i t a p p m s g 、k u n l o a d a p p m s g 、 k l o a d d w g m s g 、k p r e q u i t m s g 。 ( 2 ) 只发送给通过调用a c e d d e f u n ( ) 函数注册a u t o l i s p 函数的a r x 程序的消 扈、:k u n l o a d d w g m s g 、k l n v s u b r m s g 、k e n d m s g 、k q u i t m s g 、k s a v e m s g k c f g m s g 。 ( 3 ) 只发送给注册s e r v i c e 对象的a r x 程序的消息:k d e p e n d e n c y m s g 、 k n o d e p e n d e n c y m s g ; ( 4 ) 只发送给a c t i v e x 控件对象的a r x 程序的消息:k o l e u n l o a d a p p m s g 由于本论文的软件程序仅需要响应消息k i n i t a p p m s g 、k u n l o a d a p p m s g ,因此这坦 6 华北i 也力大学硕= 卜学位论文 我们着重讨论以下两种消息的含义和a r x 程序对它们的响应方式: 1 ,消息k i n i t a p p m s g 当a u t o c a d 加载o b j e c t a r x 应用程序并开始进行与应用程序的通信是发送此 消息。对于此消息,a r x 程序应该注册服务对象、类、a c e d 命令和事件反应器, 以及a c r x d y n a m i c l i n k e r 类事件反应器、初始化应用程序的系统资源( 如设备、窗 口) ,并执行简单的初始化操作;这时,a c r x 、a c e d 和a c g e 类库都被激活;如果 需要对应用程序进行解锁或重新加锁操作,还应保存p k t 参数。但这里不能进行下 列操作:初始化驱动程序、激活用户界面资源、按特殊的顺序加载应用程序、执行 a u t o l i s p 程序以及打开任何数据库,否则将导致错误发生或者系统崩溃;a c d b 和 a c g i 类库也不能在这里激活,尽管它们与a c r x 和其他结构有联系。 2 消息k u n l o a d a p p m s g 当o b j e c ta r x 程序被卸载( 用户卸载或者a u t o c a d 程序终止) 时,a u t o c a d 发送此消息,关闭当前文件并执行清除操作。对于此消息,a t g x 程序应该清除所有 的系统资源,所有对k i n i t a p p m s g 消息都应该在这里终止或者析构。a u t o c a d 不会 自动解除初始化所做的工作。 2 3 系统的总体设计 本论文解决的问题主要是不舰则零件的自动排放及对零件图和排料图的自动 数控编程。考虑到在当前的计算技术和计算机硬件条件的限制下,对于不规则零件 进行直接处理非常的复杂,所以我们为了实现排料的自动化,采用首先求取其最小 包容矩形的方法,然后直接对最小包容矩形进行排放。 以上的处理方案对于不规则度较高的零件时,很难达到理想的高利用率,为了 解决这个问题,本论文提出了零件的聚合及人工处理的方法,并添加了聚合矩形的 处理模块,并编写适于自动排料与数控自动编程软件模块,使之能完全接受最小包 容矩形、聚合矩形、人工聚合的聚合矩形和在图形文件中人工添加的零件图形,灵 活机动的解决高不规则度零件问题,使最终结果达到理想的利用率。 另外,为了比较最小包容矩形、聚合矩形、排料图的优劣,本论文还提供了利 用率的查询模块,可以对上述图形的材料利用率进行查询比较,从而使操作者可以 根据查询结果对待排零件做出适当的调整,从而达到整体的优化:对于排料图,本 论文进步提供了模拟数控火焰切割和数控线切割的模拟切割试验模块,可以预先 直观的看到数控代码在数控切割设备上的轨迹运动情况。 这里本论文把该系统总的软件结构大体划分为五个主要的模块分步骤地运行, 即零件图形的预处理模块、自动排料模块、数控模拟切割模块、数控自动编程模块、 华北电力大学硕:l 学位论文 零件的聚合模块及相关功能模块。这样做的好处在于:可以对排料结果进行进一步 的调整,进一步提高材料的利用率,直到结果满意后,可以进行模拟切割试验,确 认切割路径正确无误后,再进一步自动生成数控代码。 2 3 1 零件图预处理模块的主要功能 预处理模块的主要功能主要是把零件图改造成适合于后续的自动排料、模拟切 割、数控自动编程等处理的图形文件。 2 3 2 自动排料模块的主要功能 可以在软件界面下浏览计算机存储的a u t o c a d 图形,并可以将选中的经过预 处理过的图形文件添加到待排零件列表中,并将列表中的零件图或聚合图形或人工 聚合的图形文件在规定尺寸的板材上自动排放,将排料图保存为指定的a u t o c a d 图形文件,并达到较为理想的利用率。 2 3 3 模拟切割模块的主要功能 可以将预处理过的零件图或排料图进行模拟数控火焰切割和数控线切割试验, 验证切割的路径的正确性,可以让软件的使用者直观的从计算机屏幕上看到数控切 割的自动选择预热点,自动搜索切入点,数控切割,退刀等数控切割的全部过程。 2 3 4 数控自动编程模块的主要功能 本模块分为两个基于数控火焰切割与数控线切割的数控加工代码自动生成两 个子模块,可以将数控代码的a s c i i 码文件自动保存为指定的文件名。 2 3 5 其他辅助功能模块 主要包括可以将两个零件为个聚合图形的聚合矩形模块,查询零件图扩展数 据的模块,查询最小包容矩形扩展字典的模块,查询排料图、最小包容矩形图、聚 台矩形图利用率的利用率查询模块等。 2 4 系统总体功能的结构图 系统总体功能结构如图2 1 和图2 2 所示,模拟切割模块、数控自动编程模块、 利用率查询模块同样适用于最小包容矩形,聚合矩形和排料图。 华北电力大学硕:l 学位论文 图2 - 1 自动排料及数控自动编程系统的总体结构图 图2 - 2 辅助功能模块及其相关的结构图 华北电力大学硕= b 学位论立 第三章零件图形特征数据的获取的预处理 对零件图形的预处理主要是为后续的自动排料和自动数控编程软件模块对零 件图形的处理添加相关的信息。本论文主要对直线、圆弧、圆、以及由上述简单实 体组成的多段线和多线a u t o c a d 实体进行处理。 首先,完成预处理首要的任务是获取零件图形各元素的几何参数:对于直线几 何参数包括起点和终点的坐标:对于圆我们需要获得的几何参数包括圆心坐标及半 径的值;对于圆弧我们需要获得圆心、半径、起始角度和终止角度;对多段线我们 需要获得其节点数、各节点坐标以及各节点的凸度值,有了这些几何信息,我们 就可以唯一的确定二维零件图形的形状及位置关系。 另外,在零件图中,除了有我们需要的零件轮廓信息,还可能会有标注信息以 及文字说明的信息等与后续的排料及自动数控编程无关的信息,为此我们可以通过 构造选择集的方法有效的甩掉这些无用的信息。所以,我们在对零件图形的处理过 程中,还需要获得a u t o c a d 实体的实体名称、图层、实体颜色及线形等有用的参 数。 3 1d x f 文件的应用阻1 a u t o c a d 是一个集图形编辑、绘制及输出一体的图形处理软件。由于a u t o c a d 具有良好的图形编辑环境,因此许多软件开发者都选择a u t o c a d 作为图形开发平 台。在a u t o c a d 中,一般采用t d w g 文件格式保存图形文件,其实质是以压缩的二 进制格式保存图形数据的,并且随着版本的更新及功能的增强,造成图形数据变化 很大,显然,采用+ d w g 文件作为与其他应用程序之间共享信息的接口是不适合的。 为此,a u t o c a d 提供了另外的图形交换格式,主要包括a s c i i 文本格式的d x f 文 件、二进制格式的d x f 文件、幻灯片格式的文件以及幻灯片库格式文件。其中a s c i i 格式的d x f 文件具有严密性和易读性,所以本论文主要从a s c i i 格式的d x f 文件 中获取a u t o c a d 实体的相关数据。 3 1 1d x f 文件的总体结构 d x f 是d r a w i n gi n t e r c h a n g ef i l e ( 图形交换文件) 的缩写,常用于与其它应用 程序共享数据,从本质上说,d x f 文件由许多成为“组”的小单元组成。每个“组” 单元包括组码( g r o u p c o d e ) 和组值( g r o u p v a l u e s ) 两个组元素,并且每个组元素 在d x f 文件中各占一行,每组均以组码作为该组的简称。 多个组构成d x f 文件的一个节( s e c t i o n ) 。d x f 文件包括h e a d e r 节、c l a s s e s 节、b l o c k s 节、e n t i t i e s 节、0 b j e c t s 节等。 华北电力大学硕士学位论文 每个节均以组值为字符串s e c t i o n 的0 组开始,随后的组值为节名( 如h e a d e r ) 的2 组以及组成节的其他各个组,最后以组值为字符串e n d s e c 的0 组结束该节。所 有节都结束后,d x f 文件以组值为e o f ( e n do f f i l e ) 的0 组作为文件的结束标志。 多个节构成一个d x f 文件时,各节的含义分别是: ( 1 ) h e a d e r ( 标题节) 该节包含图形文件的一般信息,如a u t o c a d 数据库 的版本号和大量的系统变量,并且每个参数都包含一个变量名和变量值; ( 2 ) c l a s s e s 节( 类节) 该节包含系统定义的类信息。这些类的实例可以出 现在图块节( b l o c k s ) 、实体节( e n t i t i e s ) 、对象节( o b j e c t s ) 中,并且应保 证类属性永久不变; ( 3 ) t a b l e s 节( 表节) 该节由9 个不同的子表构成,分别是a p p i d ( 应用 程序表示符号表) 、b l o c kr e c o r d ( 图块参照表) 、d i m s t y l e ( 尺寸样式符号 表) 、l a y e r ( 图层符号表) 、l t y p e ( 线形符号表) 、s t y l e ( 文字样式表) 、u c s ( 用户坐标系表) 、v i e w ( 视图符号表) 和v p o r t ( 视口配置表) : ( 4 ) b l o c k 节( 图块节)该节包含图块的定义和构成图块的实体描述; ( 5 ) e n t i t i e s 节( 实体节) 该节包含构成图形文件的所有实体和插入图形对象 的块引用; ( 6 ) o b j e c t s ( 对象节) 该节包含组成图形文件的非图形对象( 实体、符号表 记录) ,并将这些非图形对象保存到该节中: ( 7 ) t h u m b n a i l i m a g e 节( 图形预览节)该节为可选项,用于包含d x f 文 件的预览图形。 3 1 2d x f 文件的一般样式 d x f 文件的内容一般如下所示: 0i 开始定义标题节 s e c t i o n 2 h e a d e r 9 0 e n d s e c标题节定义结束 0 1 开始定义类节 s e c t i o n 2 华北 h 力大学硕士学位论文 c l a s s e s 0 e n d s e c o s e c t i o n t a b l e s o e n d s e c o s e c t i o n b l o c k s o e n d s e c o s e c t i o n e n t i t i e s 0 e n d s e c o s e c t i o n o b j e c t s o e n d s e c 0 s e c t i o n 类节定义结束 开始定义表节 ,表节定义结束 ,开始定义块节 块节定义结束 定义实体节 实体节定义结束 定义对象节 对象节定义结束 开始图形预览节 华北电力大学硕= i :学位论文 t h u m b n a i l l m a u e 3 1 0 e n d s e c 3 1 3 实体对象的组码 本论文的排料和数控自动编程模块以及相关的辅助功能模块的原理都是建立 在对a u t o c a d 图形的d x f 文件充分的了解和利用上的,其中最关键的是对 a u t o c a d 数据库对象( 包括实体、符号表、词典等) 的操作,对其中构成图形文件 的所有实体和插入图块的块引用的组码都包含在d x f 文件的e n t i t i e s 节中,在实 体定义的列表中可由a u t o l i s p 和o b j e c t a r x 应用程序所使用。 3 1 3 1e n t lt l e s 节的定义格式 e n t i t i e s 节的格式是: o s e c t i o n 2j e n t i t i e s 节的开始 0 5 3 3 0 8 1 0 0a c d b , 每个实体定义都有一个入口 o e n d s e ce n t i t e s 节的结束 31 3 2 应用于所有图形对象的组码 应用于所有图形对象的组码有助于我们构建选择集,非常有效的甩掉和我们要 求的轮廓信息无关的图形信息,从而使我们方便的对零件图形的轮廓信息进行有效 的处理。这些组代码有些包含在实体定义中,条件是该实体有非默认值a 当通过实 体类型查淘这些组代码时,与特定实体关联的代码列表便会牢记此处显示的代码也 是存在的。可用于图形对象的组代码如下所示: 组码说明 l3 华北电力大学硕士学位论文 一1 0 5 1 0 0 8 6 2 a p p :实体名( 每次打开图形文件时发生变化) ; 实体类型; 句柄; 子类标记( a c d b e n t i t y ) : 图层名: 颜色号:0 表示b y b l o c k ( 浮动) 颜色;2 5 6 表示b y l a y e r 颜色 负值表示图层是关闭的; 4 8 该选项为可选项,用于线形比例: 注:以上只列出了与本论文相关的部分组代码 3 1 3 3 各实体专用组码 除了以上公用组码之外,每个实体还有各自的专用组码,常用的带专用组码的 实体包括:3 d f a c e 、3 d s o l i d 、a c a d p r o x y e n t i t y 、a r c 、a t t d e f 、a t t r i b 、 b o d y 、c i r c l e 、d i m e n s i o n 、e l i p s e 、h a t c h 、i m a g e 、a r c a l i o n e d t e x t 、 i m a g e 、i n s e r t 、l e a d e r 、l i n e 、l w p o l y l i n e 、m l i n e 、m t t e x t 、p o i n t 、 p o l y l i n e 、r a y 、r e g i o n 、r t e x t 、s e o e n d 、s h a p e 、s o l i d 、s p l i n e 、t e x t 、 t o l e r a n c e 、t r a c e 、v e r t e x 、v i e w p o r t 、w i p e o u t 、x l i n e 等。下面对 于本论文相关的几个实体加以介绍: ( 1 ) l i n e 组码说明 1 0 0子类标记( a c d b l i n e ) ; 3 9 厚度( 默认值为0 ) ; 1 0w c s 中的起点,d x f 中的x 值;a p p 中的三维点; 2 0 ,3 0w c s 中d x f 中起点的y 、z 值; l i w c s 中的端点,d x f 中的y 值:a p p 中的三维点: 2 l ,3 1w c s 中d x f 中端点的y 、z 值: 2 1 0拉伸方向( 默认为0 ,0 ,1 ) ; 2 2 0 ,2 3 0d x f 中拉伸方向的y 、z 值。 ( 2 ) c i r c l e l o o子类标记( a c d b c i r c l e ) : 3 9 厚度( 默认值为0 ) ; 1 0o c s 中圆的中心点,d x f 中x 坐标值,a p p 应用程序中指三维坐标点: 2 0 ,3 0o c s 中d x f 文件中圆中心点的y 、z 值: 4 0 半径; 2 1 0拉伸方向( 默认为0 ,0 ,1 ) ,d x f 文件中指x 坐标值,a p p 应用程序 中指三维矢量; l4 华北电力大学硕= 匕学位论文 2 2 0 ,2 3 0d x f 文件中拉伸方向的y 、z 值。 ( 3 ) a r c l o o子类标记( a c d b a r c ) ; 3 9厚度( 默认值为o ) : 1 0o c s 中圆的中心点,d x f 中x 坐标值,a p p 中指三维坐标点; 2 0 ,3 0o c s 中d x f 文件中圆中心点的y 、z 值: 4 0半径; 5 0 起始角; 5 1 终止角; 2 1 l 拉伸方向( 默认为0 ,0 ,1 ) ,d x f 文件中指x 坐标值,a p p 应用程序中指三维 矢量: 2 2 0 ,2 3 1d x f 文件中拉伸方向的y 、z 值。 ( 4 ) l w p o l y l i n e 1 0 0 子类标记( a c d b p i o y l i n e ) ; 9 0 定点数; 7 0多段线标记( 二进制编码) ;默认值为0 ;l = 封闭的;1 2 8 = 生成多段线: 4 3 固定宽度( 默认值为0 ) ; 3 8标高( 默认值为0 ) ; 3 9厚度( 默认值为0 ) ; 1 0o c s 中的顶点坐标,每个顶点一项: 2 0o c s 中的顶点y 值,每个顶点一项; 4 2 凸度,每个定点一项; 2 1 0拉伸方向( 默认值为0 ,0 ,1 ) ; 2 2 0 ,2 3 0d x f 中拉伸方向的y ,z 值。 ( 5 ) i n s e r t 1 0 0子类标记( a c d b b l o c k r e f e r e n c e ) ; 6 6变量属性跟随标志( 默认值为0 ) ; l图块名; 1 0o c s 中的插入点;d x f 中的x 值:a p p 中的三维坐标点; 2 0 ,3 0o c s 中d x f 文件中插入点的y ,z 值; 4 1x 比例因子( 默认值为1 ) ; 4 2y 比例因子( 默认值为1 ) ; 4 3z 比例因子( 默认值为1 ) ; 5 0 旋转角度( 默认值为0 ) ; 7 0 列数( 默认值为1 ) ; 7 1行数( 默认值为1 ) ; 15 华北电力大学硕= l 学位论文 4 4 行间距( 默认值为0 ) ; 4 5 列间距( 默认值为0 ) ; 2 1 0拉伸方向( 默认值为0 ,0 ,1 ) :d x f 中的x 值;a p p 中的三维向量。 我们对零件图形特征数据的获得实质就是对零件图形d x f 文件进行访问,通过 组码的类型获得相应的组值,从而获得零件图形的相关特征参数。 3 2 零件图形的预处理 零件的预处理主要是为了方便自动排料和数控自动编程处理而做的一些必要 的工作,其中主要包括求取最小包容矩形、聚合矩形、比较利用率,添加扩展数据 和命名字典。这里我们以求取零件的最小包容矩形作为研究的切入点。 3 2 1 最小包容矩形的求取雾 本论文主要对由直线、圆弧、圆、由直线和圆弧组成的多段线、多线实体组成 的二维零件图形进行处理。在求取最小包容矩形的同时,完成对零件轮廓的预处理, 使之适合数控火焰切割和数控线切割的加工工艺要求。 零件图中除了内外轮廓实体外,一般还包括尺寸标注线、中心线、技术要求等 文字说明、标题栏和边框等与排料和数控编程无关的信息,而我们关心的只是零僻 的内外轮廓实体。对于最小包容矩

温馨提示

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

最新文档

评论

0/150

提交评论