AutoCAD 2D Verification:


Home : Manuals : AutoCAD - Verification - Overview
Search | Site Map | Email | Bulletin Board

1.0 Motivation

The purpose of this manual is to provide the users of CATS with a practical reference guide to assist in learning how to perform assembly tolerance analysis. A selection of problems covering a wide range of assembly tolerance applications is presented. Each problem has been modeled and analyzed using CATS and the solutions have been verified by means of a spreadsheet. The following information is included for each sample problem:

* A brief description of the problem.

* Noteworthy characteristics that make the problem unique.

* Specified component dimensions, component tolerances and geometric

tolerances (ANSI Y14.5).

* Design limits on assembly tolerances critical to performance.

* A sample engineering model for the assembly, illustrating the use of datums,

kinematic joints, vector chains, dimensional tolerances, geometric tolerances

and assembly tolerance limits to represent assembly variations.

* Constraint sensitivity matrices and tolerance sensitivities.

* Predicted assembly tolerances, percent rejects, and percent contributions, along

with sample tolerance allocations and design modifications illustrating CATS

analysis tools.

Designers can use the assembly information to create and analyze their own models, and then check their results against our verified solution. In this way, the verification manual will act as a valuable reference tool, as well as a learner's guide.

This manual has been organized to allow rapid access to many different assembly applications. The heart of this organization is the Modeler Option Matrix and the Analyzer Option Matrix. Each individual problem is listed along one axis and several generic problem characteristics are listed along the other. Each characteristic that applies to a specific problem is checked. Designers can therefore quickly find two or three sample problems that resemble an assembly they are currently modeling.

1.1 Background

CATS tolerance analysis is based on vector loop representations of assemblies. The vector assembly loops may be open or closed. Open loops are used to compute resultant clearances or assembly dimensions. Closed loops are used for assemblies that adjust kinematically and reduce the clearance to zero.

A 2-D vector loop can be resolved into three scalar equations:

* the sum of the X-components

* the sum of the Y-components

* the sum of the rotations

Up to three dependent assembly variables can be solved for per loop. To solve for the dependent variables, the scalar equations are linearized using a Taylor series expansion about the nominal and discarding all higher order terms. The resulting set of linear equations may be solved using linear algebra. This approach is justified since the dimensional variations are small relative to the basic dimensions.

1.2 Vector Loop Analysis

A set of linearized scalar loop equations representing assembly variations is generated by CATS in matrix form.

Closed Loops

The basic closed loop assembly equation is:



= The variation vector for the resultant assembly dimension (equal to

zero for closed loops).

= The matrix of partial derivatives with respect to the

independent variables (manufactured dimensions).

= The tolerance vector for the independent variables.

= The matrix of partial derivatives with respect to the

dependent variables (kinematic dimensions).

= The variation vector for the dependent variables.

= The matrix of partial derivatives with respect to the ANSI

