This section reflects additions or changes that apply to Enventive Concept v4.3.1 and later, which changed how sensitivity is reported in tolerance analysis results. We strongly recommend upgrading to the most current version of Concept to take advantage of new features and bug fixes. If you are running an earlier version of the software, please open the Online Help for your version using the Enventive Concept Help menu.
The following sections take an in-depth look at how Enventive Concept performs tolerance analysis.
How Enventive Concept calculates tolerance analysis results
Enventive Concept does Root Sum of Squares (RSS) analysis, which means that it is calculating the sigma value for the derived/analyzed dimension according to the following formula.
That is, for each individual contributor, multiply its sigma value by its sensitivity value, and then square that number to get the variance value for that contributor.
Add the variance values from all of the contributors together to get the total variance. The square root of the total variance is the sigma value for the analyzed dimension.
How Enventive Concept calculates sensitivity values for individual contributors
The Solver is the heart of Enventive Concept, and is what differentiates Enventive Concept from other types of mechanical engineering software.
Behind the scenes, the Enventive Concept Solver is creating a mathematical equation that describes a path between any two objects. (We call this the dependency graph.) Every contributor on the path (dimensions, constraints, forces/moments, and variables) has a nominal value and a sigma value, and the Solver computes the first partial differential of the mathematical equation to determine sensitivity values for each contributor.
How Enventive Concept calculates sigma values for individual contributors
We assume that each individual contributor has Cp = 1 by default, meaning that their standard deviation values are equal to 1/6 of the total tolerance range. (In other words, a ±3 sigma distribution fits within the tolerance range.)
You can change the Cp value for dimensions that are tightly controlled. For example, if the manufacturer intends to do ongoing inspection and SPC (statistical process control) charting for certain dimensions, you might use a Cp value of 1.333, 1.5, 1.667, or 2.0 for those dimensions. (For example, a Cp value of 2.0 represents a ±6 sigma distribution, so a value of 12 instead of 6 would be used for the denominator in the equation above.)
(Note: Above figure is from http://en.wikipedia.org/wiki/standard_deviation.)
Essentially, the above calculations assume that a small percentage of the parts (100% - 99.73% = 0.27%) will be outside of the specified tolerance range. These individual non-conforming components create the potential for a stack-up that is actually worse than what a “Worst Case” analysis considers.
The Percent Contribution (% Contrib.) column in the tolerance analysis report is the contributor’s share of the total variance.
The percent of contribution is calculated using the following formula:
For example, if contributor A and B have the same sensitivity values, but contributor A has a tolerance twice as large as contributor B, the percent contribution of contributor A will be four times the percent contribution of contributor B.
Sensitivity values for complex contributors reflect the maximum sensitivity value of the sub-contributors (rather than the sum of the sensitivity values). In addition, the complex contributor's sensitivity value is displayed in orange-colored text to indicate that one or more of its sub-contributors are responsible for the sensitivity.
Potential contributors are listed in red at the bottom of the tolerance report. Even though these contributors have been assigned a tolerance value of zero (and are therefore assumed to have no variation) they are included in the tolerance report because they have non-zero sensitivity values. A non-zero sensitivity value indicates that variation in the potential contributor would affect the analyzed parameter, so you should carefully consider assigning a tolerance value to any potential contributors with high sensitivity values.
In the example shown above, the perpendicularity constraint (PerpendicularLines1) has a sensitivity value of 0.8, equivalent to the sensitivity of the top contributor (Dim1:Size) which means that any variation in the perpendicularity between the two lines would have a significant impact on the analyzed dimension.
The Projected column in the tolerance analysis report shows the ±6 sigma values for the derived dimension, which projects the tails of the bell curve to show a range of values that will contain 99.99999980% of the population. (Less than 0.0000002% of all assemblies would be outside of that range; therefore, the Projected results will generally be outside the Worst Case range when Cp = 2.)
We use this ±6 sigma projection because it allows for a long-term mean shift of up to 1.5 sigma and a long-term variation of 4.5 sigma. Therefore, the long-term capability would be a Cpk of 1.5, which translates to 3.4 parts-per-million failures.
The Cp, which applies to both Target and Projected columns, defaults to 1 and can be changed directly in the tolerance analysis report to see the calculated Projected values. Not every stack-up requires a Cpk of 2.0; most companies reserve that requirement for critical failure modes (that is, a failure could cause death or serious injury). For failure modes that are less critical, the design may require a Cpk value of 1.67, 1.5, 1.33, or 1.0, depending on the severity of the failure mode or what level of scrap/rework can be tolerated in manufacturing.
There are some limitations to using RSS for tolerance analysis. The RSS method relies on a few key assumptions:
- Each contributor’s sensitivity value is computed for the Nominal configuration, and that sensitivity value is assumed to be constant throughout the tolerance range.
- The list of contributors is also identified based on the Nominal configuration, and no additional contributors are involved in the stack-up (points of contact don’t transition onto different features).
- All of the dimensional contributors have Gaussian distributions.
These assumptions fit most tolerance studies; however, in cases where these assumptions are not met, we recommend performing a Monte Carlo simulation to get more accurate results.
At Enventive, we often refer to this quote:
“Essentially, all models are wrong, but some are useful.” -George E. P. Box
There are assumptions, limitations, and trade-offs for any type of model; our goal is to be useful!