3D 打印切片软件 CuraEngine 介绍

3D 打印切片软件 CuraEngine 介绍

简介

  1. 3D 打印的历史还有发展略过,请自行百度 http://www.baidu.com/
  2. 概述 。
    1. 软件功能
  3. Curaengine 切片软件就相当于一个编译器,输入 stl 文件(或者其他,比如 AMF 文件真蛋疼),输出 g 代码(GCode)。
  4. gcode 类似于汇编代码,可以直接在底层硬件上跑(这里就是控制电机等运动单元动作,当然还需要驱动电路之类)。然而不幸的是,GCode 跟汇编代码一样,不只有一套标准。在源码文件<settings.h>的 EGCodeFlavor 中有六种类型,好在差别不是很大.
    1. reprap 的 GCode。
      用在 Marlin/Sprinter/Repetier 打印机上,是用的最多的 GCode。http://reprap.org/wiki/G-code/zh_cn
    2. UltiGCode。
    3. Markerbot GCode。
      要求使用 makerewave 转换成 X3G 文件?(require MakerWare to convert to X3G files) https://www.noisebridge.net/wiki/makerbot
    4. BFB(bits from bytes GCode)。出丝的 E 开头代码换成了 RPM。
    5. MACH3 GCode
      用的是 CNC 数控装置。http://machmotion.com/cnc-info/g-code.html
    6. reprap volumatric GCode。
  5. stl 文件分为二进制 stl、ASCII 类型 stl。在 modelFile.cpp 中有不同处理方法。CuraEngine 貌似只能处理 stl 文件格式,跟介绍里的有出入。
    1. 源码 。
  6. CuraEngine 完全用 c++写成,代码量在一万五到两万行之间(不包括依赖的外加库代码)。一些函数有注释,极少数重要的变量也有。由于用 c++编写,切片速度据说蛮快的。
  7. CuraEngine 依赖 protobuf https://github.com/google/protobuf/ 和 libArcus https://github.com/Ultimaker/libArcus 这两个外加库。编译前需要先单独编译这两个库。下面是依赖项关系图。
    1.png
    • protobuf
      Google’s data interchange format
    • libArcus
      This library contains a C++ and Python3 class for creating a socket in a thread and using this socket to send and receive messages based on the Protocol Buffers library. It is designed to facilitate the communication between Cura and its backend and similar code.
  8. windows 上编译成 vs_project。

    1. 用 cmake 生成 protobuf 的 vsproject。编译 protobuf 生成几个.lib 文件。
    2. 编译 libArcus 生成.dll 文件。(其中依赖第一步的生成文件)
    3. 注册安装.dll(或者编译成静态库 lib,并且在项目中引入),用 cmake 生成 curaengine 的 vs_project。(cmake 又要依赖于第一步生成的几个文件)
    4. 逗比的 vs 在 curaengine 编译时候会报错(一开始有几千个错误,擦),需要改源码,干掉那些 error(大多数是涉及到 Linux 和 mac 系统的代码)。

    还有个更简单的方法。这里是我编译成功的项目,http://pan.baidu.com/s/1o6j9laE 和 https://github.com/fhln/CuraEngine_vs ,直接 pull 下来就能用了。(环境 win8 64 位标准版,vs2013)

  9. 注释风格。
    项目中的注释可以通过 doxygen 生成说明文档,注释自动生成 。
    由于英文太烂,我自己新加的注释都是中文的。注释很可能有误,发现的话请火速联系 fhln@mail.ustc.edu.cn 
    博客的 org 文件也上传到 http://pan.baidu.com/s/1kT1WlGb
    1. 交流 。
  10. qq 交流群
    187233472
  11. 开启 c++逗比之旅。
    • 【注意】:以后代码分析基于 https://github.com/fhln/CuraEngine_vs 中的最初版本,与 CuraEngine 最新版本有出处!(最新版本运行时一直报错,不知道什么原因)
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值