Home | ADCATS Info | Search | Site Map | Bulletin Board | Reports & Publications | Bibliography | Contact Us
Publication # 97-4
Home : Publication's Index : #97-4

A Comprehensive System for Computer-Aided
Tolerance Analysis of 2-D and 3-D Mechanical Assemblies
Proceedings of the 5th International Seminar on Computer-Aided Tolerancing Toronto, Canada, April 27-29, 1997
Kenneth W. Chase and Spencer P. Magleby
Department of Mechanical Engineering
Brigham Young University, Provo, Utah
Charles G. Glancy
Raytheon / TI Systems, Inc.
Dallas, Texas

Table of Contents Remote | Post a comment concerning this paper.


Tolerance analysis of assemblies promotes concurrent engineering by bringing engineering requirements and manufacturing capabilities together in a common model. By further integrating the engineering modeling and analysis with a CAD system, a practical tool for product and process development is created. It provides a quantitative design tool for predicting the effects of manufacturing variation on performance and cost in a computer-based design environment.

A comprehensive method based on vector assembly models has been developeded for modeling and analyzing variations in 2-D and 3-D mechanical assemblies. The models are constructed of common engineering elements: vector chains, kinematic joints, assembly datums, dimensional and geometric feature tolerances, and assembly tolerance limits. The method is consistent with engineering design practice and is well suited for integration with commercial CAD systems.

Three sources of variation may readily be included in vector models: dimensional, geometric and kinematic. Dimensional variations account for small changes in size due to manufacturing processes. Geometric variations describe changes in shape, location and orientation of features. Kinematic variations describe the propagation of variation through an assembly by small adjustments between mating parts.

Design intent is expressed by assembly tolerance specifications, which may be added to the model and used in computing predicted quality levels. A basic set of assembly tolerances is described, patterned after ANSI Y14.5 geometric feature controls, for specifying design requirements for a wide variety of applications.

A complete computer-aided tolerancing system is described, which is tightly integrated with a commercial CAD system. Systematic modeling procedures and rules for creating vector assembly models are outlined. Vector assembly models are created graphically and analyzed for variation statistically in an interactive design environment. Examples of a 2-D and a 3-D assembly are presented with corresponding vector assembly models.


Manufactured parts are seldom used as single parts. They are used in assemblies of parts. The dimensional variations which occur in each component part of an assembly accumulate statistically and propagate kinematically, causing the overall assembly dimensions to vary according to the number of contributing sources of variation. The resultant critical clearances and fits which affect performance are thus subject to variation due to the stackup of the component variations.

Tolerances are added to engineering drawings to limit variation. Dimensional tolerances limit component size variations. Geometric tolerances, defined by ANSI Y14.5M-1994 [ASME 1994], are added to further limit the form, location or orientation of individual part features. Assembly tolerance specifications are added to limit the accumulation of variation in assemblies of parts to a level dictated by performance requirements.

Tolerance analysis is a quantitative tool for predicting variation accumulation in assemblies. As shown in Figure 1, tolerance analysis brings the production capabilities and performance requirements together in a well-understood engineering model. It provides a common meeting ground where design and manufacturing can interact and quantitatively evaluate the effects of their requirements. Thus, it promotes concurrent engineering and provides a tool for improving performance and reducing cost.

Fig. 1 Tolerance analysis affects performance and cost.


The objective of this paper is to describe a comprehensive system for assembly tolerance modeling and analysis that has been developed at Brigham Young University. The paper will focus on the modeling aspects of the system, with some discussion of analysis. Given this objective, there is no literature review in the paper. Readers are referred to the literature reviews contained in [Chase 95,96] and [Gao 95, 97].

Design engineers have grown accustomed to a high level of sophistication in the CAD and CAE applications they use for analysis and design. Windows-based, interactive systems, linked to the CAD database have become the rule. For a tolerance analysis tool to be accepted in the design/-manufacturing community, it must be a state-of-the-art CAD application. It must contain all the elements necessary to perform effective tolerance analysis and design. A comprehensive tolerance analysis system should provide built-in graphical tools for modeling, and statistical algorithms for analysis and design. The capabilities listed below form the outline for the balance of the paper

