Universal Article/Blog/News module
How to Control a 3D Printer
The printer control, also known as the host software or printer interface, is where the entire personal 3D printer toolchain comes together. From this application, we can connect to our printer and talk to its firmware, move the three different axes, read and set the temperature for the hot end and the printbed, launch our slicer application, and print our 3D models. While the printer control application is sometimes provided by your printer’s manufacturer you might still be able to use other applications of your choice. For example, if you are building one of the RepRap printers, the world is open to your choice of printer control; however, if you have a MakerBot, then you will most likely use ReplicatorG. Of course, you can always exchange your electronics for something different, so it is possible to run that MakerBot Cupcake with an entirely non-stock printer control and toolchain.
Where Skeinforge was the slicing engine that was widely adopted in the early days of the RepRap project, ReplicatorG (http://replicat.org), shown in Figure 2-12, and the popularity of the MakerBot printers made this application synonymous with 3D printing.
Figure 2-12. ReplicatorG 0029
ReplicatorG is a surprisingly versatile tool, far beyond its use as a printer control. This application displays a 3D model inside a bounding box that represents the build volume of your 3D printer. It also provides options to rotate, scale, and move the model. Even though ReplicatorG only directly links to Skeinforge—other slicer applications can be used independently to create G- code files that can later be opened in ReplicatorG—and it is limited to specific version releases only, the team at MakerBot have worked hard to simplify Skeinforge settings with the use of the Print-O-Matic printing option, shown in Figure 2-13.
Figure 2-13. Print-O-Matic
By specifying details about your printer, filament, and extruder, Print-O- Matic automatically configures Skeinforge using optimized presets to generate G-code that will work for most situations. It is still possible to enter Skeinforge if you want to muck about with parameters for specific prints. After slicing your model from within ReplicatorG, you need to open the separate control panel, shown in Figure 2-14, to control and monitor your printer.
Figure 2-14. ReplicatorG control panel
In this window, you can control the three axes of the printer by clicking on the green, red, and blue arrows for the x-, y-, and z-axes respectively; enable or disable the stepper motors; and set and monitor the temperature for the extruder and printbed. To start a print, you need to leave the control panel and, using the icons in the main ReplicatorG toolbar, connect to the printer, and hit the Build Model button.
ReplicatorG uses a machine profile system to interface with different 3D printers; however, support for machines other than MakerBot’s and the Ultimaker are limited and generally fairly experimental. With that said, ReplicatorG’s support for those two types of printers is unparalleled. It is recommended if you own one of them.
While not as full-featured as ReplicatorG, Pronterface (https://github.com/kliment/Printrun), shown in Figure 2-15, has managed to become the de facto printer control for RepRap machines in a very short time. It works equally well with other printers that use compatible electronics.
Figure 2-15. Pronterface
Pronterface is part of a larger package of applications called Printrun that allows for command line integration and other advanced features. Like ReplicatorG, we use the control panel from Pronterface to connect to our printer, move its axes, set and monitor the temperature, and open and slice models.
While not as robust when it comes to seeing and modifying 3D models, Pronterface has the handy feature of visualizing the resulting G-code toolpath layer by layer so that you can quickly see how the print might turn out before hitting the print button.
Because of its more open architecture, Pronterface can be configured to work with any of the slicer applications available today by using the Settings Options dialog box shown in Figure 2-16.
Figure 2-16. Pronterface options
To integrate the slicer of your choice into Pronterface so that you can directly load an STL file to be sliced automatically, you should pay close attention to the options slicecommand and sliceoptscommand. The two boxes provide the path to the slicer application on your computer. Instructions for filling these out can be found on the Pronterface and slicer home pages. In addition to specifying the desired slicer, this window provides options for the printer’s build area, default temperature used, and settings for how fast to move each of the motors.
I use Pronterface daily for my MakerGear Mosaic and Prusa Mendel because it is very easy to use and is always reliable. It also works with my favorite slicer application, Slic3r—this duo being particularly compatible.
RepSnapper (https://github.com/timschmidt/repsnapper), shown in Figure 2-17, is one of the first real alternatives to ReplicatorG.
Figure 2-17. RepSnapper
RepSnapper has its own integrated slicer to make things simpler and more integrated; however, it might not give you the most feature-filled options for slicing your models. It’s also a little difficult to get up and running with the newest versions because there are no readily available precompiled distributions. All that said, the interface is clean and simple and provides a spectacular view of your sliced model, making it a worthy alternative if you have a RepRap machine.
The newest member of the printer control applications, Repetier-Host (http://reprap.org/wiki/Repetier-Host), shown in Figure 2-18, is chock-full of things to tinker with.
Figure 2-18. Repetier-Host
Unique to Repetier-Host is the ability to modify the G-code file and see the alterations in real time in the preview pane. This gives you some unprecedented access to the nuts and bolts of the 3D printing process. This host uses Slic3r as its default slicer application, although Skeinforge and others could be used instead. It is still a fairly new printer control application, so long-term reliability and updates are yet to be seen. It also is a little clunky with its integration for Mac OS X, so it can be a little buggy; the developer promises a solution in a future release.
Where Repetier-Host is for the hard-core tinkerer, netfabb Engine (www.netfabb.com/engines.php), shown in Figure 2-19, is made for those folks that just want to get on with printing things.
Figure 2-19. netfabb Engine for Ultimaker (courtesy Florian Horsch, 2012)
Where all of the other printer controls are open-source software made by individual developers, netfabb Engine is a commercial printer control made for specific printers by a company known for its outstanding 3D modeling software. Yes, this means you will have to pay for this printer control application, at a cost of around $200. Support for personal 3D printers is currently limited to only the Ultimaker, although MakerBot and RepRap versions are promised.
High cost and limited availability aside, this is the 3D printer control to watch. Not only can the application fix problem 3D models, but it also slices with impressive speeds using its built-in slicer. The prints that Ultimaker users have posted using netfabb Engine are quite simply astonishing. Using this control, it is even possible to get layer resolution reliably and effectively down to 0.02mm or 20 microns in height, making for very smooth finishes, even if they take some time to print.
As commercial manufacturers take notice of the personal 3D printing phenomenon, we will start to see more applications like this one that take all the guesswork out of 3D printing, making it ever closer to the experience that we expect out of our office laser printers.
Info from book: Practical 3D Printers_ The Science and Art of 3D Printing