3D Printing

Introduction
For now this is rather limited and one is referred to the RepRap page for a good review of the available software. The only reference for 3D printing on Gentoo has, for a while, been this E-mail. This page hopes to rectify the situation.

3D printing usually comprises of three components :

This document considers these components in the next three sections and proposes what the author(s) believe to be the best solution for each problem. A further section is included that considers the best software for 3D printing servers. There is also this Top 20 list of software packages.
 * Modelling Software
 * Slicing Software
 * Printing Hardware

Modelling
Modelling is rather complex and may be done with a variety of software. The software used largely depends upon the users skill level with 3D modelling. All this software eventually outputs a 3D model (*.STL file) which one sens to the slicer for printing.

This section lists software in increasing complexity. All modelling software tends to create more complex shapes from simpler shapes. The simpler software is usually more limited in this regard and allows one to create shapes from dragging geometric primitives (Cubes and cylinders etc.) about which are then added or subtracted from some main shape much like a sculptor would do from a lump of material. The intermediate software allow for more complex shapes. The advanced software allow on to script the process. A further category is considered which involves scanning existing objects.

Introductory
I believe sketch up (propriety) falls into this category

Intermediate
Not sure what goes here just yet. Perhaps TinkerCAd and TinCAD.

Advanced
Blender (Python) and Unity (Javascript) are fully fledged software packages targeted at the movie industry but provide state of the art sculpting and modelling features. These are predominantly used for organic models. If you are more mechanically inclined you should consider OpenCasCade or BlenderCAD.

Scanning
Apparently 123D Catch is the software of choice in this category.

Slicing
Slicing has historically been done by the Slic3r or Cura projects. These packages accept a 3D model in the form of an STL files which they slice into layers. A path is then traced for each layer which is the path the printer will finally trace during the print. More recently the CraftWare package has been made available.

Printing
For example as a printer firmware could Marlin or Klipper be used. The main difference between these two is that Marlin runs only on the microcontroller from the printer, where klipper also requires a general purpose computer besides the micro-controller.

To create a necessary toolchain for a cortex microcontroller, which is used on most 32-bit Printer mainboards, see How to build a toolchain for arm cortex-m and cortex-r.

Servers
Currently (2016) the most versatile software for 3D printing seems to be OctoPrint. This seems to support pausing a print and allows one to restart it later, it accommodates a camera feed and allows for plugins to be installed. If you happen to have a Raspberry Pi lying around the project also generates an image for these devices which is useful to say the least.

Contribution
This page is intended as a overview of the available 3D printing software and a quick start guide for the reader. More advanced topics are left to the pages for the respective topics.

While this page is not updated properly, there's a forum thread you may want read to find some examples of 3D-printing software installation and configuration hints - https://forums.gentoo.org/viewtopic-p-8449614.html