1

I am interested in doing development on Cura. Initially I want to start with the UI rather than the Engine. I have found the repository and have cloned it to my PC. I have also looked over the Wiki and searched the web. For such a popular open-source product, I was surprised I couldn't find a build guide.

Can someone direct me on how to get started. I have a LOT of experience in Software Development (more years and languages than I want to admit to); but, I have never used Python. Consider that in your instructions.

markshancock
  • 2,412
  • 2
  • 11
  • 35
  • 1
    This is related, but for Ubuntu [How to build CuraEngine?](https://3dprinting.stackexchange.com/questions/1309/how-to-build-curaengine) – Greenonline May 18 '17 at 03:48
  • For a similar saga see https://www.bountysource.com/issues/28750036-can-t-build-32-bit-cura-windows-10-32-bit. – markshancock May 20 '17 at 04:04
  • 1
    I would LOVE to hear from someone that has actually gotten this to work! In nearly 50 years of programming, I have never seen such a tangled mess (though I have seen some close). – markshancock May 20 '17 at 04:08
  • 1
    I found the source code to Slic3r. The build process appears to be MUCH better documented. https://github.com/alexrj/Slic3r – markshancock May 20 '17 at 05:46

2 Answers2

3

The repository's README.md includes a section titled "Build Scripts", with a link to another repository: https://github.com/Ultimaker/cura-build

This includes dependencies and instructions for building Cura on Windows.

mbmcavoy
  • 798
  • 3
  • 9
  • WOW, that is a LOT of stuff to install !!! – markshancock May 18 '17 at 05:28
  • OK, instructions get a bit dicy when you get to numpi and scipy plugins. I installed 64-bit Python 3.5 and I have an Intel processor, I cannot find a match for that for numpy. Best I could find in cp35m-win32. When I try that I get unsupported wheel. Only 64bit they have is amd. What do I do? Anyone done this? – markshancock May 19 '17 at 04:27
  • Note: The cp35-win_amd64 versions install ... whether they will actually work or not is still a mystery. Well, the 64-bit version of Cura up on the Ultimaker website had to have been built somehow.... – markshancock May 19 '17 at 04:57
  • Continuing down the path ... – markshancock May 19 '17 at 04:58
  • OK, so it seems that the "cura-build" is intended to do everything in the README.md; but, there are no instructions on how to run it either. Cura may be a nice application; but, their build instructions and environment is HIDEOUS. Maybe that is why 8 contributors are responsible for 93% of the commits. Seems more open source in concept than in reality. – markshancock May 20 '17 at 04:00
  • To be honest, I have not even attempted building or contributing to Cura. (I have an interest in OSS, but don't have the time to keep up...) I skimmed the cura-build info, and thought it was complex and unclear as well. – mbmcavoy May 22 '17 at 14:59
2

As you are an experienced developer, these links should help:

This is a related question, but for Ubuntu How to build CuraEngine?

Wikipedia has an informative page on Cura, which lists the Github development pages:

Reading the development pages is a good place to start. The Cura Github development page does contain resources for Windows.

The top level Ultimaker Github page contains links to all of the relevant repositories, amongst other useful resources, including:

  • CuraEngine - CuraEngine is a powerful, fast and robust engine for processing 3D models into 3D printing instruction for Ultimaker and other GCode based 3D printers. It is part of the larger open source project called "Cura".
  • Cura - 3D printer / slicing GUI built on top of the Uranium framework
  • cura-build - Build scripts for Cura

With respect to Python, I, myself, am slowly making my way through this Python tutorial, Python Code Academy. However, there are a many other good Python tutorials out there, the best resource is probably Python.org.

One thing to note is that Python 2.x and 3.x are markedly different (see Should I use Python 2 or Python 3 for my development activity?). What should I learn as a beginner: Python 2 OR Python 3? is also an interesting read.

Greenonline
  • 5,831
  • 7
  • 30
  • 60
  • 1
    Regarding the Python version, the Cura buid ReadMe says Python v3.5 – markshancock May 18 '17 at 05:26
  • 1
    I have been writing computer programs since 1971 and their build environment seems near impossible to figure out. – markshancock May 20 '17 at 04:02
  • @markshancock - I feel your pain. With *certain* projects, I find that instead of trying to fix an issue yourself and submitting the change, in fact, it can be a lot more efficient to just report the bug that you wish to be fixed and just let the developers get around to it, rather than having to wade through the output of someone else's (badly commented) mind. Obviously, if you are looking to fix more that just a few bugs, and make a wholesale change/contribution then that approach is no longer valid... Good luck :-) – Greenonline May 20 '17 at 05:57
  • 1
    Interesting quote from one for the Cura developers discussing building Cura. "I "jerry-rigged" a setup that lets me run Cura from source, on windows.". Not very inspiring. Another quote in the same discussion mentioned that all or the developers at Ultimaker have their own buid environment. Reminds me of another product where the developer's version control approach was to keep a separate laptop with the last stable build on it. My goal is to be in a position to be one of the developers (if I chose to be). – markshancock May 22 '17 at 05:31
  • Hey, I know! Let's get Linus to take over the project! :-) – Carl Witthoft May 25 '17 at 11:27