So I'm in? That's cool. Thanks! Like I said, I am predominant on Python but I'll try C++ if you need me to. I will start building Cura from source, is it hard and possible on Windows?
Edited by LordHokage
It's an open source project 🙂 Anyone can contribute!
You can find the instructions here: https://github.com/Ultimaker/Cura/wiki/Running-Cura-from-Source-on-Windows
Whoops. Re-reading them, I already see some inconsistencies with the running from source guide.
It should be possible to get it running with them, but we are now using a higher python version as described in the guide
Edited by nallath
Okie. I'l follow the guid and post anything here. When do I get my first "assignent"? I don't really have any ideas hence I asked the previous question. Can I first get some work on the Cura frontend first (since its in Python)? If so, how would I set that up?
Edited by LordHokageThere are no assignments. There is a LONG list of "defered" issues which are basically very valid bugs or features, but Ultimaker devs will not be spending time of them because there is too much work to do that is deemed more important for Ultimaker. But many people will thank you for having a go at them.
https://github.com/Ultimaker/Cura/issues?q=is%3Aopen+is%3Aissue+label%3A"Status%3A+Deferred"
1 minute ago, ahoeben said:There are no assignments. There is a LONG list of "defered" issues which are basically very valid bugs or features, but Ultimaker devs will not be spending time of them because there is too much work to do that is deemed more important for Ultimaker. But many people will thank you for having a go at them.
https://github.com/Ultimaker/Cura/issues?q=is%3Aopen+is%3Aissue+label%3A"Status%3A+Deferred"
Ok. Thanks. I will do that. How do I set up my computer to work on the Cura frontend - that's what I'm interested in (I keep saying this) because I predominantly use Python.
You could set up a full "from source" installation as outlined in the article linked to by @nallath. But personally I prefer skipping getting CuraEngine to compile, and just set up a python virtual environment with the required modules and bits from a released version of Cura.
* Check out the Cura and Uranium and libCharon repositories in separate folders
* Alongside those two folders create a bin folder containing the following files extracted from an offical Cura release:
Arcus.pyd
CuraEngine.exe
libgcc_s_seh-1.dll
libgomp-1.dll
libifcoremd.dll
libimalloc.dll
libiomp5md.dll
libmmd.dll
libstdc++-6.dll
libwinpthread-1.dll
nlopt.dll
pynest2d.pyd
Savitar.pyd
* Create a Python 3.8 64 bit virtual environment, and add the bin folder, the Uranium folder and the libCharon folder to the PYTHONPATH
* Install the following modules:
appdirs==1.4.3
atomicwrites==1.4.0
attrs==20.3.0
Automat==20.2.0
certifi==2019.11.28
cffi==1.13.1
chardet==3.0.4
colorama==0.4.4
colorlog==4.8.0
comtypes==1.1.7
constantly==15.1.0
cryptography==2.8
decorator==4.4.0
hyperlink==21.0.0
idna==2.8
ifaddr==0.1.7
importlib-metadata==3.10.0
incremental==21.3.0
iniconfig==1.1.1
keyring==23.0.1
mypy==0.740
mypy-extensions==0.4.3
netifaces==0.10.9
networkx==2.3
numpy==1.19.5+mkl
numpy-stl==2.10.1
packaging==18.0
pip==21.0.1
pluggy==0.13.1
py==1.10.0
pycollada==0.6
pycparser==2.19
PyHamcrest==2.0.2
pyparsing==2.4.2
PyQt5==5.15.0
PyQt5-sip==12.8.1
pyserial==3.4
pytest==6.2.3
python-dateutil==2.8.0
python-utils==2.3.0
pywin32==300
pywin32-ctypes==0.2.0
PyYAML==5.1.2
requests==2.22.0
scipy==1.5.4
sentry-sdk==0.13.5
setuptools==49.2.1
Shapely==1.7.1
sip==4.19.24
six==1.12.0
toml==0.10.2
trimesh==3.2.33
Twisted==19.10.0
typed-ast==1.4.2
typing==3.7.4
typing-extensions==3.7.4.3
urllib3==1.25.6
zeroconf==0.24.1
zipp==3.4.1
zope.interface==5.3.0
For some of these modules, it is going to be easier to use a wheel from https://www.lfd.uci.edu/~gohlke/pythonlibs/ instead of pip.
Unless I forgot something (which is entirely possible), you should then be able to run Cura from source by going into the Cura folder and running python cura_app.py
- 1
2 minutes ago, ahoeben said:You could set up a full "from source" installation as outlined in the article linked to by @nallath. But personally I prefer skipping getting CuraEngine to compile, and just set up a python virtual environment with the required modules and bits from a released version of Cura.
* Check out the Cura and Uranium and libCharon repositories in separate folders
* Alongside those two folders create a bin folder containing the following files extracted from an offical Cura release:
Arcus.pyd
CuraEngine.exe
libgcc_s_seh-1.dll
libgomp-1.dll
libifcoremd.dll
libimalloc.dll
libiomp5md.dll
libmmd.dll
libstdc++-6.dll
libwinpthread-1.dll
nlopt.dll
pynest2d.pyd
Savitar.pyd* Create a Python 3.8 64 bit virtual environment, and add the bin folder, the Uranium folder and the libCharon folder to the PYTHONPATH
* Install the following modules:
appdirs==1.4.3
atomicwrites==1.4.0
attrs==20.3.0
Automat==20.2.0
certifi==2019.11.28
cffi==1.13.1
chardet==3.0.4
colorama==0.4.4
colorlog==4.8.0
comtypes==1.1.7
constantly==15.1.0
cryptography==2.8
decorator==4.4.0
hyperlink==21.0.0
idna==2.8
ifaddr==0.1.7
importlib-metadata==3.10.0
incremental==21.3.0
iniconfig==1.1.1
keyring==23.0.1
mypy==0.740
mypy-extensions==0.4.3
netifaces==0.10.9
networkx==2.3
numpy==1.19.5+mkl
numpy-stl==2.10.1
packaging==18.0
pip==21.0.1
pluggy==0.13.1
py==1.10.0
pycollada==0.6
pycparser==2.19
PyHamcrest==2.0.2
pyparsing==2.4.2
PyQt5==5.15.0
PyQt5-sip==12.8.1
pyserial==3.4
pytest==6.2.3
python-dateutil==2.8.0
python-utils==2.3.0
pywin32==300
pywin32-ctypes==0.2.0
PyYAML==5.1.2
requests==2.22.0
scipy==1.5.4
sentry-sdk==0.13.5
setuptools==49.2.1
Shapely==1.7.1
sip==4.19.24
six==1.12.0
toml==0.10.2
trimesh==3.2.33
Twisted==19.10.0
typed-ast==1.4.2
typing==3.7.4
typing-extensions==3.7.4.3
urllib3==1.25.6
zeroconf==0.24.1
zipp==3.4.1
zope.interface==5.3.0For some of these modules, it is going to be easier to use a wheel from https://www.lfd.uci.edu/~gohlke/pythonlibs/ instead of pip.
Unless I forgot something (which is entirely possible), you should then be able to run Cura from source by going into the Cura folder and running python cura_app.py
Thanks! That seems the way to go for me. I'll update here when I get the time to do everything and get it working.
- 2
17 hours ago, ahoeben said:Check out the Cura and Uranium and libCharon repositories in separate folders
Could you please clarify what you mean by Check out? Does that mean download, unzip and put in those folder or something else. I am a little new so I am slightly confused to such jargon. Additionally, what do you mean by PYTHONPATH? For the record, I use Miniconda. I have created a VEnv thus far and have installed all those libraries (phew!). Finally, how would I make changes. Would I download the front end Python scripts and make the edits, then submit a pull request. I am pretty excited and can't wait to start some dev work!
Edited by LordHokageDon't @ me.
If you want to contribute to Cura, you are going to have to get to know "git", a version management system. There are many tutorials on youtube about how to use git. There is a nice integration into Windows Explorer called "TortoiseGIT", though some developers frown on some of the simplifications and limitations it implies. Many IDEs have git functionality integrated. I use a combination of tortoisegit and the command line git.
The workflow is that you "fork" the repository on github into your own account, then "git clone" that onto your local machine. Now you can make changes, though it is best to make those changes into a new "branch". One branch per feature/fix. Once you have confirmed the fix/feature to work for you locally, you "commit" the changes locally, and then "push" them to your forked repository on github. From there, you can make a "pull request", which is a request to the Ultimaker devs to have a look at the changes you made to your repository and "merge" (or "pull") them into the main repository. Once you looked at one or two youtube videos about git workflows, the terms in quotes will start to look familiar.
The PYTHONPATH is an environment variable like PATH, which points to (additional) folders where Python looks for modules.
- 1
Recommended Posts
nallath 1,124
Sure, and done 🙂
First thing i would recommend is making sure that you can run Cura from source. I expect that will take you some time to setup. If you run into any issues, feel free to ask help. We've tried to keep our running from source guides up to date as much as possible, but it's always a bit of a moving target.
Link to post
Share on other sites