A comprehensive tolerance analysis system should:

  1. Account for all significant sources of variation.
  2. Provide a full spectrum of assembly mating conditions and models for setting design requirements.
  3. Provide a modeling approach that is simple and systematic, with a sufficient set of modeling rules to assure valid models.
  4. Be understandable by engineers, designers, and manufacturing personnel.
  5. Be compatible and consistent with current tolerancing practices.
  6. Assure ease of analysis through built-in evaluation tools and graphical output.
  7. Provide a graphical interface that is deeply integrated with CAD system interfaces, data and geometry.


There are three main sources of variation which must be accounted for in mechanical assemblies:

  1. Dimensional variations ( lengths and angles )
  2. Geometric form and feature variations ( flatness, roundness, angularity, etc. )
  3. Kinematic variations ( small adjustments between mating parts )

Dimensional and form variations are the result of variations in the manufacturing processes or raw materials used in production. Kinematic variations occur at assembly time, whenever small adjustments between mating parts are required to accommodate dimensional or form variations.

The two-component assembly shown in Figures 2 and 3 demonstrates the relationship between dimensional and form variations in an assembly and the small kinematic adjustments which occur at assembly time. The parts are assembled by inserting the cylinder into the groove until it makes contact on the two sides of the groove. For each set of parts, the distance U will adjust to accommodate the current value of dimensions A, R, and q. The assembly resultant U1 represents the nominal position of the cylinder, while U2 represents the position of the cylinder when the variations A, R, and q are present. This adjustability of the assembly describes a kinematic constraint, or a closure constraint on the assembly.

figure 2 figure 3
Fig. 2. Kinematic adjustment due to component variations Fig. 3. Adjustment due to geometric shape variations


It is important to distinguish between component and assembly dimensions in figure 2. Whereas A, R, and q are component dimensions, subject to random process variations, distance U is not a component dimension, it is a resultant assembly dimension. U is not a manufacturing process variable, it is a kinematic assembly variable. Variations in U can only be measured after the parts are assembled. U is a dependent variable. A, R, and q are the independent random variables in this assembly.

Figure 3 illustrates the same assembly with exaggerated geometric feature variations. For production parts, the contact surfaces are not really flat and the cylinder is not perfectly round. The pattern of surface waviness will differ from one part to the next. In this assembly, the cylinder makes contact on a peak of the lower contact surface, while the next assembly may make contact in a valley. Similarly, the lower surface is in contact with a lobe of the cylinder, while the next assembly may make contact between lobes.

Local surface variations such as these can propagate through an assembly and accumulate just as size variations do. Thus, in a complete assembly model all three sources of variation must be accounted for to assure realistic and accurate results.


Figure 4 shows a general 2-D vector loop. The vectors are chained tip-to-tail, representing the component dimensions which add to determine the resultant assembly dimensions. Chaining allows length variations to accumulate and propagate through the assembly. The choice of angles in the loops is significant. As shown in Fig. 4, the angles are defined as the relative angle between two adjacent vectors. The use of relative angles allows rotational variation to accumulate and propagate through the model as well.

Fig. 5 shows two vector loops representing an assembly. In a closed loop, one or more vector lengths or angles represent kinematic variables which adjust to maintain loop closure. An open loop is used to describe a critical assembly gap, orientation, etc. between adjacent parts. In Fig. 5, the open loop describes the gap between the reel and pad, the closed loop locates the arm as it slides in or out to accommodate dimensional variation. As is often the case, the open loop depends on elements of the closed loop for its solution, so the loops are coupled.

figure 4

figure 5

Fig. 4:General 2-D vector loop, showing relative angles between adjacent vectors. Fig. 5: Vector assembly model showing an open and a closed loop representing a locking hub assembly.


The vectors in a vector loop are not simply pin jointed together. To accurately represent solid bodies, the vectors must be fixed to the parts they represent. Thus, the relative angle between two vectors may represent a machined angle between two surfaces on the same part, in which case the nominal angle and tolerance would be specified. Alternately, if two adjacent vectors are fixed to two mating parts, their angles or lengths may vary kinematically, describing the degrees of freedom between the parts, in which case only the nominal lengths and angles of the kinematic variables would be known. Their variations could only be determined by an assembly tolerance analysis.


