(材料加工工程专业论文)fdmsla快速成型系统中支撑设计的研究.pdf_第1页
(材料加工工程专业论文)fdmsla快速成型系统中支撑设计的研究.pdf_第2页
(材料加工工程专业论文)fdmsla快速成型系统中支撑设计的研究.pdf_第3页
(材料加工工程专业论文)fdmsla快速成型系统中支撑设计的研究.pdf_第4页
(材料加工工程专业论文)fdmsla快速成型系统中支撑设计的研究.pdf_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

华中科技大学硕士学位论文 攘要 f f 快速成形技术是八十年代后期发展越来的一门新型技术,它的娃j 现给传统的制造 韭带米了革命性的交孳。支撵生成技恭楚竞圈纯和络融淡积侠速成形较彳串系统审的关 键鼓零,玄笈约寨零馋豹变形,势傻零传戆够蹶裂铡终。为了开发壤拥有囊主9 罄识产 权的光固化和熔融沉积快速成形系统,本论文展开了支撑设计的研究, 论文改进了熬于布尔运算的自动支撑生成算法及其实现过程讨论了零件需要加 支撵的部分及常糟的几种支撑结构,并根据零件的结构类型对支撑隈域的路径描描提 出了鑫己豹设戆。 f d m s l a 快速成型中实现支撵兹龚动生成鲍关键怒实现复杂羚黪层之阗驰毒尔 运算。文鬻给出了实体的定义,介绍了在截面轮廓中识别内外环和提取文体的方法, 并提出了将层与层之间的布尔运算转化为实体与实体之间的布尔运算的方法。 实现了基于w e i l e r a t h e r t o n 算法的实体之间的布尔运算,应稻于实际,取得了 一定瓣效粟t 在其基磁上,作者参考了各释饔关奄尔运舞算法,提滋了一释基予线段 秘实体的关系的蠢尔遂算算法,成功豹鳃决了各手申点重仓和边重合以及带窍孑l 濑的多 边形之间的布尔运算。 论文还探讨了其他支撑设计方法,尤其戆基于s t l 格式的自动支撑设计方法,为 进一步的研究键供了定的萋磕。 关键谪:快速溉形,光亩化,熔融沉积。 、一、- 、一, 多边形,布尔运算 l 华中科技大学硕士学位论文 一= = = = = = = = ;= ;目= = = = = = = = = = = ; a b s t r a c t r a p i dp r o t o t y p i n g i sn e w l ye m e r g e dt e c h n o l o g yw h i c hw a sd e v e l o p e di nl a t e1 9 8 0 s i th a sd r a m a t i c a l l yc h a n g e dt h et r a d i t i o n a lm a n u f a c t u r i n gs t y l e s u p p o r td e s i g n i n gi s ak e y p r o b l e mi ns t e r e o l i t h o g r a p h ya p p a r a t u s ( s l a ) a n df u s e dd e p o s i t i o nm o d e l i n g ( f d m ) r a p i dp r o t o t y p i n gs y s t e m s o i ti sr e s e a r c h e di nt h i st h e s i s a u t o m a t i cs u p p o r td e s i g n i n gm e t h o db a s e do np o l y g o nb o o l e a no p e r a t i o n i sp r e s e n t e d a n dr e a l i z e d p a r ts u p p o r ts t r u c t b r et y p e s i sd i s c u s s e d ,a n dr o u t i n gs c a n n i n gi ns u p p o r t a r e a i sp r o p o s e d r e a l i z a t i o no fb o o l e a no p e r a t i o nb e t w e e n t h et w o c o m p l e x s e c t i o n a lc o n t o u l 瞎i sak e y p r o b l e mi nt h ea u t o m a t i cs u p p o r td e s i g n i n g i nf d m s l a t h et h e s i si n t r o d u c e sam e t h o d o fd i v i d i n gac o m p l e xs e c t i o n a lc o n t o u ri n t o s e v e r a lp o l y g o n sw i t hh o l e s t h e nt h i s p r o b l e m t b mt or e a l i z a t i o no f b o o l e a no p e r a t i o nb e t w e e nt h et w op o l y g o n sw i t hh o l e s b o o l e a n o p e r a t i o nb a s e d o nw e i l e r - a t h e r t o n a l g o r i t h mi sr e a l i z e d i no r d e r t oi m p r o v e w e i l e r - a t h e r t o na l g o r i t h m ,t h ep a p e ri n t r o d u c e sam e t h o do fp o l y g o n sw i t hh o l e sb o o l e a n o p e r a t i o nb a s e do nt h er e l a t i o nb e t w e e nl i n ea n dp o l y g o nw i t hh o l e s l a s t l y , t h es p e c i f i c p r o c e s s i n gm e t h o d a b o u th o wt od e a lw i t hp o i n to v e r l a pa n de d g eo v e r l a pi sp r o v i d e d t h eo t h e rs u p p o r td e s i g n i n gm e t h o d si sa l s od i s c u s s e d ,e s p e c i a l l ya u t o m a t i cs u p p o r t d e s i g n i n gm e t h o d b a s e do n p a r ts t l f o r m a t k e y w o r d s :f u s e dd e p o s i t i o nm o d e l i n g ,s t e r e o l i t h o g r a p h ya p p a r a t u s ,r a p i d p r o t o t y p i n g ,s u p p o r t ,p o l y g o n , b o o l e a n o p e r a t i o n i i 华中科技大学硕士学位论文 1 绪论 本章首先对本课题进行了概括,然后介绍了f d m s l a 支撑技术及相关软件的国 内外发展与研究现状;最后说明了本课题的研究目的与意义,并就本课题研究的主要 内容作了简要的阐述。 1 1 课题概述 1 1 1 课爱的来源 华中科技大学( 原华中理工大学) 从1 9 9 1 年开始从事快速原型技术的研究,先 后得到了国家自然科学基金、国家教育部博士点基金、国家科技部、湖北省科委和武 汉市科委的资助。该课题是国家8 6 3 c i m s 重大目标产品项目“快速原型制造技术的 研究与开发”( 编号:8 6 3 5 1 卜9 2 0 0 1 0 ) 的重要组成部分。 1 1 2 课曩的提出 快速原型( r a p i dp r o t o t y p i n g 简称r p ) 是8 0 年代末期发展起来得一种新型的制 造技术,它高度集成了自动控制、cad ,ca m 技术、数字控制技术、计算机、激光 技术、新型材料科学等学科最新成果。在家用电器、汽车、玩具、轻工产品、建筑模 型、医疗器具、航空航天、工业造型、电影制作等领域得到了广泛的应用【1 1 3 1 。 经过十来年的研究和发展椎;出了数十种rp 加工方法和工艺,就基于分层制造的 加工工艺而言就有3 0 种之多,目前比较成熟并流行使用的快速成形技术主要有:光 固化成形( s t e r e o l i t h o g r a p h ya p p a r a t u s ,s l a ) 、分层实体制造( l a m i n a t e do b j e c t m a n u f a c t u r i n g ,l o m ) 、选择性激光烧结( s e l e c t i v el a s e rs i n t e d n g ,s l s ) 、熔融沉积 技术( f u s e d d e p o s i t i o nm o d e l i n g ,f d m ) 、立体三维印刷( 3 dp r i n t i n g ,3 d p ) 2 1 1 4 1 6 1 。 为了发展我国的快速成形技术,开拓r p ( r a p i dp r o t o t y p e ) 技术的国内外市场, 华中科技大学( 原华中理工大学) 于1 9 9 1 年开始r p 技术的研究,经过多年艰苦不懈 的努力研究,已先后开发出h r p i 至h r p i i i a 、h r p s 共四代快速成形机 1 5 - 1 9 】。其中, 婪垦里:! :丛墼:! 坠塑奠基里:! ! ! 垒量鳘王三= q 丛堕迭蕉盛墅垫:坚墨里! 星董王兰坚笪迭鎏 1 华中科技大学硕士学位论文 成形机。 现在常用的几种类型的成形机在实际应用中具备各自的优点。目前国际销售市场 上,占份额最大的是基于f d m 的快速原型设备( 占4 3 f 1 5 】) ,这种设备有小巧、价 格低廉、应用材料范围广泛、可直接制成工业产品的优点,在企业设计之中有着广泛 的应用。世界上最先研制成功、技术最成熟的快速成形系统是s l a 快速原型系统, 这种快速原型系统有速度快、成型精度高的特点。因此,华中科技大学国家模具重点 实验室决心在继续完善l o m 和s l s 成形系统的基础上开展s l a 和f d m 快速成形系 统的研究。本课题“f d m s l a 快速成形系统中支撑设计的研究”正是在这种背景下 提出的。 1 2 国内外f d m s l a 中零件支撑设计的研究现状 1 2 1 国外f d m s l a 中零件支撑设计的研究现状 在国际上s l a 技术比较有代表性和研制比较成功的有美国的3 ds y s t e m s 公司和 日本的c e m t 公司,它们均开发了支撑设计软件。日本c e m t 公司设计了两种支撵 生成方法【1 4 】,其一是自动支撑设计,其二是人机交互式支撑设计。其自动支撑设计方 法是首先找出零件的最大截面,然后从零件的顶层开始对每层截面开始直线扫描,从 最大截面的x ,y 值的最小值一直扫描到其最大值,每条扫描线间隔一定的距离,扫 描线与切片截面的轮廓的交线即为支撑线。这种方法容易给不需要支撑的部分加上支 撑,也容易漏掉一些需要支撑的特征。其交互式设计是从分层后的数据着手,在一个 图形编辑环境下找出需要支撑的区域,然后人工设置支撑的结构形式。这种方法需要 操作者对零件的特征很熟悉,且需要在三维图形显示和二维截面显示之间来回切换, 很麻烦。 美国的3 ds y s t e m s 公司设计支撑时,不在支撑设计的软件下进行,而是c a d 设计人员直接在三维实体造型软件上进行,因为一些大型的c a d 设计软件如p r o e 等均有装配功能,c a d 设计人员可以在装配模块下设计些零件的支撑,。这种零件 支撑的设计方法要求c a d 设计人员非常熟悉零件支撑设计的要求或者在零件支撑设 计人员的帮助下完成零件的支撑设计。 2 华中科技大学硕士学位论文 在国际上f d m 技术比较有代表性的是美国的s t r a t a s y s 公司,他们开发的 q u i c k s l i c e 软件已经实现商品化,其中包含了零件支撑的自动生成。其主要功能为: 在没有支撑的部分直接加上支撑,并在底部加上基础支撑。这套软件还设置了一些高 级选项以节省生成支撑的时间,人工改动支撑环,对悬浮边小于一定的范围以内的可 以不加支撑,可以选择从任一高度开始往下生成支撑。其用户界面也很友好,且有较 多的参数可供选择。 还有很多第三方数据接口软件也实现了支撑的自动添加,如b r i d g ew o r k s 、 m a g i c s 、s t lm a n a g e r 、s t l v i e w 等都有自动添加支撑的功能。其中由比利时的 m a t e r i a l i s e 公司在9 3 年推出m a g i c s ,现已发展到v e r s i o n 4 2 ,包括m a g i c sv i e w 、 m a g i c sr p 、m a g i c ss g 、c o n t o u r st o o l s 、c t m o d e l l e rs y s t e m 、m i m i c s 、c t m 等七 个模块,可以进行基于s t l 文件的显示、错误检验、自动添加支撑、分层、制造时间 估计等处理,还提供了各种对c t 文件及i g e s 文件的有效处理。该软件功能广泛、性 能优良、界面美观,是一个优秀的第三方接口软件。 由于数据接口软件的开发往往需要很高的专业水平,要耗费大量的财力和时间, 现在国外出现了r p 生产商购买第三方数据接口软件的趋势。如1 9 9 6 年3 ds y s t e m 公 司与i m a g e w a r e 公司达成协议,采用i m a g e w a r e 的r p 一系列模块作为“3 ds y s t e m ss l t o o l k i t ”。而s a n d e r sp r o t o t y p e 公司也采用了s t l m a n a g e r 作为自己的数据接口 软件。另外,德国的f & s 公司也购买了m a g i c s 软件的部分模块。 1 2 2 国内f d m s l a 中零件支撑设计的研究现状 国内的西安交通大学在研究光固化快速成型中零件支撑中提出的零件设计方法也 取得了很大的研究成果。他们实现了零件的自动支撑生成以及一些交互生成实现方 法。另外,清华大学和华南理工大学在零件的支撑设计方面也有一些研究成果,并有 一些论文见诸各报刊杂志。其中西安交通大学在零件支撑研究方面比较具有代表性。 西安交通大学的支撑设计方法主要有自动支撑和交互支撑。自动支撑的设计方法 有基于多边形布尔运算的自动支撑生成和基于s t l 文件的自动支撑生成。前者是根据 切片后的上下两层环的比较而生成支撑坏,然后设计填充路径进而生成支撑结构。后 者是直接根据s t l 文件中三角面片的法矢来判断需要加支撑的部分,然后通过设计的 3 华中科技大学硕士学位论文 软件来识别需要支撑的部分的类型,进而分别设计不同的支撑结构。支撑的交互设计, 则是通过软件工具人工交互的实现支撑的设计。这种方法要求设计人员对软件和机械 设计都有较高的了解,故一般只作为自动生成支撑的有益补充,可以起到加快支撑结 构的生成提高支撑结构的合理性的作用。 1 3 课题的研究目的和意义 f d m 和s l a 在工艺制作方面有很多相同之处。f d m 用喷头将略高于熔点的丝状 熔融物喷到每一层二维面片中,丝状材料喷出后随即冷却形成实体。s l a 则用激光将 用激光束对液态光敏树脂进行逐层扫描固化形成实体。两者都需要对三维实体转化 成的二维轮廓进行扫描。如果上层二维轮廓截面相对于下层轮廓截面有悬空的地方, 则都要求加上支撑才能加工。 在开发f d m 和s l a 快速成形系统中,支撑生成技术是其中的关键技术,它能约 束零件的变形,并使零件得以顺利制作。本课题“f d m s l a 快速成形系统中支撑设 计的研究”正是基于这种背景提出的。 国内外对f d m s l a 快速成形系统中支撑设计的研究已经开展很多年了,本课题 的目的是在借鉴国内外f d m s l a 快速成形系统中支撑设计的方法的基础上,实现 f d m s l a 快速成形系统中支撑设计的自动生成,使实验室的f d m s l a 快速成形系 统的研发能够顺利进行,并为进一步的研究奠定基础。 1 4 课题的主要研究内容 本文的第一章首先对国内外f d m s l a 系统中支撑设计的现状进行了总结,然后 讲解了课题的意义和本文的主要工作。 本文的第二章概述了支撑的结构类型,改进了自动添加支撑的设计方法,并指出 了其实现的关键因素。 本文的第三章提出了将层与层之间的布尔运算简化为实体与实体布尔运算的方 法,并详细介绍了截面轮廓环内外边界的识别和实体的提取的算法及其实现方法。 本文的第四章介绍了w e i l e t a t h e r t o n 算法应用于实体的布尔运算算法及其实 一_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ - - _ - _ _ _ _ _ _ - _ _ _ - - _ _ _ _ _ - - _ _ _ _ _ _ _ _ _ - _ _ _ _ _ _ _ - _ _ _ _ _ _ _ _ _ - - _ _ _ _ _ _ 一 4 华申科技大学硕士学位论文 现,指出了这种算法的局限往,提出了鏊予线段与实体关系的布尔运算算法及箕实现。 零文麓繁五章搽逶了冀毽嶷撑设嚣方法。 本文豹第六章颡顾全支,舞黠蔽看瓣饼究进行了震鳘。 1 5 凑肇小缝 零肇蓠走辩嚣袋奉瑷磷突潆题鹈硗究意义终了一个楚擎麓述,对霹内癸 f d m s l a 系统中支撵设计靛璇状进行了总结,然瑶涝鳞7 本文匏是饕芏捧。 一_ _ 一 5 华中科技大学硕士学位论文 2 支撑结构类型及自动支撑设计方法概述 本章将介绍支撑结构的常见的几种类型,并介绍了基于布尔运算的自动支撑生成 方法的思想及其具体实现。 2 1 支撑结构及其类型 在s l a 的成形过程中,由于未被激光束照射的部分材料仍为液态,它不能使制作 截面上的孤立轮廓和悬臂轮廓定位。因此须设计一些细柱状或肋状支撑结构( 彼此的 间隔通常为6 m m ) ,并在成形过程中制作这些支撑结构,以便确保制件的每一结构部 分能可靠固定,同时也有助于减少制件的翘曲变形【2 l 】【捌。在工件的底部也设计、制作 了支撑结构,这是为了成形完毕后能方便地从工作台上取下工件,而不会使工件损坏。 在f d m 熔融沉积的成形过程中,在从下往上制作零件截面时,零件的悬空部分 必须加支撑,且底部也应设计、制作支撑结构,以免成形完毕后从工作台上取下工件 时损坏工件。 f d m 和s l a 的截面支撑的间隔宽度,扫描线厚度都不同,但是其基本结构都是 一样的。 2 1 1 支撑的类型 f d m 和s l a 中按需要加支撑的零件特征可以将支撑分为以下几种类型【2 4 1 2 s 】: 1 ) 基础支撑 其主要作用是为上层零件特征提供基础支撑并且便于工件成形完毕后能方便的从 工作台上取下来。基础支撑的形状有矩形支撑、三角形支撑和圆形支撑。实际上基本 采用矩形支撑。 2 ) 凸出部分的支撑 当零件自底层往上制作的过程中,如果上一层的零件有凸出的部分,零件不能依 靠下一层的零件实体支撑,则必须加支撑。可以采用斜支撑或者壁板支撑结构加直支 撑结构。如果凸出的部分较小,在s l a 中则不会发生翘曲现象,在f d m 中则由于融 6 华中科技大学硕士学位论文 丝材料本身的粘力也可以自己则对这一部分可以不用设计支撑。如图2 1 所示,支撑 角度a 和切片层厚h 、水平伸出长度m 的关系为 t a n ( a ) = 1 1 m( 2 一1 ) 当m 较小时,可以不用加支撑。根据式2 1 可知,当切片的厚度一定时,a 在某一 角度的范围内可以不用加支撑。 图2 1 水杯的 3 ) 悬吊面、边和悬吊点的支撑 图2 2 悬吊边结构 图2 3 悬吊点结构 悬吊面的支撑和水平凸出的支撑设计类似,可以采用壁板结构和直支撑结构。悬 吊边应采用单壁板或者十字支撑,悬吊点采用十字支撑结构。 2 1 2 支撑的结构方式 j 型堑堇登旦亚回堡旦塑量堡丕旦塞亘堑堑鏖丝生丕回塑塞登堕塑垄茎:旦煎垄 7 华中科技大学硕士学位论文 s l a 和f d m 中经常使用的有以下几种形式的支撑【2 2 也5 】: 1 ) 斜支撑 如图2 4 所示,主要用来支撑悬臂结构,斜支撑的一个臂和垂直面连接,一个臂 和悬臀部分连接以此为悬臂面在制作过程中提供支撑,同时也可以约束悬臂部分向上 翘曲变形。斜支撑为悬臂结构提供了优化支撑,在制作过程中所需材料和制作时间较 少,而在零件清洗阶段极易识别,确定斜支撑结构的参数主要是臂长和角度。 2 ) 直支撑 如图2 5 所示,直支撑就是用来对那些斜支撑不易到达的悬臂结构提供支撑,这 种结构一般和壁板结构结合使用,这种结构用来支撑零件某些结构的边,以防止这些 特征的变形和翘曲,它和壁板结构支撑结合使用还可以为这些结构提供一个稳定的制 作基础,同时这种支撑为基础支撑和悬吊面提供了很友好的支撑结构。 图2 4斜支撑图2 5直支撑 3 ) 单壁板 如图2 6 所示,这种结构主要是针对那些长条结构特征设计的,其主柱是沿着零 件特征的中心线,或者边的投射线,其次主要是为了加强支撑的稳定性。这种支撑结 构的应用例子是为悬吊边提供良好的支撑结构。 4 ) 双壁板 如图2 7 所示,这种结构的支撑是一些十字交叉的壁结构,它主要是为大的支 撑区域提供内部支撑,它和这些区域的投射边相连接,以提供稳定的支撑,使用 这种结构的支撑时,应避免它和零件的垂直壁接触以提供零件的表面光洁度。它 8 华中科技大学硕士学位论文 可以为基础面、悬吊面等提供良好的内部支撑。 圈2 6 单壁板图2 7 双壁板图2 8 十字壁板 5 ) 十字壁板 如图2 8 所示,主要是为零件中的“孤岛”特征或者一些小的无支撑结构特征提 供支撑,在使用这种结构支撑时,壁的厚度要足够厚以使其具有足够的稳定性。这种 支撑应用的最好例子是为悬吊点提供支撑。 以上是在零件制作过程中,根据零件的不同特征以及其变形特性总结出的几种支 撑形式,当然随着人们对零件制作过程中出现问题的研究,还有其他类型的支撑可能 更适合某些情况,同时支撑的类型应和具体的支撑生成方法相结合使用,对于有些零 件特征表面,可能适应它的支撑类型有几种,其中有些实现比较方便,有些类型实现 比较容易。因而,对于零件支撑的设计不是一成不变的,在满足零件加工要求的基础 上,可以灵活使用。 2 2 基于布尔运算的自动支撑设计方法 在r p 成形系统中,输入文件的格式一般为s t l 文件,r p 系统分层程序对s t l 文件进行处理后形成一层层的截面轮廓环。对每一层的零件与下一层的零件进行布尔 差运算,得到的区域即为这一层需要加支撑的部分。由于快速成形中零件的制作是一 层层来制作的,每一层的支撑区域确定了,整个零件也就被支撑住了。这种建立在层 与层之间布尔运算的基础上的自动支撑设计方法称为基于布尔运算的自动支撑设计 方法。 9 华中科技大学硕士学位论文 2 2 1基于布尔运算的自动支撑设计算法的思想。6 一般来说,一个分层截面的成形过程可分为加工实体截面的过程和加工支撑截面 的过程。即一个分层截面可以分成两个域:实体截面域和支撑体截面域。上下两层截 面相叠加时,上层零件的悬空部分即为下层支撑体截面域。 设第i 层( 上一层) 零件的实体截面域为e j ,支撑体截面域为s ,;第i 一1 层( 下 一层) 零件的实体截面域和支撑体截面域分别为巨l 、s i 1 。若s i 为空,则说明第i 层 没有支撑体截面域。s i 1 由两部分组成:由e i 相对于e i - l 悬空的部分和继承s i 的部分。 用布尔运算表示即为: s i 1 = ( e i e i 1 ) + ( s 一e 1 ) 其中“一”为布尔差运算,“+ ”为布尔并运算。( s i e i - 1 ) 表示上一层的支撑 截面域如果被下一层的实体截面域支撑住了就不需要加支撑,否则就需要加支撑( 即 被继承) 。式中( e i e i _ 1 ) 和( s i e i 1 ) 两部分只有公共边界,没有重叠的部分。 该算法的具体实现步骤如下: 1 ) 设定分层方向与分层厚度。 2 ) 用r p 系统分层程序对零件的s t l 文件进行分层处理,得到每层的实体截面 轮廓。并建立数据结构存储每层的截面轮廓环。 3 ) 对各层截面轮廓进行内外边界的自动识别,并识别出那些内边界属于哪些外 边界,并将第i 层的截面轮廓区域记为e i ,存储在相应的数据结构里。每层零件的支 撑截面域记为s ,并用相应的数据结构存储。其中顶层的支撑截面域为空。 4 ) 以顶层往下的那一层作为初始层,利用多边形区域间的布尔运算。开始从上 往下计算每一层的支撑截面域。其中任意第i 层的支撑截面域的求法为:计算上一层 实体截面区域e i + 1 与当前层实体截面区域e l 的之差,记为s i l o 计算上一层支撑截面 区域s i + l 与当前层实体截面区域e i 的之差,记为s 跏s 1 和s n 的并运算的结果s i 即为第i 层的支撑截面域。 5 ) 设计基础支撑。将零件的底部的实体截面域和支撑截面域进行布尔并运算, 得到的即为基础支撑的截面区域,根据实际需要确定基础支撑所需要的层数。 6 ) 根据零件每一层支撑域的面积、长、宽的大小等参数进行适当的路径扫描规 t 0 华中科技大学硕士学位论文 划。 该算法能自动识别出各层需要加支撑的区域并根据区域的形状大小设计合理的路 径扫描方式( 即支撑结构) ,具有很大的灵活性。 2 2 2 基于布尔运算的自动支撑设计算法的实现的难点 基于布尔运算的自动支撑设计算法的思想较为简单明了,但是其实现却并不简 单,主要有以下几个难点: 1 ) 识别截面轮廓环的内外环并提取由一个外环和n ( n = o ) 个内环的实体区域, 将层与层之间的布尔运算转化为实体与实体之间的布尔运算。 2 ) 进行实体与实体之间的布尔运算。虽然关于布尔运算的算法很多,但是由于 s t l 文件进行切片形成的轮廓环中用折线来逼近曲线,造成求交过程中的点重合和线 重合的情况很多,有效的处理这些特殊情况就称为能否实现布尔运算的关键。 3 ) 确定支撑区域后如何正确设计支撑结构,确定支撑区域的填充扫描路径也是 设计良好的支撑结构的关键所在。 实现截面轮廓环的提取和层与层之间的布尔运算,本文分别在第三章和第四章中 具体论述。下文叙述确定每层的支撑区域后如何设计支撑结构。 2 3 支撑区域扫描路径的探讨 无论是f d m 中采用喷头喷出支撑材料还是s l a 中采用激光固化光敏树脂形成支 撑结构,都需要确定f d m 喷头或者s l a 激光的扫描路径。因此知道每层的支撑区域 后,设计支撑结构就归结为设计支撑区域的扫描路径规划。 在s l a 中,当所需要的支撑区域太小,则不需要支撑。在s l a 和f d m 中,支 撑区域的长、宽、和面积决定了采用何种支撑更合适。如本文2 1 节的内容,如果是 狭长型的支撑区域时,宣采用单壁板的结构,故设计扫描路径时就可以按单壁板的形 状进行扫描:如果是矩形的区域,则采用双壁板甚至是多个双壁板叠加的结构。其具 体实现步骤如下: 1 ) 任意多边形的面积公式及简要证明 华中科技大学硕士学位论文 当多边形的顶点序列为m 1 m 2 m n ,则可用下面的公式计算多边形的面积s : s = 1 2 ( ( x l y 2 - - x 2 y 1 ) + ( x 2 y 3 - - x 3 y 2 ) + + ( x n y l x l y n ) ) 上式中( 嫡,y i ) 表示点m i 的坐标。 下面对给出任意多边形的面积的公式并进行简要说明: 构造三角形a o a b ,其中o ( o ,o ) ,a ( x l ,y 1 ) ,b ( x 2 ,y 2 ) ,不难求t b a o h b 的面积是: 1 2 i a x b f( 2 2 ) 其中i axb i 表示a 和b 的叉乘,恤xb i = ( x l y 2 - - x 2 y 1 ) 。注意这个公式是假设 o a b 逆时针方向排列时得出正值,顺时针排列为负值。 y jl b ( x 2 ,y 2 ) y 2 i 人 y 1 ,:, a ( x 1 ,y l : , 卜 1 0 x 2x 1 r lyj l d 一 公。z 、。x 图2 9 三角形的面积示意图图2 、1 0 任意多边形分成三角形的示意图 下边我们分两种情况来证明 ( 1 ) 假设原点在多边形内部,m 1 ,m 2 m n 为按照逆时针顺序排列的顶点那 么显然对于任意的a o m i m i + i 而言,根据以上公式求出的各个的面积都是正值, 而所有面积的和正是整个多边形的面积 ( 2 ) 假设原点在多边形外部,必然存在两个顶点m i 和m j ( j i ) 使得顶点 m i + l 到m j l 都在多边形o m j m j + l m 1 m 2 m i 之内,于是从m i 到m j 的顶点和原点o 构 成的三角形按照上述的面积公式求出的结果都是负值,接个多边形的,面积恰恰是外 边的多边形o m j m j + 1 m i m 2 m i 的面积减去这些三角形的面积,所以公式仍然是成 立的。 2 ) 倾斜面凸出的处理 1 2 华中科技大学硕士学位论文 本章的公式2 一l 说明,斜面的倾斜角a 在一定角度下可以不用加支撑。当a 和 切片厚度h 确定时,每层截面可以相对于下层截面可以悬空的长度m 也就确定了。当 支撑的区域较小,可以将支撑区域的外边界向内偏置m ,将支撑区域的内边界向外偏 置m 。此时偏置后的内外边界有可能相交或者内环跑到外环的外部去了,此时可对内 外环进行布尔运算,得到的结果即为实际应该加支撑的区域。 当支撑区域的轮廓边界是由布尔运算得到的时候,为了不影响实体轮廓表面的光 滑性,此轮廓环应该偏置一个扫描宽度( 外环往里偏置,内环往外偏置) 。 3 ) 确定扫描路径 由2 1 节的内容可知,自动生成支撑中常用的支撑结构为直支撑、壁板和十字支 撑,都可以分解为若干个十字支撑的组合。因此支撑区域确定后,扫描路径应该主要 采用十字扫描和边界轮廓扫描。当支撑区域是孤立的,即这一层的支撑区域不是通过 布尔运算得到的,无论支撑区域面积多小,都应该加支撑,且支撑的轮廓不用偏置。 2 4 本章小结 本章探讨了需要加支撑的区域,总结了常用的几种支撑结构类型,并介绍了作者 采用的自动支撑生成算法的思想和其实现的难点,对支撑区域的路径扫描提出了自己 的设想。 一 1 3 华中科技大学硕士学位论文 3 层与层之间布尔运算的简化及截面轮廓环的识别 本章主要介绍了将层与层之间的布尔运算转化成实体与实体之间的布尔运算的 简化方法。并介绍了从截面轮廓环中识别内外环并提取实体的方法。 8 1 引言 r p 系统中采用s t l 格式的文件来表示零件的实体表面信息,即用大量的三角形 面片来近似表示零件的表面。在逐层加工的过程中r p 系统的分层程序对s t l 进行分 层,分层得到的截面轮廓是一个个封闭的多边形由顺序相连的顶点坐标表示,并 且其首尾坐标值相同。由于每层截面轮廓环的复杂程度不一,直接进行层与层之间的 布尔运算,会出现程序紊乱,不易得出正确结果等情况。因此有必要将层与层之间的 布尔运算进行简化。本章通过分析截面轮廓环的特点,提出了将层与层之间的布尔运 算简化成基于实体的布尔运算,并介绍了截面轮廓环内外边界的识别方法。 3 2 实体的定义及特点 r p 系统用三角面片来近似表示模型的表面,零件的c a d 数据先转化成s t l 文 件,然后再由r p 系统的分层程序对s t l 文件进行分层,故分层得到的截面轮廓是 封闭多边形,由顺序相连的顶点坐标表示,并且首尾坐标值相同,我们把封闭的多边 形称为环。截面轮廓的复杂程度不定,图3 1 和图3 2 为较复杂的截面轮廓。 外轮廓边界是指不被任何其它轮廓边界包含或被包含的轮廓个数为偶数的轮廓 边界,我们简称为外环,而内轮廓边界是指包含它的轮廓个数为奇数的轮廓边界,我 们简称为内环。图3 1 和图3 2 就是截面轮廓,其中相应的标有1 ,2 ,环就是截面 轮廓环。实体截面区域实际上就是外轮廓边界和它所包含的内轮廓边界所围成的区 域。 无论多复杂的截面轮廓都可以分解为一个个互不相交的实体( 即带有n ( n = o ) 个 孔洞的多边形组成) ,每个实体由一个外环和n ( n = 0 ) 个内环组成,。如图3 3 ,外环3 4 华中科技大学硕士学位论文 和内环4 ,5 ,6 构成了一个实体,外环7 构成了一个实体,外环2 和内环l 也构成了 一个实体。图3 1 中的截面轮廓就被分成了3 个互不相交的实体。图3 2 中的截面轮 廓环也可以被分解成5 个实体。 图3 1 有最大包容环的截面轮廓环图3 2 没有最大包容环截面轮廓环 图3 3 图3 1 被分成3 个实体的示意图 ,介、 吲 虽然一个实体的环与另外实体的环有可能有包容关系,但是由于实体的互斥性 ( 不可能与其他实体相交) ,所以如图3 1 所示的截面和如图3 2 所示的截面进行布尔 运算就可以分解为各自的实体分别求布尔运算。我们把求布尔运算的两个实体分别称 为主实体和剐实体。主实体的外环称为主外环,主实体的内环称为主内环。副实体的 外内环相应的称为副外环和副内环。 一- 1 5 华中科技大学硕士学位论文 3 3 层与层之间布尔运算的简化方法 3 3 i主实体与副实体布尔运算的理论基础。” 设有多边形a 和b ,并分别以符号“+ ”、“一”、“n ”来表示多边形的并、差和 交运算,则多边形a 和b 的并、差、交为:a + b 、a b 、a a b 。而根据布尔代数有: a n b = a - ( a b ) ( 3 1 ) a + b = ( a b ) + b ( 3 2 ) 即多边形a 和b 的交运算和并运算可以建立在多边形的差运算的基础上。 图3 4 主实体a 和副实体b 求差的情况 根据实体( 带有孔洞的多边形) 的特点和交、并、差的定义,实体a 和b 的布尔 运算也满足式3 一l 和3 2 ,即实体a 和实体b 的布尔运算也可以建立在实体之间的 差运算的基础上。 主实体和副实体虽然也可以进一步分解为环和环的布尔运算,但是分解很复杂。 如图3 4 所示。主实体a 和副实体b 分别由一个外环和一个内环组成。主实体的环用 粗实线表示,副实体的环用细实线表示。如果将主实体和副实体进一步分解为环与环 的布尔运算。则为( ( 主外环一副外环) 一主内环) - i - ( ( 副内环一主内环) 一( 副内环 一主外环) ) 。如果主实体和副实体的内环再多些,则更为复杂,故继续分解下去 是不明智的,所以我们把实体与实体的布尔差运算作为实现任意轮廓间布尔运算的基 础。 1 6 华中科技大学硕士学位论文 3 3 2 层与层之间布尔运算的简化 如图3 1 所示的截面轮廓和如图3 2 所示的截面轮廓环求差,即可简化为实体与 实体之间的布尔运算。图3 1 由三个实体组成,记为a l ,a 2 ,a 3 ,图3 2 由5 个实体 组成,记为b 1 ,b 2 ,b 3 ,b 4 ,b 5 。则图3 1 和图3 2 的轮廓的差运算的结果为: ( a 1 b 1 b 2 b 3 b 4 b 5 ) + ( a 2 b 1 b 2 b 3 b 禾b 5 ) + ( a 3 b 1 b 2 b 3 b 4 b 5 ) 。此时需要采用 递归的方法来实现上一层的实体分别与下一层的实体求差。 3 4 截面轮廓环的内外边界的识别 前面几节将层与层之间的布尔运算转化为实体( 带有孔洞的多边形) 与实体之间 的布尔运算。这一节将介绍如何将每一层的截面轮廓分解为n ( n = 1 ) 个实体,即识 别截面轮廓的内外环以及其中的内环属于哪个外环。 3 4 1 树形结构 图3 5 圈3 , 1 的树结构图3 6 图3 2 的树结构 由图3 1 和图3 2 可知,一个环里面包含n ( n = o ) 个环,被包围环里面还可能 包围环。因此可以用树形结构来表示这个结构 2 9 】。图3 1 和图3 2 则可以分别用如图 3 5 和图3 6 的树形结构来表示。 此种树形结构虽然能准确表达轮廓环之间的包容关系,但是树的结点的存储,建 树和遍历都很不方便,故本文提出采y 羁- - y 树来实现截面轮廓环内外边界的识别与实 体的提取。由于一个外环里面可能包含多个内环( 超过2 个) ,如果将结点的左右子 结点都作为一个环被包容的环显然不行。考虑到同一层的环与环之间只有包容和非包 1 7 华中科技大学硕士学位论文 容( 相离) 的关系。故用左子结点表示被父结点包容,用右子结点表示和父结点相离 的环。则图3 1 和图3 2 则可以分别用如图3 7 和图3 8 的二叉树结构来表示。 对于每个结点a ,它有一父结点b ,一左孩子结点c ,一右孩子结点d 。就上 图3 7 而言,当a 为结点4 时,b 为结点3 ,c 为结点7 ,d 为结点6 。它们的关系是 b 包含a ,a 包含c ,a 与d 相离;即b a ,a c ,a = d 。当a 为内环时,b 为外 环,c 为外环,d 为内环。 本算法的重要特点就是用右孩子结点表示相离环。 以下是所用到的其中几种数据结构: s t r u c t 鼬n g n o d e t w o p o i n t 2 f * 中;指向环的最大包围盒的指针 c z r i n g p ;指向环的指针 i n tc l o c k w i s e ; 指明环的内外环信息。 ; 图3 7 图3 1 的二叉树结构 图3 8 图3 2 的二叉树结构 c l a s s i r e e n o d e p u b l i c : t r e e n o d e o ; 华中科技大学硕士学位论文 一= ;= = ;= ;= = = = 自= = 。;= = ;= ;= ;= 2 = ;= 目 v i r t u a l - t r e e n o d e o ; p r i v a t e : t r e e n o d e + l e f t c h i l d ; t r e e n o d e + r i g h t c h i l d ; t 】汜e n o d e + f a t h e r n o d e ; r i n g n o d ed a t a ; p u b l i c : f r i e n dc l a s st r e e ; ; c l a s st r e e p u b l i c : t r e e ( ) ; t r e e ( t r e e n o d e + n o d e ) ; v i r t u a l t r e e 0 ; v o i dd e l e t e n o d e ( t r e e n o d e + n o d e ) ; v o i dd e l e t e t r e e ( t r e e n o d e n o d e ) ; v o i dc o m p a r e n o d e ( t r e c n o d e + n o d e , t r c e n o d e c o m p n o d e ) ; v o i di n s e r t ( t r e e n o d e + n o d e , t r e e n o d e + p o s n o d e ) ; t r e e n o d e + g e t r o o t 0 ; v o i do r d e r i ( t r e e n o d e + n o d e ) ; v o i do r d e r 2 ( t r e e n o d e n o d e ) ; v o i d v i s i t i ( t r e e n o d e + n o d e ) ; v o i dv i s i t 2 ( t r e e n o d e + n o d e ) ; f r i e n di n tc o n t a i n ( r i n g n o d e & m l ,r i n g n o d e m 2 ) ; p r i v a t e : 1 9 华中科技大学硕士学位论文 t r e e n o d e + r o o t ; ; 其中r i n g n o d e 结构由指向环以及环的最大包围盒的指针和辨别内外环信息的整 型值构成。其实际上就是数结点的d a t a 部分。用指针大大节约了存储空间。 二叉树的结点增加了f a t h e r n o d e 的结构,指明此结点的环被f a t h e r n o d e 结点的环 所包容,如果f a t h e r n o d e 为n u l l ,则说明这个结点的环就是最外环,没有环包容它。 树中最重要的函数是i n s e r t 函数和v i s i t l 。v i s i t 2 函数。i n s e r t 函数负责建树,s i t l 和s 舵函数负责遍历的时候处理结点完成实体的提取。 3 4 2 建树 建树的过程也就是一不断插入结点的过程。当定义一t r e e 对象后,我们所要做的 工作就是循环调用i n s e r t (

温馨提示

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

评论

0/150

提交评论