3D Printing
Summary
Bring 3D printing tools to Fedora and allow users of 3D printers, such as RepRap, to be fully satisfied with software in the repositories, wihout need to download binary blobs or run Python code from git.
Owner
- Name: Miro Hrončok
- Email: miro@hroncok.cz
Current status
- Targeted release: Fedora 19
- Last updated: 2012-12-30
- Percentage of completion: 28%
Detailed Description
There are several software needs for a 3D printer users: 3D modeling tool, such as OpenSCAD or Blender; slcing tool, to "compile" the 3D model to a set of G-Code instructions, such as Skeinforge or Slic3r; and finally a printer control software, such as Printrun, Cura or Repetier-Host.
Other useful application is meshlab, that allows users to view STL files, but it is already in Fedora, so it is not mentioned more.
Benefit to Fedora
Most of mentioned tools (except some 3D modeling software) are currently not present in Fedora (or other Linux distributions as well). The goal is to bring them here, and make Fedora the best distribution for 3D printing.
Scope
OpenSCAD
OpenSCAD is a software for creating solid 3D CAD objects. Unlike most free software for creating 3D models (such as the famous application Blender) it does not focus on the artistic aspects of 3D modeling but instead on the CAD aspects. Thus it might be the application you are looking for when you are planning to create 3D models of machine parts but pretty sure is not what you are looking for when you are more interested in creating computer-animated movies.
OpenSCAD is very often used in 3D printing community as the main tool for creating models, as well as parts of 3D printers.
The MCAD library is shipped together with OpenSCAD. This library contains components commonly used in designing and moching up mechanical designs. It is currently unfinished and you can expect some API changes, however many things are already working.
- Percentage of completion: 100% - OpenSCAD is available in rawhide, as well as an update for Fedora 18 and Fedora 17.
Skeinforge
Skeinforge is a tool chain composed of Python scripts that converts your 3D model into G-Code instructions for RepRap. It is very powerful tool with perfect results, however the GUI is horrible and it is often used as a integrated slicer in printer control software, where only one part of the GUI is used (Slicing settings).
- Percentage of completion: 10% - Package review request still waitng for the reviewer.
Slic3r
Slic3r is another favorite tool for slicing. It has a pleasant wxWidgets GUI, uses more then 1 CPU and brings new features quickly. However, it's result aren't always as good as the results from Skeinforge. Slic3r also provides a tool for printing plate preparation.
- Percentage of completion: 50% - It has a loads of Perl modules dependencies, some of them are ready, some waiting for the reviewer, see the Dependencies section.
Printrun
Printrun is a set of G-Code sending applications for RepRap. It consists of printcore (dumb G-Code sender), pronsole (featured command line G-Code sender), pronterface (featured G-Code sender with graphical user interface), and a small collection of helpful scripts. Together with Skeinforge they form a pretty powerful softwarecombo.
Pronsole is a featured command line G-Code sender. It controls the ReRap printer and integrates Skeinforge.
Pronterface is a featured G-Code sender with graphical user interface. It controls the ReRap printer and integrates Skeinforge.
Plater is a GUI tool to prepare printing plate from STL files for ReRap.
- Percentage of completion: 10% - Package review request still waitng for the reviewer.
Cura
Cura is a project which aims to be an single software solution for 3D printing. While it is developed to be used with the Ultimaker 3D printer, it can be used with other RepRap based designs.
Cura helps you to setup an Ultimaker, shows your 3D model, allows for scaling/positioning, can slice the model to G-Code, with sane editable configuration settings and send this G-Code to the 3D printer for printing.
Slicing part of Cura is originally based on Skeinforge, but it is heavily modified.
- Percentage of completion: 0% - Waiting in queue.
Repetier-Host
Repetier-Host is another all-in-one tool for 3D printing. It can arrange one or more models on a virtual print plate, slice the models into G-Code, check the created G-Code for errors and printability, send the G-Code to the printer or copy the code to a SD card (to be used by the printer) and monitor the printer.
Slicing part is done by Skeinforge or Slic3r.
This project uses .NET (or Mono) and official build instructions are for Microsft Visual Studio, however, it might be possible to build this on Linux using open-source tools.
- Percentage of completion: 1% - Trying to build.
How To Test
You can test the packages once they are in updates-testing or rawhide repositories. Of course, you can test them also when they reach stable. If you are hardcore, you can use the experimental unofficial repository for Fedora 17 only (and most of the time 64bit only), but you might need to solve some deps by yourself, as it contains both 32 and 64bit packages.
OpenSCAD
You don't need a 3D printer. Currently available as an update for Fedora 18 and Fedora 17. The best way to test OpenSCAD is to open and render/compile your designs, examples or designs from Thingiverse. Report bugs when you see any misbehavior or let ABRT report them for you.
Skeinforge
You don't need a 3D printer. Currently only in the experimental repository. The best way to test Skeinforge is to load STL models to it and slice them. You can view exported G-Code in Printrun or even use Skeinforge from Printrun by openning a STL file. If found any bugs consider trying upstream version and compare the results. If they are any differences, contact Miro Hrončok, if no, try to contact the upstream.
Slic3r
You don't need a 3D printer. Currently only in the experimental repository. The best way to test Slic3r is to load STL models to it and slice them. You can view exported G-Code in Printrun. If found any bugs consider trying upstream version and compare the results. If they are any differences, contact Miro Hrončok, if no, try to contact the upstream.
Printrun
You might need a 3D printer. Currently only in the experimental repository. If you don't have a 3D printer you can still test integrated Skeinforge and G-Code view. If you have one, test connection, user controls and printing itself.
Don't forget to add yourself to dialout user group. If found any bugs consider trying upstream version and compare the results. If they are any differences, contact Miro Hrončok, if no, try to contact the upstream.
User Experience
For now, users needs to download precompiled binaries from various websites, clone git repositories and use the software directly from them or use some crazy bash scripts to get this software. Let's show Linux 3D printer community, that Fedora is the best solution for them.
Dependencies
No other packages depend on this software, however, there are some dependencies not yet in Fedora, mostly for Slic3r.
- Slic3r - needs reviewer
- perl-Growl-GNTP - done
- perl-Math-Geometry-Voronoi - has reviewer
- perl-Boost-Geometry-Utils - needs reviewer
- perl-Module-Build-WithXSpp - has reviewer
- perl-ExtUtils-CppGuess - done
- perl-Module-Build-WithXSpp - has reviewer
- perl-Math-PlanePath - formally reviewed, waiting for deps
- perl-Math-Libm - done
- perl-Math-NumSeq - needs reviewer
- perl-Math-Prime-XS - waiting for git
- perl-Math-Factor-XS - needs reviewer
- perl-Math-Expression-Evaluator - needs reviewer
- perl-Language-Expr - needs reviewer
- perl-Math-ConvexHull - testing-pending
- perl-Math-ConvexHull-MonotoneChain - testing-pending
- perl-Math-Clipper - has reviewer
- perl-XML-SAX-ExpatXS - testing-pending
- Printrun - needs reviewer
- Skeinforge - needs reviewer
- Cura - in queue
- RepetierHost - needs reviewer
- OpenTK - needs reviewer
Contingency Plan
Release only ready applications. It is not necessary to release them all in one Fedora release.
Documentation
- Printrun on RepRapWiki
- Skeinforge Website
- Slic3r Website
- OpenSCAD Manual
- Cura Website
- Repetier-Host Documentation
Release Notes
- Fedora 19 includes support for 3D printing. This includes software for creating 3D models, generate G-Code for printers from them and control their 3D printers such as RepRap.