3D printers are all run from a piece of software that tells them what to do. Many commercial printers have proprietary software that streamline the user experience for that particular printer, while most commercial and DIY printers can be run from more general software that can have more advanced controls than the proprietary programs. In this article, we share the best 3d printer software reviews so you can see which is best for your needs.
How They Work
3D printer software accomplishes two tasks: the first is to take a 3D model and convert it into the machine tool path that the printer will follow (a process called slicing), and to send that tool path to the printer’s firmware in the form of machine code to get the printer to move. Check out our basic guide to 3D printing for more details.
When a model is sliced, the computer takes the 3D model and literally slices it into 2D images that can be stacked to reproduce the 3D object. These 2D images are what most people know as layers in 3D printing. The layer height is actually the distance between the sliced 2D layers and reducing that distance results in more layers sliced from the object. This process relies on certain file types to see where the object is, which is why most printers use .STL or .OBJs for models (see guide to file formats for 3D printing).
After the model is sliced, the software takes user inputs such as infill density, number of perimeters, and support material to figure out where the printer nozzle will travel n each layer and where it will deposit material. This is known as the machine or tool path. The many programs will display the tool path layer by layer, allowing the user to double check the printer and change any settings to ensure a print will not fail.
G-code is the language of CNC Machines. Every machine from mills, lathes, industrial robots, and 3D printers use G-code to control the machine itself. Each command is categorized into simple commands prefaced with either a G or an M, followed by a 1-3 digit number that identifies the command to the machine’s firmware and ‘arguments’ that can follow to enter values of certain settings.
For example, the code G28 tells the printer to center itself on the origin (to home itself), while G1 tells it to move in a straight line and G2 and G3 tell it to move in an arc (clockwise and counterclockwise). M code relates more to the program that is being run, and includes commands like M2 (end of program), M109 (set extruder temperature), and M106(turn cooling fan on). For a full list of G-Code commands that relate to 3D printing, check out this article on the reprap wiki: http://reprap.org/wiki/G-code
The Best 3D Printer Software Review
Below are some of the top 3D printer software packages available. A focus was put on programs that will work for the most printers, most of which are open-source and free to use.
Slic3r and Pronterface Review
Slic3r is a program that only does the slicing part of 3D printing. Slic3r started with the Reprap community and can be used for almost every printer on the market today. It is open source and continuously being updated through community efforts to further improve its capabilities and usability. It can take in .STL, .OBJ, and .AMF files. Many other programs use the slic3r engine to generate their tool paths and just add their own interface to it.
As of its latest version, slic3r has several unique features. These include graphical and command line interfaces, printing with multiple extruders (which can print with differently-sized nozzles), brim adhesion, smart cooling logic, printing multiple objects at the same time or sequentially, support material generation, and more. Several of slic3r’s functions trickle out to the other major programs because it is open source and because many of them use the slic3r engine.
Slic3r does not, however, directly control your printer. Slic3r can generate the G-code and save the 3D file as a .STL, but telling the printer what to do is left up to the other programs. One of these programs is another open source project called Pronterface. Pronterface is a user interface that takes G-code and sends it to the printer. It can also be used to send custom G-code commands to the printer for calibration, troubleshooting, and maintenance on a printer.
The Pronterface user interface is also one of the most common interfaces used by 3D printer software. It has the capability of moving and homing all 3 axes independently, a temperature graph, extrude and retract buttons, a window showing the current layer’s tool path, and a window to enter G-code. The UI is easy to use however many users complain about the look and feel of the program.
As a standalone program Pronterface is not all that good. It is best used as a troubleshooting tool that can quickly connect to your printer and give it individual commands.
Cura 3D Printer Software Review
Cura is Ultimaker’s open-source software that happens to be free to use and compatible with any printer. It is optimized for the Ultimaker line of printers and depending on what version you use, has some interesting and unique features.
Cura features a large 3D view with plenty of options to go through (open expert settings for even more), the program uses its own slicer (CuraEngine) and can use .STL, .OBJ, .AMF, and .DAE files. The most recent version of Cura (v15.4.3) uses the Pronterface user interface to control the printer after you click print. However, previous version of the software are still available and versions up to 14.3 have a unique interface with functions that the program lost after a developer left the project. These features include a large, easy to read temperature graph (much better than Pronterface’s), jogging capabilities (Home XY, Home Z, move X, Y, and Z, extrude and retract), and the very unique ability to change print speeds on the fly. The speeds of the inner and outer perimeters, infill, and support material can all be independently changed as percentages of the speeds set before printing, and the printer will respond in within a few lines of G-code, which usually takes about 5-20 seconds depending on the print.
Cura is an easy to use program and very maker-friendly. The print time estimates are usually way off since they are optimized for Ultimaker printers nut otherwise everything works perfectly. If you choose to try this program definitely try both the latest version and the older 14.3, to see which interface you prefer.
MakerWare is Makerbot’s proprietary program that is meant to only be used by Makerbot machines. Much like iTunes works best with iPods, MakerWare only really shines with the Makerbot machines. It sends proprietary files to the machine but can take most .STL and .OBJ files.
MakerWare is actually a suite of programs that can command a Makerbot, including desktop and mobile apps that can communicate with the printer either over USB or Wifi. MakerWare will also let you monitor your print remotely; using cameras installed on later Makerbot models. The support material generated by MakerWare is top notch, with rafts and support material that ensure a flat print and separate cleanly from the part.
If you are using a Makerbot, this is the program you should use, however due to its proprietary nature this is not something any other user would want to even attempt to use.
UP! Software Review
Another Proprietary software package, UP! is used with the UP! 3D printers. UP! uses .STL files and outputs proprietary .UP3 files to the UP! printer. It aims to make 3D printing easy and user friendly, minimizing the features that need inputs from the user and allowing for one-click printing.
A bare bones package, UP! only seems to provide the basic functions that all the other software packages provide: 3D view, move/rotate/scale, support material generation, and slicing. If you are using an UP! 3D printer this is the program you should use; otherwise, like MakerWare most other printer users will want to avoid it.
Repetier Host Review
Repetier Host is another free to use software package that is a bit beefier than Slic3r or Cura. It is one of the big names in 3D printing software and for good reason.
Repetier Host can support up to 16 extruders with different types of filaments and can visualize the result with different colors in the 3D view. Repetier also comes with three different slicer engines, Slic3r, CuraEngine, and Skeinforge to provide the best slicing of a part, and any other slicer a user wants to use can be used as well. The program strives to achieve perfect prints in any material a printer can handle, including PLA, ABS, PETG, chocolate, and even metal. Check out our guide to different 3D printing filaments.
Combined with Repetier Server, a printer can be controlled from anywhere with a PC, phone, or tablet. It also has webcam support to monitor prints and can drive multiple printers simultaneously. If you want an advanced, easy to use interface that can support multiple printers, this is a good program to look at.