Update: We hosted an in-depth workshop, going through the fundamentals on how to conduct a tolerance analysis. You can download the full 42-slide presentation here.
In the world of mechanical product design, engineers and designers complete what is known as a tolerance analysis or tolerance stack up analysis on an assembly as they prepare to send the components out for manufacturing. This is done to ensure when you order parts, they are manufactured to dimensions that guarantee the components within an assembly fit together.
For this post, I’m going to focus on how to conduct a tolerance analysis specifically for 3D printed components, reviewing:
- How to conduct a positional tolerance analysis
- How to conduct a linear tolerance analysis
- Final pro tips and tricks
Tolerance Stack and Interference Example
Let’s start off by detailing when we mean when we say “a tolerance stack up” and the associated problems + solutions.
If you look at the assembly below, you’ll notice a series of ¼ - 20 socket head cap screws used to fasten a lid (gray) to the base (green).
The fasteners have a maximum outer diameter of 0.250”, but they will also have to pass through holes in the lid and thread into the tapped holes in the base. For a 0.250” diameter fastener to pass through a plain hole, the diameter of the hole would have to be just larger than 0.251”. However, when these components are manufactured, the holes will not be in the exact same locations as the model due to machine capabilities.
The image below demonstrates what happens when we add .030” of positional error to the screw holes outward (relative to the vertical center plane) for the lid and the inward for the base (note: the screws have been colored blue for clarity).
In the enlarged view, we can see the hole mismatch between the lid and the base for the features on the left, but the center screw holes are perfectly aligned. This means that our lid will never install properly with all of the screws in place. If we had done a proper tolerance analysis, we wouldn’t be in this situation and for the remainder of this article we’ll detail how to conduct such an analysis.
Example 1: How to Conduct a Positional Tolerance Analysis
Now that we’ve reviewed a basic example of tolerance stacking, let’s look at an example that details the steps to perform a tolerance analysis as it relates to the position of features such as bolt holes. The steps will be completed using an excel calculator built specifically for a 3D printing tolerance analysis.
In the spreadsheet, there are separate tabs for positional and linear tolerance studies and the lighter columns on the left require user input and the darker two columns on the right are the calculated spreadsheet output.
Here are the four steps for completing the analysis using the spreadsheet:
Step 1 – Define the Machine or Process Capabilities
First, we define the technical capabilities of the machine or process. In a study published by Stratasys, their Fortus 360mc/400mc FDM machines have a dimensional accuracy of ±.005” or ±.0015 in/in. For our example, we’re going to use the tolerance specification of ±.005” for this FDM machine.
Step 2 – Define Interfacing Components and Associated Dimensions
Next, we need to define the interfacing features and their respective dimensions. In the case of our example enclosure, the interfacing features are the screw holes and screws. These are the features we need to ensure everything will line up and install together.
Note that the description here is simply for our benefit when we review these calculations at a later time. The interface OD (outer diameter) is the maximum screw or fastener outer diameter that will be going into the holes (.250” in our case).
Step 3 – Calculate the Necessary Clearance
The next step is the fun part: Calculations! In our example, the base (green part) has threaded holes, while the lid (gray) has through holes. This is what we call a “fixed fastener case” and a further explanation can be found in Appendix B paragraph B4 of ASME Y14.5. The formula we’ll use is slightly different because we’re dimensioning the parts based on the performance specification of the machine:
This formula is based on the fact that if the axes of the holes are displaced relative to each other at the maximums of each tolerance, the displacement will be equal to the hypotenuse of a right triangle with sides equal to .010”. The image below illustrates a ±.005” tolerance zone, and the associated hypotenuse. Note that the sides are .010” which is simply twice the .005” we are using for the machine tolerances.
We double the hypotenuse because for any displacement between hole axes, we need twice the increase in clearance from a diametral standpoint. Finally, we’re adding in the tolerance again because the hole may come in undersized by the tolerance amount. If we were to use this formula in our example, we would see that the clearance holes in the lid need to be dimensioned as follows:
Fortunately, we’ve built a handy excel calculator that solves these formulas for us since we don’t want to calculate these items separately every time. The snapshot below shows the spreadsheet doing its magic:
Notice that the “Tolerance Type” has a drop down menu. We can select “Fixed” or “Floating” based on the type of holes we’re using.
Floating fasteners simply have two through holes and will use a fastener and a nut instead of threading directly into one of the parts. If we use floating fasteners, the required clearance is cut in half and each hole is expanded by that amount. The example part in this case is Fixed, so we’ve selected that option accordingly.
Step 4 – Adjust the CAD Model Accordingly
Now that we have all the necessary dimensions for our design to ensure it fits together on the first try, we’re going to modify our CAD models to reflect these dimensions.
The drawing image below details what the nominal dimensions and tolerances are for the hole size and spacing that we’ve calculated:
The models for both the lid and the base will have the holes spaced at 2.150” and 1.500” from the center planes of the part, while the through holes in the lid will be modeled to a diameter of 0.283”.
However, if the machine produces the part at the extremes of the tolerance zones, we may get parts that are dimensioned as follows:
We can see that the lid (top) and the base (bottom) have parts produced at the opposite extremes of their tolerance bands.
Parts manufactured to these dimensions are an unlikely worst case scenario, but it’s not impossible given the performance specification of the machines. Furthermore, parts will never come in exactly as they are dimensioned in the model.
The image below shows our assembly with the tolerance offsets given in the drawing images above.
It’s obvious that even with the most drastic offsets in part dimensions, the parts still fit together. Statistically speaking, it’s very unlikely that all of these dimensions will come in at these extremes, but this method will ensure the parts fit together the first time, every time, with no modification.
Example 2: How to Conduct a Linear Tolerance Analysis
Conducting a linear stack of tolerances uses the same basic steps as a positional tolerance analysis.
For this second example, we’re working with a linear stack of tolerances, looking at how multiple interfaces affect parts and their spacing relative to each other. We’re going to follow the same basic steps used in our first example and continue to use machine tolerances of ±.005” for simplicity.
Our example below details a simple representation of a rectangular plug going into a rectangular socket.
We want the larger shoulder of the plug to contact the top of the socket to ensure the plug doesn’t bottom out. If we look at the drawing below, we get a sense of the tolerances we’re working with in this arrangement.
Referring back to our spreadsheet (using the linear tab this time), I can put these dimensions into the cells to calculate the dimensional extremes as follows:
If the part is manufactured to the nominal dimensions, we can see there will be .015” of clearance between the end of the plug and the bottom of the socket cavity. However, this clearance gap can be reduced as low as .005” if the part is produced to the tolerance extremes of the machine as detailed in the image below.
NOTE: We can use our spreadsheet to calculate these clearances by subtracting the max plug depth dimension (0.990) from the min socket depth dimension (0.995).
In this case, we know the plug will not bottom at the tolerance extremes so we have no concern. But when we add other interfacing components such as faceplates, we’ll see how the tolerances begin to stack up and pose a concern.
The assembly in the following images places the plug in a housing and includes a faceplate on top of the socket.
Now it’s apparent that we’ve doubled the number of opportunities for the tolerances to stack in an unfavorable manner, but we have the exact same nominal clearance as the first case.
The image below details a worst case scenario for interference:
There’s now .005” of interference instead of a worst case of .005” of clearance. This is because the two components between the plug and the socket each have a tolerance of ±.005” (.010” of additional tolerance stack).
Referring back to the spreadsheet, we can perform the same math to determine the extremes of our interfacing features:
The math is simple: We subtract the maximum plug length from the sum of the minimum dimension for the other features that separate the interference we’re worried about. That’s to say:
Clearance/Interference = .870 + .120 + .120 – 1.115 = -.005
A negative value in this instance means we’ll have interference, while a positive value would indicate how much clearance we have in the worst case scenario.
In order to accommodate the faceplate and housing design while maintaining .005” of clearance, we would need to add an additional clearance at the nominal dimensions of .010”. This will make our nominal clearance gap .025” now.
It’s easy to see just how much adding additional components between interfacing parts will add up to create challenges in the design process.
3 Final Tips and Tricks
Now that we’ve gone through the detailed calculations and analysis, I’ve leave you with a few final tips and tricks.
1. If you prefer not to, or cannot open tolerances enough to ensure a 100% fit based on machine capabilities, you can reduce the clearance if you’re ok with a few things:
- You have to be ok with some clean-up work if things don’t fit perfectly together. This means sandpaper, reaming holes or other minor subtractive modifications.
- You have to be ok rolling the dice. Remember, tolerance stack ups are a game of statistics, and the further you deviate from a guaranteed fit, the greater your chances of “busting” are.
2. From a tolerance stack point of view, it’s beneficial to reduce the number of interfaces between components that must fit together. The more interfaces you have, the more opportunities there are for a tolerance stack to interfere with the assembly of the components.
3. If you need dimensional precision, limit the size of components and pick the manufacturing process accordingly. Many of the higher end processes (like Polyjet) will produce more accurate parts, and nearly all machines will hold tighter tolerances as your parts get smaller as long as it doesn’t exceed the feature size capability of the machine.
What About Statistical Studies?
Note that these examples have looked only at a worst case tolerance analysis which is typical of parts that are ordered in lower quantities or that are required to serve as a drop in replacement on an existing assembly.
When dealing with higher volumes or extremely tight tolerances, it’s common to perform a statistical study to quantify the probability of parts not fitting together over wide ranges of tolerance stacks.
This can even be done on smaller quantities if you want to dimensions to values outside of the worst case scenario. A common method is to perform a Monte Carlo simulation based on a normal distribution from a root sum square analysis. Through this approach, you can quantify the statistical probability of parts fitting together or not fitting together.
Through these examples, we’ve seen that a tolerance analysis isn’t as daunting as it may have seemed at first. Furthermore, excel calculators make all of this work much easier and more efficient and as you become more familiar with this analysis and the machine capabilities, the dimensional limits can be pushed with less risk and uncertainty.