http://www.sohu.com/a/236241465_100000368
Cura是Ultimaker公司开发的3D打印开源软件,在所有的3D打印开源软件中应属上乘之作,很有研究的价值。国内不少高校对其有深入研究,研究成果体现在其毕业论文之中。国内互联网上也有很多文章对其代码进行了剖析。
最近一段时间,读了几篇论文,分析了Cura的部分代码,打算写上若干篇分析文章。这里的视角与他人不一样,并不具体讲代码,不拘泥于具体的切片算法,而是通过使用软件与阅读代码后总结描述其软件的设计与架构。
所分析的代码是Cura最新的代码,分析过程中直接同步GitHub上的代码库,发现软件开发目前很活跃的,代码提交比较频繁,开发库中的版本已经合并到3.4了。
本篇主要描述:
- Cura软件使用的开发语言以及使用的第三方开源库;
- 切片引擎CuraEngine程序的四种命令行参数调用接口;
- Cura软件代码总体评价。
Cura软件简介
Cura软件实际上包含两个软件:Cura与CuraEngine。前者是图形界面程序,后者是专用于切片的后台程序,前者依赖于后者,在切片时将调用后者。
两个软件使用的编程语言与第三方库
Cura |
CuraEngine |
|
开源库网址 | https://github.com/Ultimaker/Cura | https://github.com/Ultimaker/CuraEngine |
开发语言 |
Python,细致点说还有Qt的QML语言 |
C++ |
第三方库 |
PyQt,QtQuick,Protobuf,Arcus |
Protobuf,Arcus,clipper,rapidjson |
图形界面 |
使用的是QtQuick而不是传统的QtWidgets,图形界面很新潮 |
控制台程序,无图形界面 |
第三