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

软体动物Ai  关注

2016.07.06 12:36*  字数 1639  阅读 1300 评论 8 喜欢 4


本文采用中国大陆版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-msw,wx.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)

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


结束语

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

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

  1. 1、RDA8910(4GCAT1)CSDK二次开发:环境搭建

    https://blog.csdn.net/weixin_44570083/article/details/106210592 目录 点击这里查看所有博文   本系列博客所述资料均来自合宙官方,并不是 ...

  2. Revit二次开发01——环境搭建(附Revit 2018 + Visual Studio 2017下载地址)

    目录 1.准备工作 1.1 安装Revit 2018 1.2 安装Revit 2018 SDK 1.3 安装Visual Studio 2017 2.配置Addin Manager 3.测试 3.1 ...

  3. KNIME二次开发之环境搭建

    一.搭建前提 JDK8安装 Git 安装 Eclipse 下载地址 二. 环境搭建 1. 配置knime sdf 启动Eclipse 克隆该存储库(knime-sdk-setup)并导入Eclipse ...

  4. 3D打印切片软件--cura的二次开发

    本来前段时间就要写的,只因为那会的收效比较小,有些东西还一窍不通,当然现在也还是有些不大明白,但是最起码刚刚跳出了cura主界面还是不枉这几天工作: 废话不多说了,就把最近我做过的东西,学到的东西以及 ...

  5. 3D打印切片软件--cura的二次开发(2)(界面分析与汉化)(修改版增加图片)

    转载:https://blog.csdn.net/qq_29701359/article/details/75070507 在上次把CUR软件从github网站clone下来并在windows8系统, ...

  6. CAD二次开发——1.环境搭建

    一.开发工具:CAD2016版.VisualStudio2019 二.环境配置:.net4.5框架 三.dell引用 解决方案资源管理器-引用(右击)-添加引用-浏览-(文件夹)CAD2016添加三个 ...

  7. Metabase在linux二次开发编译环境搭建(之一---下载文件)

    一.下载JDK8(如果你已安装过jdk8,此步骤可以略过)    http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downlo ...

  8. 中国3D打印软件市场现状分析及发展前景预测报告

    3d打印软件的产品有很多,比如Ultimaker Cura就是一款3D打印软件.它可以与CAD软件集成,以简化工作流程,或输入自定义设置进行深入控制.Cura的核心是一个强大的开源切片引擎,帮助用户简 ...

  9. 3D格式转换工具HOOPS Exchange助力3D 打印软件实现质的飞跃

    HOOPS SDK是用于3D工业软件开发的工具包,其中包括4款工具,分别是用于读取和写入30多种CAD文件格式的HOOPS Exchange.专注于Web端工程图形渲染的HOOPS Communica ...

最新文章

  1. 外部程序调用Activity的几种方法总结
  2. ISME:Micrarchaeota和Parvarchaeota古菌门的代谢多样性
  3. python3 str() repr() 区别
  4. 新计算机教师工作随笔反思,信息技术反思随笔 (2)
  5. FileInputStream和FileOutputStream实现任何文件类型的拷贝
  6. POJ1080 Human Gene Functions 动态规划 LCS的变形
  7. mysql插入反斜杠“\“丢失的解决方法
  8. 跟我一起考PMP---项目整合管理
  9. mysql置疑原因_SQL Server置疑数据库解决方法
  10. hub设备_五年内任何问题,直接换新,毕亚兹 USB3.0四口HUB分线器体验
  11. 【ubuntu工具】ubuntu下文件对比软件meld
  12. 昭通脱贫致富-农业大健康·林裕豪:从玉农业谋定“责任”
  13. python语言月份缩写_[宜配屋]听图阁
  14. 年月日时间和64位时间的使用及相互转换
  15. Python实例--遍历文件夹下所有的文件或文件夹
  16. R语言-rethinking包下载安装心得(windows)
  17. IOS8以上打开定位闪退的问题
  18. linux ps内存占用率,linux ps命令,查看某进程cpu和内存占用率情况, linux ps命令,查看进程cpu和内存占用率排序。 不指定...
  19. 'org.apache.ibatis.session.defaults.DefaultSqlSessionFactory' to requir
  20. AI也有偏见,我们该如何信任它们?

热门文章

  1. (翻译)标签模式(Tagging)
  2. 吴恩达——成本函数公式
  3. Hyperledger-indy 官方文档人工翻译
  4. Intel8086处理器使用NASM汇编语言实现操作系统10-硬盘读取(in/out)
  5. Mybatis Example的用法 IN语句查询
  6. 传输控制协议(TCP)
  7. spring处理对象相互依赖注入的问题
  8. Java之Exchanger使用
  9. Windows10 绿色背景怎么关闭
  10. 软件测试行业能干多久?“35岁焦虑“成了多少IT人的梦魇。