The kinematic degrees of freedom which describe the small adjustments between mating parts may be added to a vector assembly model by inserting kinematic joints into the vector loops. Fig.6 shows 12 common kinematic joints used to represent mating surfaces in assemblies. The arrows and numbers indicate the degrees of freedom in each case.


figure 6
Fig. 6 3-D kinematic joints representing mating surfaces and degrees of freedom in assemblies.

Vector models have been widely used to represent the rigid body kinematics of mechanisms. They may also be used to model static assemblies. The major differences between a kinematic model of a mechanism and a kinematic model of a static assembly are the inputs and outputs. For mechanism analysis, the inputs are large motions of one or more of the members; the outputs are the rigid body displacements, velocities, etc. of the members. For static assemblies, the inputs are small variations in the dimensions or form of the members; the outputs are the small rigid body displacements and geometric variations that occur due to production variations. For a mechanism model, the solution describes the motion of a single mechanism with time. For a static assembly, a statistical solution gives the variation of all assemblies compared to the nominal assembly.


The third source of variation to be included in a vector assembly model is due to geometric variations of form, orientation and location. Such variations can only introduce variation into an assembly where two parts make mating contact. The manner in which geometric variation propagates across mating surfaces depends on the nature of the contact.

Fig. 7 illustrates this concept. Consider a cylinder on a plane, both of which are subject to surface waviness, represented by a tolerance zone. As the two parts are brought together to be assembled, the cylinder could be on the top of a hill or down in a valley of a surface wave. Thus, for this case, the center of the cylinder will exhibit translational variation from assembly-to-assembly in a direction normal to the surface. Similarly, the cylinder could be lobed, as shown in the figure, resulting in an additional vertical translation, depending on whether the part rests on a lobe or in between.

In contrast to the cylinder/plane joint, the block on a plane shown in Fig. 7 exhibits rotational variation. In the extreme case, one corner of the block could rest on a waviness peak, while the opposite corner could be at the bottom of the valley. The magnitude of rotation would vary from assembly-to-assembly. Waviness on the surface of the block would have a similar effect.


figure 7
Fig. 7. Propagation of 2-D translational and rotational variation due to surface waviness.

In general, for two mating surfaces, we would have two independent surface variations which introduce variation into the assembly. How it propagates depends on the nature of the contact, that is, the type of kinematic joint. Fig. 8 shows two 3-D joints subject to surface variation. The arrows marked by an F indicate the direction of form variation propagation. The arrows marked with a K indicate the kinematic degrees of freedom in the joint. Note that the two types of variation are mutually exclusive. Geometric form variations can only propagate along the constrained axes of the joint. Kinematic adjustments prevent its propagation along the kinematic axes. Also note that surface variation can propagate both translational and rotational assembly variation along several axes simultaneously.

Figure 8
Fig. 8. Simultaneous propagation of translational and rotational variation due to surface waviness in 3-D.

As an estimate of the magnitude of assembly variation produced by surface variation, we can use the geometric tolerance zone specified as design limits and the length of contact between the mating parts, as defined below. For translational variation, the extreme magnitude da is assumed to be equal to half the tolerance zone. For rotational variation, the extreme angle db is formed by the contact length extended over the peak-to-valley height.<\P>

 Translational Variation Rotational Variation

Equation 1

Equation 2

Since the extreme value is probably a rare occurrence, setting the tolerance zone equal to the ±3s limits of a normal distribution will make an extreme less likely to occur in the assembly model. A catalog of models for geometric variations has been defined for each of the 12 joints shown in Fig. 6, corresponding to each of the ANSI Y14.5 geometric tolerance specifications [Chase 97].

The models for geometric variation are only approximations to permit the effects to be included in tolerance analysis. More study is needed to develop improved models. In particular, the propagation of surface variation in assemblies needs to be characterized and verified. The interaction of geometric variations with size variations and the consequences of the envelope rule are other issues which need to be resolved.


An engineering design must perform properly in spite of dimensional variation. To achieve this, engineering design requirements must be expressed as assembly tolerance limits. The designer must assign limits to the gaps, clearances and overall dimensions of an assembly which are critical to performance. Assembly tolerance limits are applied to the statistical distribution of the assembly variations predicted by tolerance analysis to estimate the number of assemblies which will be within the specifications.

