PROE
2D: Verification CHAPTER 1: INTRODUCTION 

The purpose of this manual is to provide the users of TI TOL 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 TI TOL and the solutions have been verified by means of a spreadsheet. The following information is included for each sample problem:
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
TI TOL 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 2D vector loop can be resolved into three scalar equations:
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 TI TOL in matrix form.
Closed Loops
The basic closed loop assembly equation is:
(1)
where:
= 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 concentricity).
= The tolerance vector for the geometric variations.
, and are called constraint sensitivity matrices. Everything except is known.
Solving for gives:
(2a)
(2b)
where and are the tolerance sensitivity matrices.
Open Loops
(3)
where:
has the same meaning as in closed loops, only it is nonzero.
, 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:
(4)
1.3 Tolerance Accumulation
The dependent assembly tolerances can be estimated using four different analysis models:
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.
(5)
where:
= 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. It does not take into account mean shifts in the assembly caused by tool wear and other factors.
(6)
where:
= A specified number of standard deviations in the assembly tolerance (for example, = 3 corresponds to a .9973 acceptance fraction).
= The individual component process capability index (default = 1, corresponding to ± 3 tolerances)
UTL and LTL are the specified upper and lower tolerance limits
SixSigma Assembly Drift
The SixSigma Assembly Drift model is identical to the RSS model when used to calculate kinematic and open loop variations. However, when used to estimate the reject fraction for a specified assembly variable, it assumes there will be a assembly variable mean shift equivalent to 1.5 standard deviations. In other words, the method used to calculate the assembly variation is identical to the RSS method
(7)
but when estimating the Zscores for the assembly variable, the following method is used:
(8)
(9)
USL and LSL are the upper and lower specification limits.
= assembly variable standard deviation =
SixSigma Component Drift
The SixSigma Component Drift model is similar to the SSA model. However, it accounts for shifts in the mean by increasing the standard deviations of the individual component variations. This is accomplished by replacing Cp with Cpk in the RSS model.
(10)
where:
= The fraction of the tolerance that the mean will shift due to tool wear and other dynamic causes. can be different 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
TI TOL 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.
(11)
TI TOL orders the sensitivities in a bar chart according to their absolute values.
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:
(12)
where:
= The independent (manufactured) component dimension tolerance.
= The tolerance sensitivities.
For Root Sum Squares and SixSigma Assembly Drift:
(13)
For SixSigma Component Drift:
(14)
1.5 Weight Factor Tolerance Allocation
TI TOL is able to reallocate component tolerances in order to meet the assembly variable specification limits. Weight Factor Tolerance Allocation adjusts dimension tolerances proportional to the userassigned 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. Tolerance allocation is available for all four analysis models.
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, SSA, and SSC 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 Zscore, a target reject fraction is calculated. For example, a Zscore of ± 3 will yield a reject fraction of .9973. The TI TOL 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 Degrees of Freedom
Each modeling element in TI TOL 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 nonexistant 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. If the DRF is not on the sliding plane, this is accomplished by defining a path which passes through a feature datum that lies on the sliding plane. If TI TOL cannot find a vector in the sliding plane orientation, it will automatically turn off the translational degree of freedom.
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. If there is no vector on the path back to the DRFs that lies in the sliding plane, TI TOL automatically turns its translation off.
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, and if no vector on the paths back to the DRFs lie in that plane, its translational degree of freedom is automatically turned off. 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 nonexistant 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's or the cylindrical datum's degree of freedom must be turned off.
1.7 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 Slider 
Cylinder Slider 
Parallel Cylinders 
Revolute  
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  
Angularity  R  R  Tn  Tn  
Parallelism  R  R  Tn  Tn  
Profile  R  R  Tn  Tn  Tn  
Runout  Tn, R  Tn, R  Tn  Tn  Tn  
Concentricity  Tx, Ty  Tn, R  Tn  Tx, Ty  
True Position  Tx, Ty  Tx, Ty  Tx, Ty 
R = Rotational degree of freedom
Tn = Translation normal to the contact surface
Tx = Independent translation in the Xdirection
Ty = Independent translation in the Ydirection
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 = tan^{1}(bandwidth / characteristic length)
where d is the equivalent angular variation caused by the geometric tolerance.
1.8 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 reworking and fixing models.
1. Determine the critical assembly variable(s). This will require the person creating the model to choose an appropriate 2D 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 (nondimensioned) 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 "fixed point" first and the "moving 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, rearrange 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 nonexistent 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 oversized, the other is oversized). 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 order to have 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.
9. If desired, rename the part DRFs, joints, and/or vectors in the model.
At this point, the assembly datum planes and points required to build the model should be well defined. In addition, the general shape of the loops that need to be created, as well as any modifications the loops require (such as equivalencing vectors) will be apparent.
Modeler: Title  Overview  Modeling  Commands Analyzer: Title  Overview  Analysis  Allocation  Interface Verification: Overview 
Modeler: Title  Overview  Modeling  Commands Analyzer: Title  Overview  Analysis  Allocation  Interface Verification: Title  Overview 
Modeler: Title  Overview  Modeling  Commands  Building a Tolerance Model 
The ADCATS site: Home  ADCATS Info  Search  Site Map  Bulletin Board  Reports & Publications  Bibliography  Contact Us 