You've heard the common 3D printing wisdom often enough: set a mesh tolerance fine enough so your printed part doesn't end up looking like bantha poodoo, but coarse enough that your 3D printer doesn't spontaneously burst into flames processing all those facets. Aside from such conveniently vague (perhaps Yoda-worthy) guidance, you're mostly left to find your own way. Confused as hell, you are. For poor mesh tolerancing is the path to the dark side. The wrong mesh tolerance leads to degenerate geometry. Borked geometry leads to print defects. Print defects lead to suffering (6-12 hours later). Way to go, Kenobi.
Worthy thoughts while hanging precariously
Why isn't there a fundamental truth about mesh tolerancing, some convenient formula you can plug in and make a sound engineering decision? Because it all depends. It depends on:
- What your part actually does (if it does anything that is, you may be just printing out a Boba Fett figurine for questionable artistic reasons)
- What's critical to making sure it actually does that (and with what level of reliability?) Last thing you want is a bad motivator or a touchy hyperdrive.
- What your part interfaces with and how your assembly or mechanism comes together (if applicable).
- The limits of your manufacturing process (specifically: the printer)
- How much you want to spend (time and money). Your Republic credits are no good here.
In other words, we have many of the usual manufacturing questions be it additive, subtractive, or otherwise. There are rarely formulaic answers to such questions. I know what you may be thinking. "Nooooooo. That's not true. That's impossible." Quit crying over your precious power converters and listen up.
This challenge is not unique to 3D printing, but is applicable to design for manufacturing in general. How an engineer dimensions a part, how tightly certain tolerances are specified, how and if GD&T is used is all about the answers to these very important questions. When you're adjusting the fidelity of your mesh, in essence you are tolerancing your part, within, of course, the limitations of your manufacturing process (the printer and its software).
Not as clumsy or random as a block tolerance
In any given engineered part, some features are more critical than others. A long, long time ago, when engineering was still detailed by Jawas on drafting tables, specifying the exact tolerance for each and every dimension was both time consuming and difficult to read. For efficiency, the most important features would have unique tolerances specified as needed, but for everything else a default tolerance was assumed typically based on the number of decimal places in the dimension. Because this generic tolerance was most often specified somewhere in the drawing title block, it's commonly known as the block tolerance. Long recognized by most company standards, the practice is still widely used in engineering drawings today.
Why dig up tolerancing examples from a sad devotion to an ancient religion? Because in many respects, a 3D print mesh tolerance is effectively a block tolerance. It's a generic tolerance that is specified independent of function. One of the most common suggestions for a mesh tolerance is 0.01mm, because it reasonably works for most 3D printing applications using contemporary hardware. But it might be overkill for your part. It also may not be not good enough.
Again, it depends.
That's why I generally don't like block tolerance. It's coarse and rough and irritating and it gets everywhere.
For conventionally manufactured parts specific features are held to tighter tolerances through use of tooling. The tooling has to be fabricated as well, typically at half of your desired tolerance, so that if you're tool is on the high or low end of its tolerance, you still can reasonably achieve the desired tolerance in your finished part. But with 3D printing, there is no tooling. Thus the overall tolerance of your 3D printed part can only ever be as good as that mesh tolerance. So you have to base your mesh tolerance to exceed the tolerance of the most critical feature on your part, provided your printer is capable. So the entire mesh must necessarily be based on the worst case. I've got a bad feeling about this.
It's as if a million engineers suddenly exported to STL
The mesh tolerancing dilemma is moving to the forefront now that 3D printing is evolving from its STL-bound rapid prototyping roots into real, honest-to-Ewok additive manufacturing. Remember, STL, was originally invented as a file format for prototyping, not production. Moving forward, it's reasonable to expect that 3D printed parts will need to be built with variable tolerancing, just like most other manufacturing processes. At that point, software and file formats will need to bridge the gap by translating engineering tolerance requirements into intelligent meshing schema, much like you see in the CAE simulation realm today. Hopefully that's not all that far, far away. Try not to burn your eyes too much this week, OK?
This eBook is aimed at the engineering professor, new or experienced, that is interested in how their peers are thinking about the challenges associated with modernizing.