Repetier-Host源码分析与二次开发
发布时间:2017-08-18 06:29
本文关键词:Repetier-Host源码分析与二次开发
更多相关文章: 3D打印 Repetier-Host C# Cura Engine 开源
【摘要】: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打印控制软件做一个参考。
【关键词】:3D打印 Repetier-Host C# Cura Engine 开源
【学位授予单位】:西安电子科技大学
【学位级别】:硕士
【学位授予年份】:2014
【分类号】:TP311.52
【目录】:
- 摘要5-7
- ABSTRACT7-12
- 缩略语对照表12-15
- 第一章 绪论15-19
- 1.1 引言15
- 1.2 开源许可权15-17
- 1.3 3D打印在国内外发展现状17-18
- 1.4 本文的主要内容18-19
- 第二章 3D打印技术19-27
- 2.1 3D打印技术分类19-20
- 2.2 3D打印流程20
- 2.3 3D重建20-21
- 2.4 3D模型文件格式21-24
- 2.4.1 STL格式21-22
- 2.4.2 OBJ格式22-23
- 2.4.3 3DS格式23-24
- 2.5 模型的分层切片24-27
- 2.5.1 基于几何拓扑信息的分层切片算法24-25
- 2.5.2 基于三角形位置信息的分层切片算法25
- 2.5.3 基于模型几何连续性的分层切片算法25-27
- 第三章 Repetier-Host的源码架构分析27-35
- 3.1 Repetier-Host相关库及软件27-29
- 3.1.1 OpenTK简介27
- 3.1.2 Slic3r简介27-29
- 3.1.3 Skeinforge简介29
- 3.2 源码的整体分析29-35
- 3.2.1 编译环境搭建29-30
- 3.2.2 功能研究30-31
- 3.2.3 分层架构31-33
- 3.2.4 命名空间33-35
- 第四章 Repetier-Host源码细节分析35-53
- 4.1 打印预处理35-43
- 4.1.1 模型文件的加载35-38
- 4.1.2 模型的显示38-42
- 4.1.3 模型的自动放置42-43
- 4.2 切片及Gcode处理43-47
- 4.2.1 切片处理43-45
- 4.2.2 G-code处理45-47
- 4.3 打印机47-49
- 4.3.1 打印机的连接47-49
- 4.3.2 打印机温度监控49
- 4.4 其他功能分析49-51
- 4.4.1 语言设置49-50
- 4.4.2 日志功能50
- 4.4.3 软件在线升级50-51
- 4.5 Repetier-Host的插件框架51-53
- 第五章 基于Repetier-Host的二次开发53-63
- 5.1 模型文件格式转换53-55
- 5.1.1 Assimp库53
- 5.1.2 详细设计53-55
- 5.2 模型修复55-56
- 5.3 集成MeshLab56
- 5.4 添加CuraEngine切片程序56-63
- 第六章 总结与展望63-65
- 6.1 总结63
- 6.2 展望63-65
- 参考文献65-69
- 致谢69-71
- 作者简介71-72
【相似文献】
中国硕士学位论文全文数据库 前1条
1 崔海森;Repetier-Host源码分析与二次开发[D];西安电子科技大学;2014年
,本文编号:693112
本文链接:https://www.wllwen.com/shekelunwen/shishidongtai/693112.html