How We Test MakerBot Print Quality: MakerWare

torture test group_700x467

MakerBot MakerWare, our 3D printing software package, is an integral part of the MakerBot 3D Ecosystem. Powerful software helps us take the most advantage of our powerful desktop 3D printing and scanning products, as well as developments in our ABS and PLA filament. In other words, MakerWare is a huge factor in print quality.

Our goal is to constantly improve print quality, so how do we make sure that we are constantly improving MakerWare? Above is a picture of one print from our multi-stage testing process. We thought you’d like to know more about how we measure our progress and keep moving forward.


We release updates to both the MakerBot MakerWare application and the MakerBot Firmware on a regular basis. These are separate, but they have to work well together. MakerWare operates on your computer, while the Firmware operates on your 3D printer. Not every new release of MakerWare includes a Firmware update, but most major releases do.



MakerWare contains an algorithm that turns a 3D model into a set of instructions for your MakerBot. We call this algorithm the MakerBot Slicing Engine. It cuts a 3D model into “slices” or layers that your MakerBot can print, one on top of the other.

The accuracy and smooth operation of the Slicing Engine are a huge priority for us. Our engineers work to make it capture smaller and smaller details of a model more precisely. To test new developments in the Slicing Engine, we devised a comprehensive demo print, seen above. We make a lot of them, in both ABS and PLA filament, and on the Replicator, the Replicator 2, and the Replicator 2X. Check it out.


1.  The walls of the spiral are just far enough apart that they can’t be filled with internal spurs (see #3 on this list). They have to be filled in with lots of tiny lines, and generating this infill can slow down the Slicing Engine. We’re speeding that up.

2.  These blocks test dimensional accuracy. A block of a certain size in the 3D model should be sliced and printed as a block of that same size.

3.  This is a version number for the design of this test print, but really shows the performance of internal spurs. Internal spurs are single lines of extrusion used to fill the gap between outlines when that gap narrows to a single extrusion width. Here we can see internal spurs are turned off, because the numerals are printed as outlines, rather than a single wall.

4.  In the 3D model, this tower gets progressively narrower and goes all the way up. This element tests what the smallest features are on a 3D model that the Slicing Engine will capture and turn into print instructions. Here, the tower stops at approximately half the height of the tower in the model and we can measure it with calipers.

5.  This empty spot that looks sort of like a lake in the middle of the print, shows us what happens when a single layer contains solid model surface bordered by infill. The effect is hard to see here, but basically our engineers are looking for a flat surface.

6.  These elements test bridging, or extruding filament in mid-air with no support material. They’re designed in different directions and lengths to demonstrate that the Slicing Engine has properly coded the direction of the filament extrusion. It’s kinda complicated.

7.  These walls demonstrate external spurs. With the appropriate settings, the Slicing Engine will see features this small and interpret them as a single extrusion width.

8.  The cylinders test how the Slicing Engine is capturing curves. We want to ensure that a circle in a 3D model is interpreted as a circle of the same dimension by the Slicing Engine. We know the size and shape in the model, so we can test the final result with calipers. We want it to be perfect, and we’re getting there.

9.  We make a lot of these test prints. This little gap makes it easy to get the piece off the build plate.

This is our torture test for the slicer. Do you have your own? Do you have a torture test for the mechanics of your MakerBot? Share it with us, and tag it “torture test” for everyone else to find easily. You can see our model here on Thingiverse.



The so called slicing “torture test” is just one part of our testing regimen. We also look at several dual extrusion prints to monitor layer transitions and clean color separations. Here are a couple examples.

dual extrusion_700x459

The blocks between the dual extrusion prints are part of an overall print quality test. They represent each of the standard quality settings in MakerWare (Low, Medium, High) and show us dimensional accuracy, layer height resolution, surface quality, and several other criteria. We keep these in an archive to compare the print quality from each new release with previous versions.

nut and bolt_700x467

Rafts and support material are other huge software challenges we are conquering, so when we test new MakerWare and Firmware updates, we test these elements, too. Take a look above at this nut and bolt set, designed by Thingiverse star aubenc. This model doesn’t actually require a raft, and you can see below that the top surface is much nicer when printed without a raft (left) than when printed with a raft (right). That’s something we’re fixing.

bolt surface_700x467

Here is just one of the 3D models we use to examine support material behavior, the Stanford Bunny, scanned by Marc Levoy for the Stanford 3D Scanning Repository.


We make this upside down with support material turned on, and then test for ease of removing the support material. On the left you can see the model printed with support material, and the middle what it looks like with the support material removed. There are some surface imperfections that you don’t see when the model is printed right-side-up without support material, as designed.


This is a window into how we test to make sure we are always improving. Do you have suggestions or feature requests? We are always interested to hear feedback from the amazing group of people that make up the MakerBot community. Email