Y14.5 geometric variations (such as circularity, flatness, and


= The tolerance vector for the geometric variations.

, and are called constraint sensitivity matrices. Everything except is known. Solving for gives:



where and are the tolerance sensitivity matrices.

Open Loops



has the same meaning as in closed loops, only it is non-zero.

, and have the same meaning as in closed loops.

= The matrix of partial derivatives with respect to the independent

(manufactured) variables.

= The matrix of partial derivatives with respect to the dependent

(kinematic) variables.

= The matrix of partial derivatives with respect to the ANSI Y14.5

geometric variations.

is known from equation (2), so is the only unknown. Substituting (2b) into (3) yields:


1.3 Tolerance Accumulation

The dependent assembly tolerances can be estimated using three different analysis models:

* Worst Case (WC)

* Root Sum Squares (RSS)

* Six Sigma

Worst Case

The Worst Case tolerance model assumes all component tolerances simultaneously occur at their worst condition. It assures 100% interchangeability of parts and zero rejects, but is a costly design model.



= The assembly dimension variation.

Root Sum Squares

The Root Sum Squares tolerance model assumes that component tolerances follow normal distributions. It is a more realistic model than Worst Case, but can be overly optimistic.



= A specified number of standard deviations in the assembly

tolerance (for example, = 3 corresponds to a .9973 acceptance


= The individual component process capability index (default = 1, corresponding to +/- 3[[sigma]] tolerances)


The Six-Sigma model is nearly identical to the RSS model. However, it can also account for dynamic causes of shifts in the mean, such as tool wear.



= The fraction of the tolerance that the mean will shift due to tool wear and other dynamic causes. can vary for each component.

These formulas apply to closed loops, but can also be used on open loops in a slightly modified form. For open loops replace [SD] with [[C] + [D][SD]] and [SG] with [[G] + [D][SG]].

1.4 Percent Contributions and Sensitivities

CATS analysis provides two graphical representations of how specific component tolerances affect assembly variations.

The sensitivity diagram shows how sensitive a specified assembly variation is to variation in each component dimension. It is a measure of the potential influence of each component variation on a specific assembly variation.


CATS orders the sensitivities in a bar chart according to their absolute values. When it lists the sensitivities, however, the signs are included.

Percent contribution is a measure of the actual influence each component tolerance has on the variation of a single assembly variation. Percent contributions vary according to the analysis model used.

For Worst Case:



= The independent (manufactured) component dimension tolerance.

= The tolerance sensitivities.

For Root Sum Squares:


For Six-Sigma:


1.5 Tolerance Allocation

AutoCATS is able to re-allocate component tolerances in order to meet the assembly variable specification limits.

Weight Factor Tolerance Allocation adjusts dimension tolerances proportional to the user-assigned weight factors. Tolerances with larger weight factors receive a greater portion of the unused variation when there is a positive variance pool (assembly variation is smaller than the specified assembly limits) and are reduced the least when there is a negative variance pool (assembly variation exceeds the specified assembly limits). Therefore the user should assign larger weight factors to the tolerances he wants to become (or remain) as large as possible.

Proportional Scaling Tolerance Allocation is identical to Weight Factor Allocation with equal weight factors. In this scheme, all tolerances are adjusted proportional to the original tolerances.

Cost Allocation uses an algorithm to find the combination of tolerances that will cost the least to manufacture. It requires the user to define cost parameters for each tolerance. CATS then uses those parameters in its built in cost functions to find the optimal combination of tolerances to minimize costs.

Tolerance allocation is available for all three analysis models (WC, RSS, 6-Sigma).

Worst Case Tolerance Allocation

The Worst Case tolerance allocation option scales the component tolerances up or down until the (assembly mean) +/- (assembly variation) is equal to the specification limits if the mean is centered between them. If the mean is not centered, this option scales the tolerances until neither the USL nor the LSL has been violated.

RSS and Six-Sigma Tolerance Allocation

Tolerance allocation based on one of the statistical models increases or decreases the assembly variation based on the reject fraction. For a target assembly Z-score, a target reject fraction is calculated. For example, a Z-score of +/- 3 will yield a reject fraction of .9973. The AutoCATS allocation routines increase or decrease the assembly variation (by adjusting the component variations) until the estimated assembly reject fraction is equal to the target reject fraction. If the assembly variation is not centered between the specification limits, there will be more rejects due to one limit than the other, but the sum of the rejects will equal the target reject fraction.

Allocated standard deviations for each manufactured component tolerance are displayed for these three statistical models. These standard deviation represent the process standard deviations required to meet the specified assembly reject fraction

1.6 Nominal Allocation

The AutoCATS Analyzer includes some algorithms to estimate what adjustments to the component dimension nominals would be required to shift the assembly mean to a user-specified value. There are three options: Mean Centering, Lower Specification Limit Justification, and Upper Specification Limit Justification.

Please refer to the Analyzer manual for detailed information concerning these options.

1.7 Degrees of Freedom

Each modeling element in AutoCATS has specific kinematic degrees of freedom associated with it. The total number of degrees of freedom in a model can be no more than three times the number of closed loops.

In a kinematic assembly, joints are used to constrain certain degrees of freedom within the assembly. When performing tolerance analysis, a different paradigm is helpful. A joint constrains certain degrees of freedom, but still allows others to remain. Variations due to small kinematic adjustments are associated with these remaining degrees of freedom (DOF). Therefore modeling elements are discussed in terms of the degrees of freedom they introduce.

Datum Reference Frames and Feature Datums

Rectangular: Rectangular DRFs and feature datums introduce no degrees of freedom into the assembly.

Cylindrical: Cylindrical DRFs and feature datums introduce a rotational degree of freedom into the tolerance model. They are usually used in conjunction with cylindrical slider joints and parallel cylinders joints. Both of these joints allow a kinematic rotation, but the center of rotation is not at the point of contact between the two parts. Instead, the rotation occurs at a cylindrical datum placed at the joint's center of curvature.

Occasionally, however, a cylindrical datum introduces a redundant or even a non-existant rotation into the model. For example, if a revolute joint is located at the same point as a cylindrical DRF and is connected to that DRF, then there is a redundant rotational degree of freedom at that location. One of them must be turned off (see the clutch example, section 2.2). In other cases, there may be vectors which pass in and out of a cylindrical datum with no rotational variation occuring between them. In this case as well, the rotation must be turned off (see the bicycle crank example, section 5.2). A good test for this condition is to examine the vectors that join at the cylindrical datum. If a kinematic adjustment within the assembly will cause the angle between the vectors to change, the rotational degree of freedom is valid. If not, consider turning it off.

Kinematic Joints

Rigid: A rigid joint introduces no degrees of freedom into the model. It is used to join parts the user wants to model as having no kinematic adjustment between them.

Planar: A planar joint introduces a single translational degree of freedom into the model. It is used to model kinematic adjustments that involve only translation, such as between two flat plates. However, it can be used to model any situation that requires a translational degree of freedom.

When creating a planar joint, the user must define a "sliding plane." The user must then define a path back to the part DRFs in such a way that a vector is created parallel to the sliding plane.

Cylindrical Slider: A cylindrical slider joint introduces a translational degree of freedom into the model. It is always linked to a cylindrical DRF or feature datum, so there is a rotational degree of freedom associated with this joint type (though not directly at the joint). It is used to model the contact between a rounded surface and a flat surface. As with a planar joint, the user is prompted for a sliding plane.

Edge Slider: A edge slider joint introduces a translational and a rotational degree of freedom into the model. It also prompts the user for a sliding plane. This joint type is used to model the contact between an edge and a flat surface.

Parallel Cylinders: A parallel cylinders joint introduces no degrees of freedom into the model. However, it is always linked to two cylindrical DRFs or feature datums, so there may be up to two rotational degrees of freedom associated with this joint type (though not at the joint). This joint type is used to model the contact between two curved surfaces that have parallel center lines. Occasionally, one (or even both) of the cylindrical datums to which this joint is linked introduces a redundant or even non-existant degree of freedom into the model (refer to Cylindrical datums, above). The user needs to determine whether to leave the rotational degrees of freedom active.

Revolute: A revolute joint introduces a rotational degree of freedom into the model. It is used to model the contact between parts joined by a pin, a shaft, or any other device that allows only rotation between the parts. If it is located at the same point as a cylindrical DRF or feature datum and is linked to that same datum, there will probably be a redundant rotational degree of freedom at that location. Either the revolute joint or the cylindrical datum degree of freedom must be turned off.

1.8 Geometric Tolerances at Kinematic Joints

Geometric tolerances applied to kinematic joints and datums introduce rotational and translational variations into the assembly model. The combination of joint type and the geometric tolerance applied to it determines exactly what kind of variation is introduced. Some joint/geometric tolerance combinations are assumed to be impossible, and will not be allowed by the modeler. All of the possible combinations of joints and geometric tolerances are summarized below. The type(s) of variation introduced by each combination is also indicated.

Table 1.1: Summary of variations caused by geometric tolerances at kinematic joints.

              Rigid    Planar   Edge     Cylind.  Paralle  Revol.   Rect.    Cylind.  
                                Slider   Slider   l                 Datum    Datum    
Flatness         R     R        Tn       Tn                                           
Straightness     R     R        Tn       Tn       Tn                                  
Circularity     Tn              Tn       Tn       Tn                                  
Cylindricity    Tn              Tn       Tn       Tn                                  
Perpendic.       R     R        Tn       Tn                         R                 
Angularity       R     R        Tn       Tn                         R                 
Parallelism      R     R        Tn       Tn                         R                 
Profile          R     R        Tn       Tn       Tn                                  
Runout         Tn, R   Tn, R    Tn       Tn       Tn                                  
Concentricit  Tx, Ty   Tn, R    Tn                         Tx, Ty            Tx, Ty   
True          Tx, Ty            Tx, Ty                     Tx, Ty            Tx, Ty   

R = Rotational degree of freedom

Tn = Translation normal to the contact surface

Tx = Independent translation in the X-direction

Ty = Independent translation in the Y-direction

blank box = geometric tolerance not allowed at the joint type.

All rotational variations require the user to enter a characteristic length. The characteristic length is used to convert the tolerance bandwidth to an angular variation using the formula

+/-d[[beta]] = tan-1(bandwidth / characteristic length)

where d[[beta]] is the equivalent angular variation caused by the geometric tolerance.

1.9 General Modeling Procedures

The following set of guidelines will help in setting up most tolerance analysis models. Completing these steps on paper before attempting to create a tolerance model in the computer (at least for the first few assemblies modeled) will greatly reduce the amount of time spent re-working and fixing models.

1. Determine the critical assembly variable(s). This will require the person creating the model to choose an appropriate 2-D reference plane through the assembly. All modeling elements will be located in this plane.

2. Determine what parts in the assembly will be included in the model. Many assemblies include parts that do not influence the critical assembly variation. Eliminating them will help create a simpler, more comprehensible model. For each part remaining in the assembly, locate the datum reference frame (DRF) location, and determine if the DRF is rectangular or cylindrical. In general, parts manufactured by a turning process have cylindrical DRFs.

3. Determine the type and location of all kinematic joints in the assembly. Each joint can be used to link only two parts. Define vector paths from each joint back to the DRFs of the parts it joins. If the joint has a translational degree of freedom, be sure one path contains a dependent (non-dimensioned) vector in the sliding plane. The remaining vectors must be dimensioned lengths (manufactured dimensions). Use feature datums to define the intermediate dimensions if the paths back to the DRF include multiple vectors. Remember to connect cylindrical slider and parallel cylinder joints to cylindrical DRFs or feature datums.

4. If the critical assembly variable(s) is an angle or length defined by the joint paths, it is referred to as a "dependent" length or angle, and a "closed loop specification" is all that needs to be applied to the model. If the critical assembly variable is not defined by the joint paths, an "open loop specification" will probably be required to analyze it. If so, determine the point or plane whose variation is of interest (the "moving" point), and the point or plane you wish to measure the variation relative to (the "fixed" point). Create a specification endpoint at the "moving point" first and the "fixed point" second in order to form an open loop between those two locations. The order in which these specification endpoints is created is very important when creating "Gap" or "Position" specifications.

5. Create a network diagram to determine the number of closed vector loops that must be generated to analyze this assembly. Forming a network diagram provides a good way to check the validity of the loops created by the "Autoloop" option.

To build a network diagram, draw a circle for each part in the assembly and label it. For each contact joint between two parts, draw a line connecting their respective circles. If, for example, part_1 and part_2 join in two locations, there will be two lines connecting their respective circles. Continue this process until each joint in the assembly is represented by a line between two parts. Do not duplicate joints. If joint lines cross, re-arrange the parts so they don't. The number of closed loops is equal to the number of "holes," i.e. regions bounded by the lines (joints) in the network diagram. The number of variables that can be solved for in the assembly is equal to three times the number of loops.

6. Add up the number of degrees of freedom (DOF) present in the model. Include one degree of freedom for each cylindrical DRF, cylindrical feature datum, planar joint, cylindrical slider joint, and revolute joint (see section 1.6). Include two degrees of freedom for each edge slider joint. The degrees of freedom present should not exceed the number of variables that can be solved for (found in step 5). If the number of degrees of freedom present in the model exceeds the number of variables that can be solved for, check the assembly for redundant and non-existent DOFs and turn them off. If there are still too many DOFs, declare an appropriate rotational DOF to be the input angle, and turn off its degree of freedom. If there are still too many DOFs, it's likely a mistake has been made at an earlier stage in the modeling process.

7. Determine which manufactured length dimensions are equivalent. Two radii of a circular part are likely to be equivalent (i.e. if one is over-sized, the other is over-sized). Two or more vectors that have common endpoint locations but are defined by different modeling elements are probably equivalent. For example, if one joint path to DRF_1 includes a vector from feature datum 4 to DRF_1, and another joint path to DRF_1 includes a vector from feature datum 5 to DRF_1, and feature datums 4 and 5 are located at the same point, vectors 4_1 and 5_1 are redundant. Redundant vectors must be equivalenced in the Analyzer in order to obtain valid results.

8. Apply tolerances to all manufactured dimensions. If the effects of surface variations of one or more parts need to be included in the model, apply appropriate geometric tolerances at the joints of those parts.


 PRO-E 2 D
Title | Overview | Modeling | Commands
Title | Overview | Analysis | Allocation | Interface
Verification: Overview

 AutoCAD 2 D
Title | Overview | Modeling | Commands
Analyzer: Title | Overview | Analysis | Allocation | Interface
Verification: Title | Overview

 Catia 3 D
Title | Overview | Modeling | Commands | Building a Tolerance Model

The ADCATS site: Home | ADCATS Info | Search | Site Map | Bulletin Board | Reports & Publications | Bibliography | Contact Us