CAM Toolchains

From RepRap
Jump to: navigation, search

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).

Alternative Build Documentation Build Documentation


Java development
You might also want to look at Builders/Alternative host software. Perhaps some or all of that page should be merged into this page. (Discuss)
You might also want to look at Host software Variations . Perhaps some or all of that page should be merged into this page. (Discuss)
This page has been flagged as containing duplicate material that Firmware/Alternative also attempts to cover.
These pages should be merged such that both pages do not attempt to cover the duplicate topics.

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:

CAM toolchain

A hypothetical software toolchain process for a new design would be:

  1. Design a new 3D model in a CAD package (ex: OpenSCAD, FreeCAD, ProEngineer, SolidWorks)
  2. Export the design's geometry to a .stl file
  3. Generate motion paths & extruder commands in GCODE format by means of a "slicing" program (ex: skeinforge, repsnapper, SFACT)
  4. Use a host software package to communicate the GCODE to the printer (ex: printrun, repsnapper, replicatorG, Repetier-Host)
  5. 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
MatterSlice MatterHackers 5D Multiple .stl G-Code, X3G true fast part of MatterControl
Netfabb Engine Netfabb Multiple .stl G-code, .bgc, .bfb 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
3DFox Paolo Modern RepRap XYZE movement, Extr1-2 and Bed T, Stepper disable, G-code terminal, Macros, Webserver true G-Code Can be done with macros false Android
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
3Δ Control minad Modern RepRap, extra features with Smoothie XYZ movement especially suited for deltas, Extruder, Bed temp, Stepper disable, G-code terminal true G-code false false github github
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, Macros, Webserver true G-Code true false Website PC Version Android Github
GCode-utils Ralith  ? XYZ movement, G-code terminal G-code false false Website src, linux binaries
MatterControl MatterHackers Modern RepRap, Sailfish XYZ movement, Extruder, Bed temp, Stepper disable, G-code terminal, Fan, Macros, Tuning feedrates while printing true G-Code true true
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