Designers need to control more than just gaps and clearances in assemblies. Orientation and position of features may also be important to performance. To be a comprehensive design tool, a tolerance analysis system must provide a set of assembly tolerance specifications which covers a wide range of common design requirements.

A system of assembly tolerance specifications patterned after ANSI Y14.5 has been proposed [Carr 93]. Those ANSI Y14.5 feature controls which require a datum appear to be useful as assembly controls. However, there is a distinct difference between component tolerance and assembly tolerance specifications, as seen in Fig. 9. In the component tolerance specification shown, the parallelism tolerance zone is defined as parallel to datum A, a reference surface on the same part. By contrast, the assembly parallelism tolerance defines a tolerance zone on one part in the assembly which is parallel to a datum on another part. In order to distinguish an assembly tolerance specification from a component specification, new symbols have been proposed. The feature control block and the assembly datum have been enclosed in double boxes.

figure 9
Fig. 9 Comparison of component and assembly tolerance specifications.


The ability to model a system is a fundamental skill for effective engineering design or manufacturing systems analysis. Unfortunately, few engineers know how to construct variational models of assemblies beyond a 1-D stack. This is primarily because the methods have not been established. There is little treatment of assembly modeling for tolerance analysis in engineering schools or texts. Until engineers learn how to model, tolerance analysis will never become widely used as have other CAD/CAE tools.

A consistent set of modeling procedures, with some guiding rules for creating vector assembly models, allows for a systematic approach which can be applied to virtually any assembly.

The steps in creating a model are:

  1. Identify the assembly features critical to the assembly. Locate and orient each feature and specify the assembly tolerances.
  2. Locate a datum reference frame (DRF) for each part. All model features will be located relative to the DRFs.
  3. Place kinematic joints at the points of contact between each pair of mating parts. Define the joint type and orient the joint axes. These are the assembly constraints.
  4. Create vector paths from the DRF on each part to each joint on the part. The paths, called datum paths, must follow feature dimensions until arriving at the joint. Thus, each joint may be located relative to the DRF by controlled engineering dimensions.
  5. Define the closed vector loops which hold the assembly together. The datum paths defined in Step 2 become segments of the vector loop. A vector loop must enter a part through a joint and leave through another joint, passing through the DRF along the way. Thus, the vector path across a part follows the datum path from the incoming joint to the DRF and follows another datum path from the DRF to the outgoing joint.
  6. Define open vector loops to describe each assembly tolerance specification. For example, for an assembly gap, the loop would start on one side of the gap, pass through the assembly, and end at the other side of the gap.
  7. Add geometric variations at each joint. Define the width of the tolerance zone and length of contact between the mating parts as required. The nature of the variation and direction is determined by the joint type and joint axes. Other variations, such as position, may be added at other feature locations.

Modeling rules are needed to ensure the creation of valid loops, a sufficient number of loops, correct datum paths, etc. For example, an important set of rules defines the path a vector loop must take to cross a joint. Each joint introduces kinematic variables into the assembly which must be included in the vector model. Fig. 10 shows the vector path across a 2-D cylinder-slider joint. The rule states that the loop must enter and exit the joint through the local joint datums, in this case, the center of the cylinder and a reference datum on the sliding plane. This assures that the two kinematic variables introduced by this joint are included in the loop, namely, the vector U in the sliding plane and the relative angle f at the center of the cylinder, both of which locate the variable point of contact in their corresponding mating parts. Fig. 11 shows a similar vector path through a 3-D crossed cylinders joint. A more complete set of modeling rules is described in [Chase 94].

Fig. 10: 2-D vector path through a joint

Fig. 11 3-D vector path through a joint


The process of creating an assembly tolerance model for analysis is illustrated in the figures below for a seatbelt retraction mechanism. The device is an inertial locking mechanism for the take-up reel. One of the critical assembly features is the gap between the tip of the locking pawl and the gear, as shown in Fig. 12. The assembly is of reasonable complexity, with about 20 dimensional variations and several geometric variations as contributing sources. The contribution by each variation source depends on the sensitivity of the gap to each component variation.

Fig. 13 shows the DRFs for each part and local feature datums which define model dimensions.

Fig. 12 Example 2-D assembly Fig. 13 Part DRFs and feature datums.


