3D打印软件Cura的二次开发(GUI)--环境搭建

3D打印软件Cura的二次开发(GUI)--环境搭建

96 
软体动物Ai 
2016.07.06 12:36*  字数 1639  阅读 1300 评论 8

本文采用中国大陆版CC协议发布
作者保留以下权利:

  1. 署名(Attribution):必须提到原作者。
  2. 非商业用途(Noncommercial):不得用于盈利性目的。
  3. 禁止演绎(No Derivative Works):不得修改原作品, 不得再创作。
    新浪微博 @软体动物小Ai

15年的时候在自己的博客上面发布了一篇Cura二次开发环境配置的文章,之后一直不断有朋友咨询相关问题,由于工作比较忙没能一一回复。同时我之前承诺的后续文章也没有兑现,在此和大家说声抱歉。

当前版本的Cura较之前已经有了很大的改变,因此我觉得有必要更新一下了,同时由于当时在写作时只是作为自学笔记并不是很了解相关的原理,其中可能有一些错误,也会在本文中进行更正。

一、约定

本文使用的系统为64位的Windows 10操作系统,安装了32位的Python 2.7 ,所有操作均在bash中完成

二、准备工作(配置Python和虚拟环境)

  1. 安装Git Bash
    首先去官网下载对应版本的 git for windows,然后一路默认安装。
  2. 安装Python
    直接去官网下载2.7版本的Python并安装(位数无所谓,我安装的是32位),安装完成后,在bash中运行winpty python,测试一下是否能够进入python解释器。
  3. 安装pip
    下载pip-get.py,然后python pip-get.py运行就可以完成安装
  4. 安装virtualenv
    pip install virtualenv

三、下载Cura源码

  • 首先你需要在GitHub上面fork一下cura源码


    fork
  • 查看fork后的代码仓库URL


    查看url
  • 克隆代码到本地任意位置
    git clone https://github.com/hanxiaomax/Cura.git

四、安装Cura的依赖库

  • 首先,创建虚拟环境并切换
    • 进入cura目录,运行bash
    • 执行virtualenv env创建一个名为env的虚拟环境
    • source env/Scripts/activate 切换到虚拟环境中

以下操作均在虚拟环境env中进行

  • 安装依赖库
    在cura文件夹可以看到一个requirements.txt文件,可以尝试使用pip install -r requirements.txt直接安装,但是很可能会失败。
    PyOpenGL>=3.0.2
    numpy>=1.6.2
    pyserial>=2.6
    power>=1.2
    setuptools>=0.6.34
    文件内容如上,我们可以先安装除numpy以外的包
    pip install PyOpenGL
    pip install pyserial
    pip install power
    pip install setuptools
    然后我们安装numpy。对于Windows用户,最好去这里下载.wh1文件。


    如果你是32位Python就下载箭头所指的包,64位就下载下面一个。下载完成后把它拷贝到cura目录下面,然后执行pip install <filename>,其中<filename>就是你下载下来文件的名字。

五、安装wxPython

wxPython是cura的GUI框架, 不能直接从pip安装,首先我们去官网下载,注意这里版本一定要下对,32/64位取决于Python位数而不是操作系统的位数。如果下载错误,则运行时会提示:

**DLL load failed: 1% 不是有效的win32 应用程序**

安装完成后,wxPython被安装到了系统的Python库中,我们在虚拟环境里面是无法使用的,所以我们需要到C:\Python27\Lib\site-packages中把 wx-3.0-mswwx.pth,wxversion.py这三个拷贝到虚拟环境下面的 Lib/site-packages中。

在bash中运行pythonwinpty python来启动解释器,然后尝试import wx,如果可以导入,说明安装成功。

六、运行Cura

这里我们启动Cura的GUI程序,由于没有包括引擎部分,所以是无法实现切片的,只能够允许你去定制Cura的界面。
之前的文章里面我提到:

0.修改app.py
我们并不希望,每次修改代码后,都要对Cura重新打包然后运行查看效果,而是希望有更加方便的预览办法。其实非常简单,只需要把Cura当做一个模块运行即可。
~\Cura\gui\app.py 中我们需要添加几行代码,使其可以作为模块单独运行
if name == 'main': app=CuraApp("1.txt")#随便指定一个文件即可 app.MainLoop()#开启wx的主循环

1.启动
在cura根目录下 python -m Cura.gui.app
会出现splash画面,如果没有进一步启动程序,说明有一些脚本无法载入,一般是因为导入不了某些库。此时我们需要检查一下是否所有的依赖都已经安装。。正常情况应该是在稍许延时后完成启动。

我发现现在已经无法使用该方法了,其实当时有点舍近求远了。

最简单的启动办法是:
在Cura根目录执行python -m Cura.cura,随后即可看到欢迎界面,程序成功启动。


运行截图

WTF!没有正常启动?而且没有报错?请看下面的错误排查环节!


6.错误排查

Cura在启动时已经把所有的输出都做了重定向,所以在控制台里面是无法看到报错信息和print输出的信息的。

  • 一种方法是:查找output.txt文件,通常会在根目录下,如果不在就搜索一下系统。
  • 另一种方法:修改gui/app.py中代码

    class CuraApp(wx.App):
      def __init__(self, files):
    
          if platform.system() == "Windows" and not 'PYCHARM_HOSTED' in os.environ:
              #super(CuraApp, self).__init__(redirect=True, filename="output.txt")
              #修改为:
              #super(CuraApp, self).__init__(redirect=True, filename=False)
          else:
              super(CuraApp, self).__init__(redirect=False)

    随后就可以看到相应的错误信息,根据报错内容来进行处理。大家可以在留言里面说一下自己遇到的问题。


结束语

工作实在比较忙,希望大家理解,希望能够有时间写一下后续的内容。至于到底有没有后续呢?那就得看大家打赏的热情啦~(手动斜眼)

  • 1
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值