STL File Tolerance: A Short Explanation of Faceting and Chord Height

When you are making a prototype of a CAD file, you send an STL file to the software that the machine uses to calculate how to build the part.  An STL file is made up of triangles, called facets, that cover the surface of your part.  Imagine having a a real part and a box full of small triangle. You have to paste the triangles all over the surfaces of the part till you have covered every part of the surfaces.

To illustrate what we are talking about lets start with a simple geometry: a block with a hole:

image

When we make an STL file the CAD package breaks the surfaces of the part up into triangles.  The result is something like this:

facet_02

Notice how the surface is made up of triangles.  Triangles are flat so if you don’t have enough, if the triangles are too large, you end up with visibly flat surfaces.  This example shows the default for many CAD tools, and if we make a prototype of it we will see the flat triangle bits, and it will look bad.

To solve this you need to set your tolerance to a smaller number. Each CAD package has a different way of specifying this.  Most of them use some sort of Chord Height tolerance. 

image

image

The chord height is the maximum distance from the actual surface (orange) to the facet face (green).  The smaller the Chord Height, the smaller the facets and the more accurate the curvature of the surface is represented.

Here are some examples of our sample part with different tolerances (the hole has a 2” diameter):

facet_01

0.1” Chord Height

facet_02

0.01” Chord Height

facet_03

0.001” Chord Height

facet_00

0.0001” Chord Height

That last example may be a bit extreme. 

Why not just set your tolerance very small and be done with it?  The problem with that approach is that you force the program to make a ton of triangles, and your STL file gets huge.  So you need to find a nice compromise.  0.001” seems to work well for us and is a good place to start.

if you want to view your STL files, you can usually do so in the software you use to send your parts to your RP machine. If you are using a service provider, you may want to download a tool like Meshlab or MiniMagics.