In Figure 14, the kinematic joints defining the mating conditions are located and oriented. Clearance in the rotating joints was modeled by two methods. In the first case, the shafts were modeled as revolute joints, centered in the clearance, with clearance variation added as an equivalent concentricity. In the second case, the CAD model was modified so each shaft was in contact with the edge of the hole, modeled by parallel cylinder joints, and variation was determined about this extreme position. After the joints have been located, the assembly loops can then be generated, as shown in Fig. 15. To simplify the figure, some of the vectors are not shown.

Fig. 14 Kinematic joints define mating conditions. Fig. 15 Vector loops describe assembly.

Models for geometric variation may then be inserted into the vector assembly model, as shown in Fig. 16. The completed CATS model, in Fig. 17, is ready for assembly tolerance analysis.

Fig. 16 Geometric variation sources are added. Fig. 17 The completed CATS model.

Figure 18 show a 3-D CATS model overlaid on a swashplate cam and follower mechanism.

Fig. 18 3-D CATS model.


The analysis approach used within the CATS system is based on linearization of the assembly equations and solution for the variations by matrix algebra. A detailed description with examples may be found in [Chase 95, 96] and [Gao 97]. The linearized method provides an accurate and real-time analysis capability that is compatible with engineering design approaches and tools.

Vector assembly models can be used with any analysis system. Gao used the CATS Modeler as a graphical front end for a Monte Carlo simulator [Gao 93]. An iterative solution was used to close the vector loops for each simulated assembly. Histograms for each assembly feature being analyzed were generated from the computed assembly dimensions. A comparison of the linearized approach with Monte Carlo analysis is presented in [Gao 95].


Fig. 19 shows the structure of the Computer-Aided Tolerancing System integrated with a commercial 3-D CAD system. The CATS® Modeler creates an engineering model of an assembly as a graphical and symbolic overlay, linked associatively to the CAD model. Pop-up menus present lists of joints, datums, g-tols and design specs to add to the CAD model. The model is created completely within the graphical interface of the CAD system. There are no equations to type in to define mating conditions or other assembly relationships. CATS is tightly integrated with each CAD system, so it becomes an extension of the designer's own CAD system. Current CAD implementations include:


Fig. 19 The CATS System Architecture

The CATS Analyzer accesses the assembly tolerance model that was created and stored in the CAD system. The Analyzer has built-in statistical algorithms to predict variation in critical assembly features due to process variation. It features built-in algorithms for tolerance synthesis, which re-size selected tolerances to meet target assembly quality levels. Matrix analysis gives instant feedback for any design iteration or "what-if" study.

The user interface is standard XWindows Motif, with multiple windows, scroll bars, pop-up menus, dialog boxes, option buttons, data fields and slide bars for data entry, etc. The designer is in complete control of the tolerance analysis/design process. Graphical plots give visual feedback in the form of statistical distributions, ranked sensitivity and percent contribution plots. Engineering limits are shown on the distribution, with corresponding parts-per-million reject values displayed.

The current status of the CATS Modeler and Analyzer, with respect to ease of use by an interactive graphical user interface and internal automation are summarized in Table 1 and Table 2.

Table 1. Current status of assembly modeling CAD implementation

Modeling Task

Graphical Interface

Automation Level

1. Specify datums

All graphical
2. Specify assembly specs

All graphical
3. Select and locate assembly joints

All graphical
4. Define datum paths

All graphical
5. Define closed vector loops

Auto loop generation
6. Define open vector loops

Auto loop generation
7. Specify geometric variations

Auto type and direction

Table 2. Current status of tolerance analysis CAD implementation

Analysis Task

Graphical Interface

Automation Level

1. Generate assembly equations and sensitivities.   Automatic
2. Set up matrices and solve   Automatic
3. Calculate assembly variation and percent rejects

4. Calculate and plot sensitivities and percent contribution

5. Plot assembly distribution, limits

6. Perform tolerance synthesis

Built-in algorithms
7. Perform design iteration

Interactive graphical interface


As stated at the beginning, a comprehensive system for tolerance analysis and design should include several capabilities and characteristics. The CATS system described above is a long way toward fulfilling all the major requirements listed. The Modeler includes the three sources of variation most significant in assemblies; a full spectrum of assembly modeling elements; and an easy, systematic modeling procedure, with established rules. The system is understandable by virtue of the use of elements common to engineering and manufacturing and the similarity to current tolerancing practices.

