3D打印控制软件Cura源码在UbuntuKylin15.04上编译 

3D打印技术 /[软件]
2017-06-21 17:39
    Cura源码在UbuntuKylin15.04上编译.jpg

摘要: Cura是Ultimaker发展的一个开源软件,用于3D打印机印前处理、模型切片和打印输出的软件。Cura可以支持中国目前绝大部分的3D打印机。最新的版本采用了PyQT5对界面进行了重构,这里介绍从源码编译Cura的过程,掌握源码对于软件定制和完善打印能力具有重要的意义。               
      Cura在Linux上的版本总是下载不了,准备自己从源码进行编译。
下面是从https://github.com/ultimaker上下载的编译脚本。原始的脚本有一些问题,自己做了一些修改,如下:
  1. #!/bin/bash
  2. # This is a script which get the latest git repo and build them.
  3. #
  4. # Tested under ubuntu 15.04, lower versions don't have PyQT 5.2.1 which is required by cura

  5. cd ~
  6. if [ ! -d "cura_dev" ]; then
  7.     mkdir cura_dev
  8. fi
  9. cd cura_dev

  10. sudo apt-get install -y git cmake cmake-gui autoconf libtool python3-setuptools curl python3-pyqt5.* python3-numpy qml-module-qtquick-controls
  11. git clone https://github.com/Ultimaker/Cura.git
  12. git clone https://github.com/Ultimaker/Uranium.git
  13. git clone https://github.com/Ultimaker/CuraEngine.git
  14. git clone https://github.com/Ultimaker/libArcus
  15. git clone https://github.com/Ultimaker/protobuf.git

  16. cd protobuf
  17. ./autogen.sh
  18. ./configure
  19. make -j4
  20. sudo make install
  21. sudo ldconfig
  22. cd python
  23. python3 setup.py build
  24. sudo python3 setup.py install
  25. cd ../..

  26. cd libArcus
  27. if [ ! -d "build" ]; then
  28.   mkdir build
  29. fi
  30. cd build
  31. cmake .. -DPYTHON_SITE_PACKAGES_DIR=/usr/lib/python3.4/dist-packages
  32. make -j4
  33. sudo make install
  34. cd ../../

  35. cd CuraEngine
  36. if [ ! -d "build" ]; then
  37.   mkdir build
  38. fi
  39. cd build
  40. cmake ..
  41. make -j4
  42. cd ../../

  43. cd Uranium
  44. if [ ! -d "build" ]; then
  45.   mkdir build
  46. fi
  47. cd build
  48. cmake .. -DPYTHON_SITE_PACKAGES_DIR=/usr/lib/python3.4/dist-packages -DURANIUM_PLUGINS_DIR=/usr/lib/python3.4/dist-packages

  49. sudo make install
  50. cd ../..

  51. cp -rv Uranium/resources/* Cura/resources/
  52. sudo ln -s $PWD/CuraEngine/build/CuraEngine /usr/bin/CuraEngine
  53. cd Cura
  54. python3 cura_app.py

  55. #export PYTHONPATH=/usr/lib/python3/dist-packages
复制代码

运行了很长时间,但结果不太妙啊。
编译结果出错:
  1. QWidget: Must construct a QApplication before a QWidget
  2. ./ubuntu-15.04-build-script.sh: 行 62: 29168 已放弃               (核心已转储) python3 cura_app.py
复制代码
嗯,这可是最新的开发代码呀!出点错是很正常的。
https://github.com/ultimaker/Cura上去创建了个issue,提交上去,看谁能解决这个问题。
等了两天,有其他人报同样的错误,但没有解决办法。只好自己再进一步研究。
进python控制台,一步一步运行源码。发现主要是缺少UM这个对象,这是Uranium的支持库,发现被安装到了/usr/local/lib/python3/dist-packages里面。
设置:
  1. export PYTHONPATH=/usr/local/lib/python3/dist-packages
复制代码
再次运行,出现OpenGL的错误,可能是VirtualBox虚拟机的问题。后面再继续。
更新所有的库,可以用这个脚本:
  1. #!/bin/bash
  2. # This is a script which get the latest git repo and build them.
  3. #
  4. # Tested under ubuntu 15.04, lower versions don't have PyQT 5.2.1 which is required by cura

  5. cd ~
  6. cd cura_dev

  7. cd protobuf
  8. git pull
  9. ./autogen.sh
  10. ./configure
  11. make -j4
  12. sudo make install
  13. sudo ldconfig
  14. cd python
  15. python3 setup.py build
  16. sudo python3 setup.py install
  17. cd ../..

  18. cd libArcus
  19. git pull
  20. cd build
  21. cmake .. -DPYTHON_SITE_PACKAGES_DIR=/usr/lib/python3.4/dist-packages
  22. make -j4
  23. sudo make install
  24. cd ../../

  25. cd CuraEngine
  26. git pull
  27. cd build
  28. cmake ..
  29. make -j4
  30. cd ../../

  31. cd Uranium
  32. git pull
  33. cd build
  34. cmake .. -DPYTHON_SITE_PACKAGES_DIR=/usr/lib/python3.4/dist-packages  -DURANIUM_PLUGINS_DIR=/usr/lib/python3.4/dist-packages

  35. sudo make install
  36. cd ../..

  37. cp -rv Uranium/resources/* Cura/resources/
  38. sudo ln -s $PWD/CuraEngine/build/CuraEngine /usr/bin/CuraEngine
  39. cd Cura
  40. python3 cura_app.py
复制代码
libgl出错,可能是虚拟机的问题,下次用物理机试试。
将Virtualbox的“显示-三维加速”去掉,libgl就不再报错了。
声明:3D打印资源库(3dzyk)内网友所发表的所有内容及言论仅代表其本人,并不代表3D打印资源库(3dzyk)观点和立场;如对文章有异议或投诉,请联系kefu@3dzyk.cn。
标签:
3D打印控制软件Cura源码在UbuntuKylin15.04上编译 
快速回复 返回顶部 返回列表