3D打印切片软件--cura的二次开发
本来前段时间就要写的,只因为那会的收效比较小,有些东西还一窍不通,当然现在也还是有些不大明白,但是最起码刚刚跳出了cura主界面还是不枉这几天工作;
废话不多说了,就把最近我做过的东西,学到的东西以及走了的弯路放到这里和大家一起分享一下,避免后面的小伙伴们跟我一样犯低级错误。
首先介绍一下个人情况,这个很有必要;因为有些知识你是必须去学习的,即使不是深入的学习也应该是有些了解的。在老师分配给我这个任务时,我对这个项目一窍不通,也不知道它是什么语言写的,更不用说是什么开源协议的了,所以当时有些懵逼;老师只是说你先了解一下当下的一些开源协议,然后看看cura是属于哪个协议(话说回来,老师这个思路是从正规的思路出发,直到现在我也没有熟练记住五个开源协议的具体协议,不过这里可以明确地告诉大家cura软件是完全开源的,好像是GPL或是MIT协议,这两个协议都是可以用来盈利的还有自由修改自由分发,所以大家可以放心大胆的去做开发),其实说这么多也没啥用处,简单来说吧cura软件界面是python语言写的,所以我就是想说我是python小白,所以有些python基础的或者是跟我一样没有python基础的同学大家都一起来吧!
然后我来再介绍一下cura吧(其实在网上有很多关于cura开发介绍的,我这里也就是按照别人的说法结合自己的理解来讲),cura开发有两个工作要做,一个是界面的开发一个是curaenginee的开发;因为cura界面的开发,也就是我目前工作的重点是用python wx 框架来写的,说白了就是python语言,如果对python wx陌生的同学不要慌,看看这本书,相信对你有帮助。curaengine是用C++写的,这个其实是cura这款软件的内在工作机制,据说非常强大,目前还未研究;
说了这么多我们开始进入主题,开始cura软件的代码拷贝及环境配置最后运行进入cura主界面。
这里说明一下我的开发环境是在WIN8 64位系统;python 2.7版本 32位,这就要求你之后在安装python其他依赖项、组件什么的都得32位;这里说明一下电脑系统对软件开发的效果来说问题应该不大,最主要的还是你的python版本要对应上。
准备工作的话,我这里就不多说了,在网上就可以找得到,我这里把链接地址附上,一般的话大家照着这位作者的方法一步一步就可以调的通,点击这里跳到页面。我这里就是按照他的步骤一步一步来操作的,如果你已经按照那位作者的方法全都完成下来以后,那么接下来我们再做其他的工作,这时候要保证你完成了几件事:
第一、cura源码拷贝下来了;
第二、gitbash安装成功;
第三、python安装成功包括cura运行所必需的python依赖项;
第四、pip安装成功;
第五、wxPython安装成功;
如果完成了这五个步骤的话,其实按正常情况你已经能够在gitbash命令行中按照那位作者的方法调出了cura软件的启动界面,(关于这个界面我说一下,其实就是一张图片,cura启动时它就是把这张图片给调了出来,这张图片就是你拷贝下的CURA文件夹下的resources文件下的images的splash.png)。但是我为什么会说是正常情况下呢?因为这里有可能出现很多问题,大部分是因为python依赖项缺失导致的,再后来如果你发现你的代码止步于只能弹出cura启动界面,不能进入cura主界面的话,一般情况下是因为你的opengl安装的不对,我在这里就遇到了这样的问题:
Traceback (most recent call last):
File "E:\Cura\env\lib\site-packages\wx-3.0-msw\wx\_core.py", line 16766, in <lambda>
lambda event: event.callable(*event.args, **event.kw) )
File "Cura\gui\splashScreen.py", line 15, in DoCallback
self.callback()
File "Cura\gui\app.py", line 99, in afterSplashCallback
from Cura.gui import mainWindow
File "Cura\gui\mainWindow.py", line 17, in <module>
from Cura.gui import sceneView
File "Cura\gui\sceneView.py", line 28, in <module>
from Cura.gui.util import previewTools
File "Cura\gui\util\previewTools.py", line 12, in <module>
from Cura.gui.util import openglHelpers
File "Cura\gui\util\openglHelpers.py", line 17, in <module>
glutInit() #Hack; required before glut can be called. Not required for all OS.
File "E:\Cura\env\lib\site-packages\OpenGL\GLUT\special.py", line 333, in glutInit
_base_glutInit( ctypes.byref(count), holder )
File "E:\Cura\env\lib\site-packages\OpenGL\platform\baseplatform.py", line 407, in __call__
self.__name__, self.__name__,
OpenGL.error.NullFunctionError: Attempt to call an undefined function glutInit, check for bool(glutInit) before calling
最主要是看最后一句,这里就是OpenGL的问题,在试过各种办法以后发现只要把pyopengl版本装成3.1.0的就可以了;具体下载地址点击这里;
还有一个要讲的是如果对gitbash不是很熟悉的同学可以用DOS命令行的python pip命令来安装python依赖项,利用py charm来调试程序,这里就不贴pycharm的下载地址了,因为我的pycharm不是破解版的;
如果你在开发过程中还遇到什么问题,欢迎留言指正,我们一起交流一起进步!
3D打印切片软件--cura的二次开发相关推荐
- 3D打印切片软件--cura的二次开发(2)(界面分析与汉化)(修改版增加图片)
转载:https://blog.csdn.net/qq_29701359/article/details/75070507 在上次把CUR软件从github网站clone下来并在windows8系统, ...
- 3D打印切片软件cura的使用方法
由于ANY CUBIC 无法在脱机的情况下打印stl文件,必须使用cura软件将STL文件转成gcode格式的文件. 使用的方法还是蛮简单的,具体如下: 1.下载cura 15.0.46并安装.密码: ...
- 3D打印切片软件Cura入门
安装好之后,添加一台打印机,参数可以随便设置. Cura安装包: 链接:https://pan.baidu.com/s/1T1MBcZYBCVfhtFKDBjypmQ?pwd=2022 提取码:20 ...
- 3D打印软件Cura的二次开发(GUI)--环境搭建
3D打印软件Cura的二次开发(GUI)--环境搭建 软体动物Ai 关注 2016.07.06 12:36* 字数 1639 阅读 1300 评论 8 喜欢 4 本文采用中国大陆版CC协议发布 ...
- 3D 打印切片软件 CuraEngine 介绍
Scientists study the world as it is, engineers create the world that never has been. 跳至正文 首页 ← Mac下各 ...
- 3D打印开源软件Cura分析(1) 【转】
http://www.sohu.com/a/236241465_100000368 Cura是Ultimaker公司开发的3D打印开源软件,在所有的3D打印开源软件中应属上乘之作,很有研究的价值.国内 ...
- CURA软件 3D打印切片软件 初次设置界面取消(忘记设置)后怎么再次进行设置
CURA软件用来对3D模型进行切片,默认的ultimaker机型支持的平台和尺寸不适合所有机型,好多机型需要重新设置一下. CURA软件是ultimaker公司的产品. Ultimaker是一家总部位 ...
- 3D打印切片软件CuraEngine介绍 windows版本
不再更新CuraEngine博文,ustc博客也已经注销.博客中图片无法显示的话,请转 http://www.wrighteaglehardware.tk/ . 最新进展可加群 187233472 讨 ...
- 3D打印切片软件补洞修复算法研究
基于变分法的网格补洞算法 三维网格模型修复一直是计算机辅助几何设计领域中的一个重要领域,关于网格网格补洞算法也看过一些文章,也有很不错的修复效果.最近安排到一个任务关于3D打印模型修复功能,查阅了不少 ...
最新文章
- 李开复口中的“联邦学习” 到底是什么?| 技术头条
- AWS之EC2实例搭建LAMP服务器
- linux防火墙配置管理,Linux之Iptables防火墙管理与配置 -电脑资料
- 架构日趋复杂的今天,如何重构数据库和应用边界?
- axios跨域请求的qs用法 - qs安装篇
- python的json中方法以及jsonpath模块
- [牛感悟系列]JAVA(1)理解JAVA垃圾回收
- bool类型头文件_C++ Primer Chapter2 变量和基本类型
- Markdown中设置图片尺寸及添加图注
- 服务器扩容思路及问题分析
- CMakeLists写法总结
- java使用ffmpeg对视频进行转码和分辨率转换
- android 探索怎么代码打开辅助功能
- 蝴蝶效应,混沌理论与股市
- 纵论物联网(十一):蓝牙技术的发展
- SQL Sever 各版本下载 SQL Server 2012下载SQL Server 2008下载SQL Server 2005 下
- thinkphp6下载汉字转拼音包以及其使用方法
- Win10下安装wsl2
- 整除判断游戏能显著提高小朋友的逻辑思维能力,问题要求如下:• 能同时被 3、5、7 整除• 能同时被 3、5 整除• 能同时被 3、7 整除• 能同时被 5、7 整除• 只能被 3、5、7
- 上海海事大学本科毕业论文答辩和论文选题PPT模板