The Analyzer includes built-in evaluation tools for tolerance analysis and synthesis, graphical output, and an efficient solver which make it suitable for design synthesis and design revision. CAD integration has resulted in a completely graphical CAD-based application for creating vector assembly models and evaluating assembly variation in manufactured products.

All the pieces appear to be in place for a fully functional CAD-based tolerance analysis and design tool, although future refinements and enhancements are sure to be added. The efforts to make the system understandable and easy to use, as well as integrating it with the designer's own CAD system, will help to win acceptance and use in the engineering/manufacturing community.



[ASME 94] American Society of Mechanical Engineers, Dimensioning and Tolerancing, ANSI Standard Y14.5M- 1994.

[Carr 93] Carr, Charles D., "A Comprehensive Method for Specifying Tolerance Requirements for Assemblies", Brigham Young University, (M.S. Thesis) April 1993. [Chase 94] Chase, K. W. and Angela Trego, AutoCATS Computer-Aided Tolerancing System - Modeler User Guide Sept. 1994.

[Chase 95] Chase, K. W., J. Gao and S. P. Magleby "General 2-D Tolerance Analysis of Mechanical Assemblies with Small Kinematic Adjustments", J. of Design and Manufacturing, v 5 n 4, 1995.

[Chase 96] Chase, K. W., J. Gao, S. P. Magleby and C. D. Sorenson, "Including Geometric Feature Variations in Tolerance Analysis of Mechanical Assemblies", IIE Transactions, v 28, pp. 795-807, 1996.

[Chase 97] Chase, K. W., J. Gao and S. P. Magleby, "Tolerance Analysis of 2-D and 3-D Mechanical Assemblies with Small Kinematic Adjustments", Advanced Tolerancing Techniques, John Wiley, (to be published in 1997).

[Gao 93] Gao, J., "Nonlinear Tolerance Analysis of Mechanical Assemblies", Brigham Young University, (PhD Dissertation) 1993.

[Gao 95] Gao, J., Chase, K. W., and S. P. Magleby, "Comparison of Assembly Tolerance Analysis by the Direct Linearization and Modified Monte Carlo Simulation Methods," Proc. of the ASME Design Engineering Technical Conferences, Boston, MA, 1995, pp. 353-360.

[Gao 97] Gao, J., K. W. Chase and S. P. Magleby "General 3-D Tolerance Analysis of Mechanical Assemblies with Small Kinematic Adjustments", Accepted for publication in IIE Transactions in 1997.

Author Biography

Kenneth W. Chase

Prof. Chase has taught mechanical engineering at the Brigham Young University since 1968, where he teaches machine design, design for manufacture and structural analysis. An advocate of computer technology, he has served as a consultant to industry on numerous projects involving engineering software applications. He is currently developing computer-aided tolerancing software sponsored by a consortium of 12 companies.

Spencer P. Magleby

Dr. Spencer P. Magleby is an Associate Professor in the Mechanical Engineering Department at Brigham Young University. He came to BYU in 1989 after working at General Dynamics in the development of CAD/CAM tools for advanced aircraft design and manufacture, concurrent engineering methods, and interdisciplinary design teams. Dr. Magleby received his PhD from the University of Wisconsin where his research was centered on feature-based design. He has been involved with many aspects of CAD and computer graphics including database standards, programming interfaces, CAD system architecture, and use of CAD in design environments. Dr. Magleby teaches in the design and product development areas.

Charles G. Glancy

Charles Glancy is an engineer with Raytheon/TI Systems in Dallas, TX, working in their Concurrent Engineering Products Division. He is one of the original developers of the TI/TOL 3-D+ software for computer-aided tolerance analysis. He is currently responsible for software support and training. He is a graduate of Brigham young University, where he obtained a BS and MS in Mechanical Engineering in 1994. Charles worked as a research assistant and graduate student for Dr. Chase. He made many significant contributions to tolerance analysis research and practice while at BYU.

Table of Contents

Author Biography

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

original report by Charles G. Glancy, Spencer P. Magleby, & Kenneth W. Chase