- 无标题文档
查看论文信息

中文题名:

 Repetier-Host源码分析与二次开发    

姓名:

 崔海森    

学号:

 1203121774    

保密级别:

 公开    

论文语种:

 chi    

学科代码:

 0812    

学科名称:

 计算机科学与技术(可授工学、理学学位)    

学校:

 西安电子科技大学    

院系:

 计算机学院    

专业:

 计算机技术    

第一导师姓名:

 王泉    

第一导师单位:

 西安电子科技大学    

第二导师姓名:

 赵东平    

完成日期:

 2014-12-13    

答辩日期:

 2014-12-13    

外文题名:

 The Source Code Analysis of Repetier Host and Secondary Development    

中文关键词:

 3D打印 ; Repetier-Host ; C# ; CuraEngine ; 开源    

中文摘要:
3D打印的发展受益于软、硬件的开源运动及互联网的文件共享,出现了很多开源免费的3D打印控制软件,比如Cura、KiSSlicer、OctoPrint、Make-me等,在众多开源软件中Repetier-Host是一个易用性强而且功能强大的3D打印控制软件,它在中国的用户有很多。本文的主要工作为:1. 研究Repetier-Host 0.90版本的源码。整体上从编译环境搭建、功能研究、软件架构及命名空间上分析代码。然后按打印预处理、切片及G-code处理、打印机、其他功能四大类模块再具体分析其实现细节。2. 添加模型文件格式转换功能。3D模型文件的格式有很多种,但是Repetier-Host支持的主要格式是STL、OBJ和3DS,为了使更多其他格式的模型文件可以被Repetier-Host处理,本文利用Assimp.Net库对其他格式的模型文件进行格式转换,从而扩展Repetier-Host处理模型文件的格式范围。3. 添加模型修复功能。在进行模型打印之前,有必要对模型进行错误检查,并修复这些可能引起打印失败的缺陷。虽然Repetier-Host本身已经有一些比较简单的修复,但为了加强Repetier-Host错误修复的能力,本文又利用Slic3r的修复功能来做进一步的模型修复。4.把MeshLab集成到了Repetier-Host中。在模型的建立中,激光扫描是一种常见的方式,而MeshLab可以对3D扫描后的模型进行表面重建和模型编辑,所以本文把开源的MeshLab集成到Repetier-Host中,以提供一个比较全面的工具链。5. 添加CuraEngine切片程序并分析其源代码。切片技术是3D打印中的关键技术之一,而研究一个切片程序的源代码对于理解切片技术有很大的帮助。CuraEngine是Cura中使用的模型切片程序,它是一款独立的开源C++控制台程序,不仅能集成在Cura中,也可以集成到其他的3D打印控制软件中,它可以对保存在STL文件中的模型进行分层切片,并生成打印机可以接收的G-code指令代码文件。Repetier-Host是用C#语言编写的,所以它可以运行在.Net及Mono环境中,本文中使用的环境是.Net,其中会涉及OpenTK库、Slic3r软件及SkeinForge软件。OpenTK库是Repetier-Host进行模型三维显示时使用的库,而Slic3r和SkeinForge是Repetier-Host内部集成的第三方切片处理软件,在本文中会对它们进行更为详细的介绍。对源码的研究总是受益匪浅的,而对Repetier-Host源码的研究的价值就在于,可以清楚的看到其内部的层次结构和软件框架,学习并掌握其使用的技术与技巧,也可以为后期二次开发做准备,还可以为重新编写3D打印控制软件做一个参考。
外文摘要:
The development of 3D printing is benefit from the software and hardware open source movement. At the same time, the Internet file sharing also pushes the development of 3D printing. Now, there are many types of open-source software. For example Cura KiSSlicer OctoPrint Make-me etc. In all these types of software, Repetier-Host is a popular type of software in China for its powerful usability. The main work of this paper is outlined as follows:1. Research Repetier-Host 0.90 version of the source. Overall build the environment, analyze the function of the code, the software architecture and namespaces. Then classify the code into print pretreatment, slicing and G-code processing, printer, other features of the four modules and then analyze their specific implementation details.2. Add the model file format conversion function. Although there are many kinds of 3D file formats, but Repetier-Host can only read stl, obj, 3ds formats. So Assimp.Net library has been used to convert other formats into stl format. By this way, Repetier -Host is powerful enough to work with other popular 3D file formats.3. Add the model repairing function. Before slicing and printing the 3D model, it’s necessary to check the model to avoid some unnecessary loss. Repetier-Host does some simple repairs by itself. In order to make it strong, slic3r software has been used to do more work to repair the model.4. Integrate MeshLab into Repetier-Host. The laser scanning is a common way in 3d modeling. And MeshLab can reconstruct and edit the model which is scanned by the laser. In order to provide a more comprehensive tool chain, MeshLab is integrated into Repetier-Host.5. Add CuraEngine and analyze the source code of CuraEngine. Slicing technique is very import in 3D printing. CuraEngine is a powerful type of slicing software in Cura, but it can also be added into other 3D printing control software. CuraEngine is an open-source C++ console application which can slice stl model file into g-code file. Repetier-Host is written in C#. It can run in dotNet or Mono. In this paper, it runs in dotNet. Repetier-Host uses OpenTK library to show the 3D model to the users and uses Slic3r, Skeinforge software to slice the model. These details will be introduced in this paper.Open-source code can always reveal the software structure and architecture. Based on this study, Repetier-Host can be modified to become more powerful. If a new type of 3d printing control software is planned to writing from scratch, it can also get inspiration from this study.
中图分类号:

 11    

馆藏号:

 11-25775    

开放日期:

 2015-09-13    

无标题文档

   建议浏览器: 谷歌 火狐 360请用极速模式,双核浏览器请用极速模式