三维数据模型分层图形传递及中间层的研究.doc
《三维数据模型分层图形传递及中间层的研究.doc》由会员分享,可在线阅读,更多相关《三维数据模型分层图形传递及中间层的研究.doc(131页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流三维数据模型分层图形传递及中间层的研究.精品文档.广州大学华软软件学院本科毕业论文论文题目 三维数据模型分层图形传递 和中间层的研究与实现 专 业 电子信息工程(嵌入式软件开发) 班 级 10嵌入式软件开发1 姓 名 陈 存 学 号 1040907108 指导教师 张芒、叶小艳 广州大学华软软件学院电子系2014年 4 月摘要 3D打印机中间层软件作为CAD到RP的数据转换和处理接口,是3D打印机的灵魂。各大3D打印机生产商一般都开发有自己的分层软件,国外也涌现了很多作为CAD与RP系统之间桥梁的第三方分层软件。但是,这些分层软件价格昂贵,并
2、且无标准化,软件的二次开发困难。针对此现状,我们设计和开发了一种基于STL文件格式的具有快速分层能力的分层软件,以满足自行研发的3D打印机的需要。本文详细介绍了这种3D打印机分层软件的设计与实现。文章首先介绍了快速成型技术的发展,结合自行设计的3D打印机分析了系统的功能需求,设计了3D打印机分层软件的总体方案,并根据总体的设计方案逐步展开。本文中软件采用了模块化和层次化的设计方法,根据软件工程的模型,进行了软件的模块划分并确定了各部分的功能,对软件的详细设计进行了重点描述。最后,对本文的工作做了一个总结,并对后续的开发工作指出了方向,对3D打印机分层软件的研发做了相关展望。关键词 3D打印机;
3、STL;分层;算法;RP;软件设计;模块ABSTRACT As the interface of data conversion and data processing from CAD to RP ,Slicing software is the soul of 3D printer.Major 3D printer manufacturers generally have developed their own slicing software. There are also a lot of third-part software as the bridge between CAD an
4、d RP abroad.However,these slicing software are very expensive and have no standardization,and they are difficult for secondary development.Against the status quo,we design and develop a quick slicing software which is based on STL file format to meet the needs of self-designed 3D printer.The paper i
5、ntroduces the design and realization of slicing software of 3D printer in detail.Firstly,the paper introduces the development of rapid prototyping technology.The paper unfolds gradually according to the overall project plan.slicing software is partly based on the modular and hierarchical design meth
6、od,according to the model of software engineering,the paper describes software modules and corresponding functions,and especially the detail design of the software.Finally,a brief summarize is described and the following research work is discussed.KEY WORDS 3D Printer;STL;Slicing;Algorithm;Rapid Pro
7、totyping;Software design,Modular目 录1.前言11.1 课题研究的背景和意义11.2 3D打印技术介绍11.3 3D打印技术的原理21.4 3D打印技术发展前景以及应用22.需求分析42.1 Solidworks三维建模软件介绍42.2 可行性分析42.2.1技术可行性42.2.2经济可行性52.3软件需求分析52.4 QT和QT Creater 介绍63.系统总体设计73.1功能分析73.2设计分析93.3软件功能模块化设计分析93.4 STL文件的读入与分析113.5下位机需要获取的文件分析143.6 G代码转换成下位机格式数据的过程分析154.软件的模块化
8、设计184.1文本文件操作相关概念184.2 数据转换模块194.2.1初始化模块194.2.2数据读写模块204.2.3坐标值数据转换模块224.2.4格式化输出坐标模块224.2.5去重坐标模块234.3 数据显示模块244.3.1源文件界面显示244.3.2目标文件显示264.4数据传输模块275.程序的编译与运行325.1程序的编译、连接和运行325.2测试结果并分析结论335.2.1测试结果335.2.2数据分析376.总 结40参考文献42附录43附录1:STL模型生成的G代码数据test.gcode43附录2:分层程序处理后的目标数据test.txt.xyz44致 谢481.前言
9、1.1 课题研究的背景和意义快速成型(Rapid Prototyping,简称RP)技术是20世纪80年代后期发展起来的一种先进制造技术。二十几年来,该技术在国内得到了迅速的发展,应用领域不断扩大。此技术已广泛应用在机械、汽车、航空空天、电子等行业中,取得了显著的效果。快速成型技术采用离散堆积的工艺原理,该技术非常适用于形状复杂的不规则零件的制造,使得零件的复杂程度与制造成本基本无关,成功的实现了设计与制造的一体化,解决了CAD中三维造型“看得见,摸不着”的问题。快速成型的方法很多,典型的有:SL(光固化法)法、LOM(层迭法)法、SLS(选择烧结法)法、FDM(融堆法)法、SGC(层固化法)
10、法等。这些方法各有优缺点,然而这些方法有一个共同的缺点:成型时间长,而且成本高,一般的中小型企业难以承受。近年来,国外又推出了一种新的快速成型方法:3DP(三维打印法)法。而采用了3DP方法的快速成型设备被形象地称为3D打印机。3DP法成型速度比其他技术快510倍,其他快速成型设备两三天才能成型的零件,3D打印机几个小时之内就可以完成。3D打印机成本低廉、设备占用空间小,可以成为设计师办公室的办公用品。更重要的是,由于以上的优点,三维打印法能够普及性的改变传统的零件设计模式。传统的零件设计都是二维的三视图,以致现在的一些优秀的设计软件(如UG、Pro/ENGINEER等)虽然能够给设计者立体视
11、图,但是还是没有实现真正的模型设计,客户还是摸不着,而只是概念设计。而3DP法将会使得实体(模型)设计成为可能。用通用的软件,如Pro/ENGINEER,设计的零件,只需利用3D打印机分层软件进行切片处理,然后通过数控系统指挥打印机一层层打印。不用多长时间,真实的三维立体模型就会出现在设计者和用户面前。这样就可以大大节省开支,减少不必要的浪费。而且还可以加快产品的开发,迅速占领市场1。1.2 3D打印技术介绍3D打印技术,是一种以数字模型文件为基础,运用粉末状金属或塑料等可粘合材料,通过逐层打印的方式来构造物体的技术。3D打印机则出现在上世纪90年代中期,即一种利用光固化和纸层叠等技术的快速成
12、型装置。它与普通打印机工作原理基本相同,打印机内装有液体或粉末等“印材料”,与电脑连接后,通过电脑控制把“打印材料”一层层叠加起来,最终把计算机上的蓝图变成实物。如今这一技术在多个领域得到应用,人们用它来制造服装、建筑模型、汽车、巧克力甜品等。1.3 3D打印技术的原理 3D打印是添加剂制造技术的一种形式,在添加剂制造技术中三维对象是通过连续的物理层创建出来的。3D打印是断层扫描的逆过程,断层扫描是把某个东西“切割”成无数叠加的片,3D打印就是一片一片地打印,然后叠加到一起,成为一个立体物体。每一层的打印过程分为两步,首先在需要成型的区域喷洒一层特殊胶水,胶水液滴本身很小,且不易扩散;然后是喷
13、洒一层均匀的粉末,粉末遇到胶水会迅速固化黏结,而没有胶水的区域仍然保持松散状态。这样在一层胶水一层粉末的交替下,实体模型将会被“打印”成型,打印完毕后只要扫除松散的粉末即可“刨”出模型,而剩余粉末还可循环利用2。图1-1 3D打印机1.4 3D打印技术发展前景以及应用近年来,3D打印技术持续发展,成本的大幅降低使其已经从研发的小众空间向主流市场进军,发展势头不可阻挡,已经成为社会广泛关注、民用市场迅速崛起的新领域。3D打印制作的模型、礼品、纪念品乃至工艺品的应用,极大吸引了社会关注和投入,发展加速,市场开始呈现量与质的双飞跃。据预测,2020年3D打印成品将占产品生产总量的50%。 随着3D打
14、印技术的不断突破,新材料的日益改善,3D打印的速度、尺寸在不断提高,其技术在不断优化,应用领域在不断扩展,特别是图形艺术领域的潜力,三维的概念模型能更好地传达制作者的想法或解决方案,一张图可以胜过几百甚至上千个文字的描述。专业人士坚信个性化或定制化的3D打印可以将一个所想象的三维模型即时摆在眼前,能够快速改进产品,增长幅度将超过想象,将会改变社会各种应用的未来。3D打印技术将淘汰传统生产线,缩短制作周期,大大减少生产废料,所需原材料用量将减少到原来的几分之一。3D打印不仅节约成本,提高制作精度,也将弥补传统制造的不足,并将在民用市场迅速崛起,从而开启制造业的新纪元,为印刷工业带来新的机遇3。3
15、D打印的应用领域越来越广泛,目前主要应用于工业、医疗、建筑、航天、机械制造等行业的模型制作,包括精密的医疗器械和工艺品等。在建筑领域,3D打印机能够为曲面异型建筑的重要精密构件快速制作精确模型,实现传统建筑模型制作无法达到的工艺水平,甚至可以“打印”出一栋完整的建筑。在地理空间领域,3D打印机可以轻松将GIS数据转化为三维地形及城市景观模型或沙盘。在教育领域,3D打印机能够将抽象概念带入现实世界,将学生的构思转变为他们可以捧在手中的真实立体彩色模型,令教学更为生动。在娱乐艺术领域,3D打印机可以根据电子游戏、三维动画以及其他创作产生的三维数据轻松制作自定义头像和雕像4。2.需求分析2.1 So
16、lidworks三维建模软件介绍Solidworks三维建模软件是将计算机技术与工程设计结合起来的数字化、智能化的设计平台。目前在各企业中深入广泛的应用三维设计技术,相比传统的手法,更大程度地提高了设计质量和缩短了工程周期。Solidworks软禁具有全面的零件实体建模,是一款功能强大、方便快捷的三维设计软件。它大致可以划分为以下几个板块:草图绘制、三维建模、钣金设计、焊接件的生成、模具设计工具、装配体、工程出图等众多模块。2.2 可行性分析2.2.1技术可行性通过Solidworks三维建模软件设计出的模型,能够对立体图形进行分层,按照一个方向(如Z方向即立体图形的高度)我们从图2-1中直观
17、地看出立体图形每一层的层面信息,三维软件最后会导出该立体图形每一层面的每个坐标点的信息数值。另一方面,下位机需要接收的数值格式是由我们自己定义的,例如字符表示开始读取坐标值,$字符表示读取每一行数据后停止,即读每一个坐标点后停止。因此,鉴于Solidworks三维建模软件最后导出的图形坐标数据在运动轨迹重复性和时间长问题,我们可以用C语言设计程序来实现数据的转换,已达到大大降低成型时间的目的。图2-1 三维立体模型图2.2.2经济可行性设计一款产品,我们还需要看它能否给我们带来经济效益。这个主要是由成本、性能、售价决定。越低的成本、更高的性价比决定了这款产品的市场位置。我们设计这款数据转换算法
18、程序需要的成本非常低廉,还可以免费提供给用户使用。因此,我们确信无论在技术上还是在经济可行性上都可以俘虏用户的心。2.3软件需求分析我们设计一款产品前,首先需要先对其技术可行性、经济可行性进行一定的客观分析,另外,一款产品被设计出来,有需求才有市场。产品在市场能够建立起根据地主要由两个因素决定:需求和竞争。尽管3D打印技术在国内的发展处在一个起步和研究阶段,但是结合3D打印技术的发展前景和应用领域,我们可以看到三维打印需求量是非常充足的。在如此竞争激烈的市场环境下,用户会优先选择高性能、高性价比、高速率的产品,因此我们这个项目设计能够提高产品的生产效率以及节省生产时间,无疑对3D打印技术的发展
19、起到促进的作用,有创新才有进步。2.4 QT和QT Creater 介绍Qt是一个跨平台应用程序和UI开发框架。使用Qt您只需一次性开发应用程序,无需重新编写源代码,便可跨不同桌面和嵌入式操作系统部署这些应用程序。Qt Creater是全新的跨平台Qt IDE(集成开发环境),可单独使用,也可以与Qt库和开发工具组成一套完整的SDK(Software Development Kit,即软件开发工具包)。其中包括:高级C+代码编辑器,项目和生成管理工具,集成的上下文相关的帮助系统,图形化调试器,代码管理和浏览工具。直观的C+类库:模块化Qt C+类库提供一套丰富的应用程序生成块(),包含了构建高
20、级跨平台应用程序所需的全部功能。具有直观,易学,易用,生成好理解、易维护的代码等特点。跨桌面和嵌入式操作系统的移植性:使用Qt,您只需一次性开发应用程序,就可跨不同桌面和嵌入式操作系统进行部署,而无需重新编写源代码,可以说Qt无处不在(Qt Everywhere)。l 使用单一的源代码库定位多个操作系统;l 通过重新利用代码可将代码跨设备进行部署;l 无需考虑平台,可重新分配开发资源;l 代码不受担忧平台更改影响的长远考虑;l 使开发人员专注于构建软件的核心价值,而不是维护API。具有跨平台IDE 的集成开发工具:Qt Creator 是专为满足Qt开发人员需求而量身定制的跨平台集成开发环境(
21、IDE)。Qt Creator 可在windows、Linux/X11和Mac OS X 桌面操作系统上运行,供开发人员针对多个桌面和移动设备平台创建应用程序。3.系统总体设计3.1功能分析 STL模型的分层处理在3D打印机快速成型中起着非常重要的作用。通过分层数据,客户不仅可以了解快速成型的制作原理和过程,而且可以对CAD模型的错误进行快速成型任务提交前的检验。指导CAD模型数据的修正。STL模型的分层处理就是根据用户输入的分层方向和分层厚度,求取一系列切平面与STL模型中三角面片的交线,并将首尾相连的线段组成一个个轮廓,同时还要判断轮廓是否封闭。 STL模型是用小三角形面片对原CAD模型的
22、一种离散逼近,一个STL模型少则包含成百三千,多则有数十万个三角形面片,所以分层算法效率的高低就成为影响系统适用性的重要因素。分层处理一般包含两个步骤:即平面求交和线段轮廓归并。所以影响分层速度的因数主要有两个:一个因素是在求取每一层的轮廓线段时,都要判断每个三角形面片与切平面的位置关系,若相交则求交线。与某一切平面相交的知识少数三角面片,而大多数的三角面片与该切平面是不相交的,因此大多数判断属于无效判断,浪费计算时间。另一因素是完成三角面片和切平面求交运算后,要对所得交线进行排序,以生成封闭轮廓线。当一个STL模型包含大量三角面片时,用一般算法进行交线排序,其处理速度将非常慢,必须研究特殊的
23、快速分层算法,如先对STL模型数据做一些预处理再进行切片处理,以提高切片效率。另外,我们还可以对STL数据的每个切片的打点轨迹进行优化,以提高二维打印的效率5。正是基于STL模型分层算法的繁杂性和耗时性分析,我们很有必要设计一款能够简便性与耗时短的程序,在STL模型分层算法的基础上进行改良优化,以此来提高三维模型快速成型的速率与效率,因此,我们运用数学建模的思想、换位思考思想以及算法效率方法对我们的STL模型数据进行转化,尝试转换成下位机能够识别接收和驱动的数据。图3-1 数据转换前后喷头运动轨迹示意图从图3-1数据转换前后喷头运动轨迹示意图中,我们知道这主要是粗略说明转换后的数据的3D打印机
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 三维 数据模型 分层 图形 传递 中间层 研究
限制150内