The Surface Quality Algorithm

Some features we write are planned, others are built from passion and an all nighter sprint.

One of our engineers was asked in his part-time job at a Makerspace to 3D Print some bones, which kept coming out poorly, no matter how he oriented it. At some point, he was just fed up and one late night of hacking later, the surface quality algorithm was written. After months of tweaking and experiments, we got it working!

A disgusting shark print. We were getting more and more people not orienting their parts correctly, so we built a tool that would help them with it.

A disgusting shark print. We were getting more and more people not orienting their parts correctly, so we built a tool that would help them with it.


Surface Quality is an incredibly valuable metric to determine the imperfections in your 3D Print before you print it. Understanding how 3D Printing works and how the algorithm works will help you improve your 3D Prints.

When you 3D Print with FDM, you won’t always have the best surface quality. The surface quality issue can usually be diminished if you use dissolvable supports, but only a few of those 3D Printers actually make sense.

Since we at MakerFleet are still figuring out how to provide you with dissolvable supports reliably and at a decent price, we decided to write an algorithm that allowed you to visualize where their prints would not be cleaner.

Quick Explanation of the Surface Quality Algorithm

We have to start from the beginning with how 3D Printing works:

3D Printing is a process of extruding one layer on top of another layer. The two major things to understand during this layer to layer process is the layer height ( h ) and the distance of the overhang from one layer to another ( d ).

3D Printing is a process of extruding one layer on top of another layer. The two major things to understand during this layer to layer process is the layer height (h) and the distance of the overhang from one layer to another (d).

If the overhang distance is too large, the layer on top begins to droop onto the layer underneath. That “droop” causes a degradation in the quality of that layer, and layers on top of it.

If the overhang distance is too large, the layer on top begins to droop onto the layer underneath. That “droop” causes a degradation in the quality of that layer, and layers on top of it.

Support Layers (SL) allow for the droop to be contained, but the droop will still exist. We can contain the droop more by decreasing the support distance ( Sd ), but that makes the support material harder to separate after the print.

Support Layers (SL) allow for the droop to be contained, but the droop will still exist. We can contain the droop more by decreasing the support distance (Sd), but that makes the support material harder to separate after the print.

How much droop is too much droop?

Our extensive research allowed us to determine what was the best orientation to 3D Print an object and create our algorithm that will accurately determine issues in the part.

Our interface easily shows you the issues in your part

Our interface easily shows you the issues in your part

Even with supports, the bottom of the pieces aren’t as clean.

Even with supports, the bottom of the pieces aren’t as clean.

Remember the shark? Turns out it’s better to print it this way. Unintuitive, but better.

Remember the shark? Turns out it’s better to print it this way. Unintuitive, but better.

Harnek Gulati