CAM Toolchains
THIS page is an extremely rough draft. You can help us improve it. (Someday this page will document many of the known-working systems. A few known-working systems are already documented at RepRap Options).
These pages should be merged such that both pages do not attempt to cover the duplicate topics.
English • العربية • български • català • čeština • Deutsch • Ελληνικά • español • فارسی • français • hrvatski • magyar • italiano • română • 日本語 • 한국어 • lietuvių • Nederlands • norsk • polski • português • русский • Türkçe • українська • 中文(中国大陆) • 中文(台灣) • עברית • azərbaycanca • |
Contents
Overview
The software used for RepRap can be divided into two categories: CAD (Computer Aided Design) and CAM (Computer Aided Manufacturing). Once you have created or downloaded a CAD file (in .stl file format), you will use some combination of CAM software to print it. A complete RepRap CAM toolchain consists of all the software elements needed to create printed 3d models from CAD models to firmware. To help visualize this for new users, consider the flow chart below:
A hypothetical software toolchain process for a new design would be:
- Design a new 3D model in a CAD package (ex: OpenSCAD, FreeCAD, ProEngineer, SolidWorks)
- Export the design's geometry to a .stl file
- Generate motion paths & extruder commands in GCODE format by means of a "slicing" program (ex: skeinforge, repsnapper, SFACT)
- Use a host software package to communicate the GCODE to the printer (ex: printrun, repsnapper, replicatorG, Repetier-Host)
- The firmware installed on your printer determines how the printer controller reacts to the GCODE you send it. (ex. Sprinter, Teacup, Marlin, or your very own!)
The lists below contain various toolchain components available and provides a comparison of their features, compatible components and how to get them.
It should be noted that a comparison of CAD modeling programs is outside of the scope of this article. CAM toolchains are generally CAD program agnostic because they can accept standard STL models as input which almost all CAD programs can export directly or through plugins. See Useful Software Packages for a list of various CAD related software
G-code, Etc. Compilers
A slicer takes a 3D CAD model, usually in the form of an STL file, and creates the toolpaths neccessary to print this model. RepRap uses G-code as the standard format for toolpath information.
Compiler | Author(s) | Compatible firmware features | Input | Output | Dual extruder support? | Compilation Speed | Documentation | Download |
---|---|---|---|---|---|---|---|---|
Cura | daid | 5D | Multiple .stl | G-code | false | fast | (manual is offline right now) | releases |
Netfabb Engine | Netfabb | Multiple .stl | G-code(?) | true | very fast | latest release | ||
Repetier-Host | repetier | Modern RepRap, extra features with Repetier-Firmware | Single(?) .stl | G-code(?) | true | User manual | Windows Linux Mac OS X | |
ReplicatorG | RRRF | Makerbot, 5D | Single .stl | G-code(?) | true | install guide, user manual | stable | |
Reprap host software | RepRap.org | 5D | Multiple .stl, .rfo | G-code, .rfo | false | average | install guide, user manual | dev |
RepSnapper | Kulitorum et al. | 5D, 3D | Multiple .stl | G-code | false | fast | manual | windows, src |
SkeinForge | Enrique | 5D, 3D | Single .stl | G-code | technically true, via start and end support alteration files | average | manual | latest builds |
Slic3r | alexj | 5D, 3D | Single .stl | G-code | true, and now supports more than two | fast | manual | latest builds |
SuperSkein | MaskedRetriever | Single .stl | G-code | false | fast | src, downloads | ||
Yet Another RepRap Host (YARRH) | wulfnor (Arkadiusz Śpiewak) | 5D, 3D | Multiple .stl | G-code | true | fast | GitHub | GitHub |
X2SW | dob71 (Denis Bakin) | 5D, 3D | Single .stl | G-code | true | GitHub Wiki | Github |
Note: "Host" drivers such as the RepRap Host Software are listed here and under RepRap Drivers below, as they serve both functions. For comparison purposes however, their features have been split into the relevant tables.
RepRap Drivers
A RepRap Driver (also called a controller or G-code sender) is the program which sends G-code commands to the firmware installed on the printer. The driver serves as the user interface for the printer.
Driver | Author(s) | Compatible firmware(s) | Manual control options | SD card upload? | Input | Dual extruder support? | Integrated GCode compiler? | Documentation | Download |
---|---|---|---|---|---|---|---|---|---|
CNCGcodeController | pknoe3lh | Modern RepRap | XYZ movement, G-code terminal | false | G-code (used for Milling, PCB, ..) | Maybe. Has toolchange support | true
(Postprocessor for Transforming, Autoleveling ....) |
link | link |
EMCRepRap | EMC and RepRap.org | EMC | XYZ movement, Extruder, Bed temp, Stepper disable, G-code terminal | false | false | false | wiki page | wiki page | |
GCodePrintr | mdietz | Modern RepRap | Android version has XYZ movement, Extruder, Bed temp, Stepper disable, G-code terminal | true | G-Code | false | false | Website | PC Version Android Github |
GCode-utils | Ralith | ? | XYZ movement, G-code terminal | G-code | false | false | Website | src, linux binaries | |
OctoPrint | foosel | Modern RepRap | XYZ movement, Extruder, Bed temp, Stepper disable, G-code terminal, custom controls | true | G-code | true (devel branch only so far) | experimental integration of slicing via Cura SteamEngine | Website | Github |
Printrun AKA Pronterface | Kliment | Modern RepRap | XYZ movement, Extruder, Bed temp, Stepper disable, G-code terminal | true | G-code | false, but it can be done with two 3-line macros | false | Github | |
RebRep | RebRep | Modern RepRap | XYZ movement, Extruder, G-code terminal | false | G-code | false | false | Docs | Windows Linux |
Repetier-Host | repetier | Modern RepRap, extra features with Repetier-Firmware | XYZ movement, Extruder, Bed temp, Stepper disable, G-code terminal | true | G-code | false | true | see table above | see table above |
ReplicatorG | RRRF | Makerbot, 5D | XYZ movement, Extruder, Bed temp, Stepper disable | true | G-code | true | true | see table above | see table above |
RepRap Host Software | RepRap.org | FiveD, Teacup | XYZ movement, Extruder, Bed temp, | G-code | false | true | see table above | see table above | |
RepSnapper | Kulitorum et al. | FiveD, 3D GCode Interpreter | XYZ movement, Extruder, G-code terminal (Bed temp & Stepper disable possible with custom button) | G-code | false | true | see table above | see table above | |
send.py (bundled with SkeinForge) | Brendan Erwin and John Gilmore | FiveD, 3D GCode Interpreter | false | G-code | technically true, via start and end support alteration files | false, but it is bundled with SkeinForge | user manual | builds | |
Yet Another RepRap Host (YARRH) | wulfnor (Arkadiusz Śpiewak) | Modern RepRap, ??? | true | G-code | true | true | see table above | see table above | |
X2SW | dob71 (Denis Bakin) | Modern RepRap | XYZ movement, Extruder, Bed temp, Stepper disable, G-code terminal | true | G-code | true | true | see table above | see table above |
Note: Drivers with Modern RepRap listed under Compatible Firmware(s) are all firmwares which do acceleration on the controller, like Sprinter, Marlin, Teacup, Repetier, Smoothie, ...
Note: "Host" drivers such as the RepRap Host Software are listed here and under GCode compilers above as they serve both functions. For comparison purposes however, their features have been split into the relevant tables.
Firmware
Firmware is installed on printer itself. It controls the motors and heating elements, and monitors the thermistors and endstops. Here is a brief list of active firmware for RepRaps:
For more details, see List of Firmware
Note: Modern RepRap firmwares are all firmwares which do acceleration on the controller, like Sprinter, Marlin, Teacup, Repetier, Smoothie, ...
Working Configurations
There are a number of working configurations for RepRap. Please do yours up in a new wiki page, and then add the text
[[Category:Working Configuration]]
to that page to add it to the existing list.
Related
- Template:My_Toolchain
- x2sw is a host software toolchain bundle -- including Slic3r, Skeinforge, and Printrun -- packaged together in a Windows installer.
- Firmware FAQ
- G-code