3D File Conversion

While many latest version 3D programs and printers have file convesion software available as part of their package, if you intend to build your printer from scratch you may need a file conversion software to convert the files from your 3D Modeling Program into a format that the 3D printer can use;

Additive Manufacturing File Format (AMF) is an open standard for describing objects for additive manufacturing processes such as 3D printing. The official ASTM F2915 standard is an XML-based format designed to allow any computer-aided design software to describe the shape and composition of any 3D object to be fabricated on any 3D printer. Unlike its predecessor STL format, AMF has native support for color, materials, lattices, and constellations.


STL (STereoLithography) is a file format native to the stereolithography CAD software created by 3D Systems. STL is also known as Standard Tessellation Language. This file format is supported by many other software packages; it is widely used for rapid prototyping and computer-aided manufacturing. STL files describe only the surface geometry of a three dimensional object without any representation of color, texture or other common CAD model attributes. The STL format specifies both ASCII and binary representations. Binary files are more common, since they are more compact.

An STL file describes a raw unstructured triangulated surface by the unit normal and vertices (ordered by the right-hand rule) of the triangles using a three-dimensional Cartesian coordinate system. STL coordinates must be positive numbers, there is no scale information, and the units are arbitrary.

Online Version that supports an extensive list of input file types;



Inspect models for water tight design before slicing with Netfabb


Slicing Software  (STL)

In order to turn a 3D part into a machine friendly format, CAM software needs an STL file.

  1. Slic3r  is the tool you need to convert a digital 3D model into printing instructions for your 3D printer. It cuts the model into horizontal slices (layers), generates toolpaths to fill them and calculates the amount of material to be extruded. (Preferred solution for most RepRap3D Printers)
  2. RepSnapper
  3. RepRap Host Software
  4. X2sw
  5. SuperSkein
  6. Cura (Also includes G-Code sender)
  7. SFACT/Skeinforge
  8. SlicerCloud (Online Slic3r solution)
G-code interpreter

After you have your G-code file, you have to run it through a G-code interpreter. This reads each line of the file and sends the actual electronic signals to the motors to tell the RepRap how to move. There are two main G-code interpreter options:

  1. A workstation program called EMC (or other CAM software) which controls the hardware directly or
  2. The firmware on a RepRap's electronics platform with an integrated hardware interface that has a G-code interpreter
G-code sender

To send the G-code files to an integrated hardware interpreter, you need to either to:

  1. Load the G-code file on an memory card (typically SD card) if supported.
  2. Drip-feed the G-codes (usually a line at a time) over a serial port (RS-232 or TTL level, often used with a USB converter) or a direct USB connection using one of the following programs on your workstation:


Reprap electronics are controlled by an inexpensive CPU such as the Atmel AVR processor. Atmel processors are what Arduino-based microcontrollers use. These processors are very wimpy compared to even the average 10 to 15 year old PC you find in the dump nowadays. However, these are CPUs so they do run primitive software. This primitive software they run is the Reprap's firmware.

Of the entire software chain that makes the Reprap work, the firmware portion of it is the closest you get to actual programming. Technically, the term for what you are doing with firmware is called cross compiling.

This process more or less consists of the following steps:

  1. Install the Arduino IDE on your PC.
  2. Download some firmware source code from a website.
  3. Make some minor changes to the source code to specify what hardware you have.
  4. Compile the firmware using the Arduino IDE.
  5. Connect the controller to your PC via a USB cable.
  6. Upload the firmware to your controller's CPU.


After your microcontroller has its firmware loaded, it is ready to accept G-codes via the USB serial port (aka COM port). You can either use a program to send these G-codes over the serial port or you can type them in by hand if you fire up a plain-old terminal application like hyperterm or minicom. If you use a program, they generally take files in gcode format.

For all available firmwares see List of Firmware. The following is a brief list of the most popular firmware: