0% found this document useful (0 votes)
160 views31 pages

Tolerance Analysis of 2-D and 3-D Assemblies

The document describes a new method called the Direct Linearization Method (DLM) for tolerance analysis of 2D and 3D mechanical assemblies. The DLM applies matrix algebra and root sum squares error analysis to vector loop based models to estimate tolerance stackup from dimensional, geometric, and kinematic variations in assemblies. It has advantages over traditional methods as it is not computationally intensive, does not require manual equation entry, and can automatically derive tolerance sensitivities and stackup expressions from a CAD model.

Uploaded by

Sehzad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
160 views31 pages

Tolerance Analysis of 2-D and 3-D Assemblies

The document describes a new method called the Direct Linearization Method (DLM) for tolerance analysis of 2D and 3D mechanical assemblies. The DLM applies matrix algebra and root sum squares error analysis to vector loop based models to estimate tolerance stackup from dimensional, geometric, and kinematic variations in assemblies. It has advantages over traditional methods as it is not computationally intensive, does not require manual equation entry, and can automatically derive tolerance sensitivities and stackup expressions from a CAD model.

Uploaded by

Sehzad
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 31

Tolerance Analysis of 2-D and 3-D Assemblies

ADCATS Report No. 99-4

Kenneth W. Chase
Department of Mechanical Engineering
Brigham Young University

1999

ABSTRACT
Tolerance analysis of assemblies promotes concurrent engineering by bringing engineering
requirements and manufacturing capabilities together in a common model. It provides a
quantitative design tool for predicting the effects of manufacturing variation on performance and
cost in a computer-based design environment.

A new method, called the Direct Linearization Method (DLM), is presented for tolerance
analysis of 2�D and 3-D mechanical assemblies. The models are constructed of common
engineering elements: vector chains, kinematic joints, assembly datums, dimensional tolerances,
geometric feature tolerances and assembly tolerance limits. The method is well suited for
integration with commercial CAD systems.

The DLM applies matrix algebra and root sum squares error analysis to vector loop based
models to estimate tolerance stackup in assemblies. Three sources of variation may readily be
included in the 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.

The DLM has significant advantages over traditional tolerance analysis methods. It is not
computationally intensive, so it is ideally suited for iterative design. Tolerance allocation
algorithms may also be applied without repeating the analysis. Manual entry of equations is not
needed. A systematic procedure for deriving the assembly equations directly from the CAD
model eliminates this task for designers. Tolerance sensitivities and tolerance stackup
expressions may also be derived automatically. Furthermore, the DLM does not require the
functions describing the assembly variations to be explicit. Matrix methods make the algebraic
manipulation of implicit equations unnecessary.

A general formulation is derived, with numerical examples and case studies to illustrate the
integration of the DLM method with CAD systems and the design process.
Tolerance Analysis of 2­D and 3­D Assemblies
(Automated Method)
Kenneth W. Chase
Mechanical Engineering Department
Brigham Young University
Provo, Utah

1.1  Introduction

The   preceding   chapter   described   a   systematic   procedure   for   modeling   and   analyzing
manufacturing variation in 2­D assemblies.  The key features of this system are:

1. A critical assembly dimension is represented by vector loops, which are described by a set
of nonlinear algebraic equations.  

2. The equations are manipulated algebraically until an explicit expression is derived for the
critical assembly feature in terms of the contributing component dimensions.

3.   The   resulting   expression   is   used   to   calculate   tolerance   sensitivities,   either   by   partial


differentiation or numerical methods.

In the following sections, an alternative procedure is presented, which is also based on vector
loop assembly models, but with the following distinct differences:

1. A set of rules is provided to assure a valid set of vector loops is obtained.   The loops
include  only those controlled  dimensions  which contribute  to assembly variation.    All
dimensions are datum referenced.  

2.   A   set   of   modeling   elements   will   be   introduced   to   assist   in   identifying   the   adjustable


dimensions within the assembly that change to accommodate dimensional variations.

3. In addition to describing variation in assembly gaps, a comprehensive set of assembly
tolerance   requirements   is   introduced,   which   are   useful   to   designers   as   performance
requirements.

4.   Algebraic   manipulation   to   derive   an   explicit   expression   for   the   assembly   feature   is


eliminated.   The new system operates equally well on implicit assembly equations. The
loop   equations   are   solved   the   same   way   every   time.     It   is   well   suited   for   computer
automation.

5.   Differentiation   of   a   complicated   assembly   expression   is   replaced   by   a   single   matrix


operation, which determines all necessary tolerance sensitivities simultaneously.
2

6. Other sources of variation may be included in a vector assembly model, such as position
tolerance, parallelism error or profile variations.  

1.2  Three Sources of Variation in Assemblies
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 ( position, 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 1 and 2 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 .  The assembly resultant U represents
the nominal position of the cylinder, while U+ U represents the position of the cylinder when
the   variations   ∆A,   ∆R,   and   ∆  are   present.     This   adjustability   of   the   assembly   describes   a
kinematic constraint, or a closure constraint on the assembly.  
A + A

 
R +R R
R A

A

U
U +U U

Figure   1.     Kinematic   adjustment   due   to Figure 2.  Adjustment due to geometric


component dimension variations shape variations

It is important to distinguish between component and assembly dimensions in figure 2.  Whereas
A, R, and  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.     A,   R,   and    are   the   independent   random   sources   of   variation   in   this
assembly.  They are the inputs.  U is a dependent assembly variable.  It is the output.

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
3

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.

1.3  Example 2D Assembly – Stacked Blocks
The following assembly will illustrate the tolerance modeling process.  It consists of three parts:
a Block, resting on a Frame, is used to position a Cylinder, as shown.  There are four different
mating surface conditions which must be modeled.    The gap G, between the top of the Cylinder
and the Frame, is the critical assembly feature we wish to control.  Dimensions a through f, r, R
and are dimensions of component features which contribute to assembly variation.  Tolerances
are estimates of the manufacturing process variations.  Dimension g is a utility dimension used in
locating gap G.  

g      
Dim  Nominal  Tolerance 
R G a  10.00 mm  ±0.3 mm 
Cylinder b  30.00  ±0.3 
r
c  31.90  ±0.3 
Block d  15.00  ±0.3 
e
e  55.00  ±0.3 
f f  75.00  ±0.5 

c g  10.00  ±0 
r  10.00  ±0.1 
c Frame R  40.00  ±0.3 
  17.0 deg  ±1.0 deg 
   
a
b
Figure 3.  Stacked blocks assembly

1.4  Steps in Creating an Assembly Tolerance Model

Step 1 ­ Create an Assembly Graph
An   assembly   graph   is   a   simplified   diagram   representing   an   assembly.     All   geometry   and
dimensions are removed. Only the mating conditions between the parts are shown.  Each part is
shown as a balloon.   The contacts or joints between mating parts are shown as arcs or edges
joining the corresponding parts.  Fig. 4 shows the assembly graph for the sample problem.  

The assembly graph lets you see the relationship between the parts in the assembly.   It also
reveals by inspection how many loops (dimension chains) will be required to build the tolerance
model.  Loops 1 and 2 are closed loop assembly constraints, which locate the Block and Cylinder
4

relative to the Frame.  Loop 3 is an open loop describing the assembly performance requirement.
A systematic procedure for defining the loops is illustrated in the steps which follow.

Cylinder

Loop 2
Gap Loop 3

Frame Block
Loop 1

Figure 4.  Assembly graph of the stacked blocks assembly

Symbols  have   been  added   to  each   edge  identifying  the   type  of  contact   between  the   mating
surfaces.   Between the Block and Frame there are two contacts: plane­to­plane and edge­to­
plane.     These   are   called   Planar   and   Edge   Slider   joints,   respectively,   after   their   kinematic
counterparts.  

Only six kinematic joint types are required to describe the mating part contacts occurring in most
2D assemblies, as shown in Fig. 5.  Arrows indicate the degrees of freedom for each joint, which
permit   relative   motion   between   the   mating   surfaces.     Also   shown   are   two   datum   systems
described in the next section.

Planar Cylinder Edge Revolute


Slider Slider

Parallel Rigid Rectangular Center


Cylinders Datum Datum

Figure 5. 2-D kinematic joint and datum types

Step 2 ­ Locate the datum reference frame for each part

Creating   the   tolerance   model   begins   with   an   assembly   drawing,   preferably   drawn   to   scale.
Elements of the tolerance model are added to the assembly drawing as an overlay.   The first
elements added are a set of local coordinate systems, called Datum Reference Frames, or DRF.
Each part must have its own DRF.  The DRF is used to locate features on a part.  You probably
5

will choose the datum planes used to define the parts.   But, feel free to experiment.   As you


perform the tolerance analysis, you may find a different dimensioning scheme that reduces the
number   of   variation   sources   or   is   less   sensitive   to   variation.     Identifying   such   effects   and
recommending appropriate design changes is one of the goals of tolerance analysis.

In Fig. 6, The Frame and Block both have rectangular DRFs located at their lower left corners,
with axes oriented along orthogonal surfaces.  The Cylinder has a cylindrical DRF system at its
center.  A second center datum has been used to locate the center of the large arc on the Block.
This is called a feature datum and it is used to locate a single feature on a part.  It represents a
virtual point on the Block and must be located relative to the Block DRF.

Also shown in Fig. 6, are the assembly variables occurring within this assembly.  U 1, U2, and U3
are adjustable dimensions determined by the sliding contacts between the parts.   1, 2 and 3
define the adjustable rotations which occur in response to dimensional variations.  Each of the
adjustable  dimensions  is   associated  with  a  kinematic  joint.    Dimension   G  is  the  gap  whose
variation must be controlled by setting appropriate tolerances on the component dimensions.

G
2
Cylinder
DRF 1
Block


U 1 3
U 2 U 3 Frame

DRF

Figure 6.  Part datums and assembly variables

Step 3 ­ Locate kinematic joints and create datum paths.

In Fig. 7, the four kinematic joints in the assembly are located at points of contact and oriented
such that the joint axes align with the adjustable assembly dimensions (called the joint degrees
of freedom).  This is done by inspection of the contact surfaces.  There are simple modeling rules
for each joint type.  Joint 1 is an edge slider.  It represents an edge contacting a planar surface.  It
has two degrees of freedom: it can slide along the contact plane (U 2) and rotate relative to the
contact point (3).  Of course, it is constrained not to slide or rotate by contact with mating parts,
but a change in dimensions a, b, c, d or will cause U2 and 3 to adjust accordingly. 

Joint 2 is a planar joint describing sliding contact between two planes.  U 3 locates a reference
point on the contacting surface relative to the Block DRF.  U 3 is constrained by the corner of the
Block resting against the vertical wall of the Frame.  
6

In Fig. 8, Joint 3 locates the contact point between the Cylinder and the Frame.  A cylinder slider
has two degrees of freedom: U1 is in the sliding plane and 1 is measured at the center datum of
the Cylinder.  Joint 4 represents contact between two parallel cylinders.  The point of contact on
the Cylinder is located by  1; on the Block, by  2.   Joints 3 and 4 are similarly constrained.
However, changes in component dimensions cause adjustments in the points of contact from one
assembly to the next. 

R 2
Cylinder
DRF
Block
Joint 1 e


3
Joint 2
U DRF U 3
2 c Frame
a

DRF b

Figure 7.  Datum paths for Joints 1 and 2

R
G
2
r Cylinder 1
Joint 3
DRF r
e Block
Joint 4

U 1 DRF
Frame
a

DRF

Figure 8.  Datum paths for Joints 3 and 4

The vectors overlaid on Figs. 7 and 8 are called the  datum paths.  A datum path is a chain of
dimensions which locates the point of contact at a joint with respect to a part DRF.  For example,
Joint 2 in Fig. 7 joins the Block to the Frame.  The point of contact must be defined from both
the Frame and Block DRFs.   There are two vector paths which leave Joint 2.   U 3  lies on the
sliding plane and points to the Block DRF.  Vectors c and b point to the Frame DRF.  The two
7

datum paths for Joint 1 are: vectors U2 and a leading to the Frame DRF, and arc radius R and
vector e, leading to the Block DRF.   In Fig. 8, Joint 3 is located by radius r pointing to the
Cylinder DRF, and U1 and a defining the path to the Frame DRF.  The contact point for Joint 4 is
located by a second radius r pointing to the Cylinder DRF and arc radius R and e leading to the
Block DRF.  

Modeling rules define the path a vector loop must follow to cross a joint.   Fig. 9 shows the
correct vector paths for crossing four 2­D joints.  The rule states that the loop must enter and exit
a joint through the local joint datums.  For the Planar and Edge Slider joints, a vector U (either
incoming or outgoing) must lie in the sliding plane.  Local Datum 2 represents a reference point
on the sliding plane, from which the contact point is located.  For the Cylindrical Slider joint, the
incoming  vector passes through center datum of the cylinder, follows a radius vector to the
contact point and leaves through a vector in the sliding plane.   The path through the parallel
cylinder joint passes from the center datum of one cylinder to the center datum of the other,
passing through the contact point and two colinear radii in between.

As we created the two datum paths from each joint, we were in fact creating the incoming and
outgoing vectors for each joint.  Although they were both drawn as outgoing vector paths, when
we combine them to form the vector loops, one of the datum paths will be reversed in direction
to correspond to the vector loop direction.  

Each joint introduces kinematic variables into the assembly which must be included in the vector
model.  The rules assure that the kinematic variables introduced by each joint are included in the
loop, namely, the vector U in each sliding plane, the relative angle .  

Each   datum   path   must   follow   controlled   engineering   dimensions   or   adjustable   assembly
dimensions.   This is a critical task, as it determines which dimensions will be included in the
tolerance analysis.  All joint degrees of freedom must also be included in the datum paths.  They
are the unknown variations in the assembly tolerance analysis.  

from from
Datum 1 Datum 1

U U
Datum 2 Datum 2

Edge Slider Planar

Datum 1
R 1
Datum 1
R R
 1 2

U
Datum 2
Datum 2

Cylindrical Slider Parallel Cylinders

Figure 9.  2­D vector path through the joint contact point 
8
9

Step 4 ­ Create vector loops

Vector loops define the assembly constraints that locate the parts of the assembly relative to each
other.  The vectors represent the dimensions that contribute to tolerance stackup in the assembly.
The vectors are joined tip­to­tail, forming a chain, passing through each part in the assembly in
succession.  

A vector loop must obey certain modeling rules as it passes through a part.  It must: 
i) enter through a joint, 
ii) follow the datum path to the DRF, 
iii) follow a second datum path leading to another joint, and 
iv) exit to the next adjacent part in the assembly.
This is illustrated schematically in Fig. 10.   Thus, vector loops are created by simply linking
together the datum paths.  By so doing, all the dimensions will be datum referenced.

DRF
Part
c
b d Outgoing
Incoming a Joint
Joint Datum Paths

Figure 10.  2­D vector path across a part 

Additional modeling rules for vector loops include:
i) Loops must pass through every part and every joint in the assembly.
ii) A single vector loop may not pass through the same part or the same joint twice,
but it may start and end in the same part.
iii) If a vector loop includes the exact same dimension twice, in opposite directions,
the dimension is redundant and must be omitted.
iv) There  must be enough loops to solve for all of the  kinematic  variables  (joint
degrees of freedom).  You will need one loop for each three variables.

Two closed loops are required for the example assembly, as we saw in the assembly graph of
Fig. 4.  The resulting loops are shown in Figs. 11 and 12.  Notice how similar the loops are to the
datum paths of Figs. 7 and 8.   Also, notice that some of the vectors in the datum paths were
reversed to keep all the vectors in each loop going the same direction.
10

R 2
Cylinder
DRF
Block
Joint 1 e

3 
Joint 2
U2 DRF U3
Loop 1 c Frame
a

DRF b

Figure 11. Assembly Loop 1

R
2 G

r Cylinder  1
Joint 3
DRF r
e Block
Joint 4
Loop 2

Joint 2
U1 DRFU3
c Frame
a

DRF b
Figure 12. Assembly Loop 2

Step 5 ­ Add geometric variations

Geometric variations of form, orientation and location can introduce variation into an assembly.
Such   variations   can   accumulate   statistically   and   propagate   kinematically   the   same   as   size
variations.  The manner in which geometric variation propagates across mating surfaces depends
on the nature of the contact.  Fig. 13 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 rest on
11

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. 13 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 13.  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.  While there is little or no published data on typical surface
variations for manufacturing processes, it is still instructive to insert estimates of variations and
calculate   the   magnitude   of   their   possible   contribution.     Fig.   14   illustrates   several   estimated
geometric variations added to the sample assembly model.  Only one variation is defined at each
joint, since both mating surfaces have the same sensitivity.  Examining the percent contribution
to the gap variation will enable us to determine which surfaces should have a GD&T tolerance
control.

.04

.02 A
Cylinder

DRF
Block
.02 A

DRF
Frame

-A-
.01
DRF

Figure 14. Applied geometric variations at contact points


12

Step 6 ­ Define performance requirements

Performance requirements are engineering design requirements.   They apply to assemblies of
parts.   In tolerance analysis, they are the specified limits of variation of the assembly features
which are critical to product performance, sometimes called the  key characteristics  or  critical
feature   tolerances.     Several   examples   were   illustrated   in   Chap.   11   for   an   electric   motor
assembly.  Simple fits between a bearing and shaft, or a bearing and housing, would only involve
two parts, while the radial and axial clearance between the armature and housing would involve a
tolerance stackup of several parts and dimensions.

Component tolerances  are set as a result of analyzing tolerance  stackup in an assembly and


determining how each component dimension contributes to assembly variation.   Processes and
tooling   are   selected   to   meet   the   required   component   tolerances.     Inspection   and   gaging
equipment and procedures are also determined by the resulting component tolerances.  Thus, we
see that the perfomance requirements have a pervasive influence on the entire manufacturing
enterprise.   It is the designer's task to transform each performance requirement into assembly
tolerances and corresponding component tolerances.

There   are   several   assembly   features   which   commonly   arise   in   product   design.     A   fairly
comprehensive   set   can   be   developed   by   examining   geometric   dimensioning   and   tolerancing
feature controls and forming a corresponding set for assemblies.  Fig. 15 shows a basic set that
can apply to a wide range of assemblies.
Assembly Tolerance Controls
Assembly Length Perpendicularity & Angularity
u ± du
A

d
-A-

Assembly Gap u±du Concentricity & Runout

Assembly Angle
A

d

Position AB

Parallelism A

Part 1

-A-
Part 2

Figure 15. Assembly tolerance


controls
13

Note   that   when   applied   to   an   assembly   feature,   parallelism   applies   to   two   surfaces   on   two
different parts, while GD&T standards only control parallelism between two surfaces on the
same part.   The same can be said about  the other assembly  controls, with the exception  of
position.     Position   tolerance   in   GD&T   relates   assemblies   of   two   parts,   while   the   position
tolerance in Fig. 15 could involve a whole chain of intermediate parts contributing variation to
the position of mating features on the two end parts.  An example of the application of assembly
tolerance controls is the alignment requirements in a car door assembly.  The gap between the
edge of the door and the door frame must be uniform and flush (parallel in two planes).   The
door striker must line up with the door lock mechanism (position).  

Each   assembly   feature,   such   as   a   gap   or  parallelism,   requires   an  open   loop   to   describe   the
variation.   You can have any number of open loops in an assembly tolerance model, one per
critical feature.  Closed loops, on the other hand are limited to the number of loops required to
locate all of the parts in the assembly.  It is a unique number determined by the number of parts
and joints in the assembly.  
L = J – P +1
where L is the required number of loops, J is the number of joints, and P is the number of parts.
For the example problem:
L = 4 – 3 + 1 = 2
which is the number we determined by inspection of the assembly graph.

The example assembly has a specified gap tolerance between a cylindrical surface and a plane, as
shown in Fig. 6.  The vector loop describing the gap is shown in Fig. 16.  It begins with vector g,
on one side of the gap, proceeds from part­to­part, and ends at the top of the cylinder, on the
opposite side of the gap.  Note that vector a, at the DRF of the Frame, appears twice in the same
loop in opposite directions.  It is therefore redundant and both vectors must be eliminated. Vector
r also appears twice in the Cylinder, however, the two vectors are not in opposite directions, so
they must both be included in the loop.  

Vector g, incidentally, is not a manufactured dimension.  It is really a kinematic variable, which
adjusts to locate the point on the gap opposite the highest point on the cylinder.  It was given
zero tolerance, because it does not contribute to the variation of the gap.
14

g
Loop 3 Gap
r
r Cylinder
DRF
f Block

DRF
U2 Frame
a
DRF
a
Figure 16. Open loop describing critical assembly gap

The steps illustrated above describe a comprehensive system for creating assembly models for
tolerance   analysis.     With   just   a   few   basic   elements,   a   wide   variety   of   assemblies   may   be
represented.  Next, we will illustrate the steps in performing a variational analysis of an assembly
model.
15

1.5. Steps in Analyzing an Assembly Tolerance Model

In a 2­D or 3­D assembly, component dimensions can contribute to assembly variation in more
than one direction.  The magnitude of the component contributions to the variation in a critical
assembly   feature   is   determined   by   the   product   of   the   process   variation   and   the   tolerance
sensitivity, summed by worst case or RSS.   If the assembly is in production, actual process
capability data may be used to predict assembly variation.  If production has not yet begun, the
process variation is approximated by substituting the specified tolerances for the dimensions, as
described earlier

The tolerance sensitivities may be obtained numerically from an explicit assembly function, as
illustrated in the beginning of this chapter.  An alternative procedure will be demonstrated, which
does not require the derivation of an explicit assembly function.  It is a systematic method, which
may be applied to any vector loop assembly model.

Step 1 ­ Generate assembly equations from vector loops
The first step in an analysis is to generate the assembly equations from the vector loops.  Three
scalar equations describe each closed vector loop.   They are derived by summing the vector
components in the x and y directions, and summing the vector rotations as you trace the loop.
For closed loops, the components sum to zero.  For open, they sum to a non­zero gap or angle.

The equations describing the stacked block assembly are shown below.  For Closed Loops 1 and
2, hx, hy and hare the sums of the x, y and rotation components, respectively.  Both loops start at
the lower left corner, with vector a.  For Open Loop 3, only one scalar equation is needed, since
the gap has only a vertical component.  Open loops start at one side of the gap and end at the
opposite side.

Closed Loop 1
hx = a cos(0)+U2 cos(90)+R cos(90+3)+e cos(90+3­180)+U3 cos()
 + c cos(­90)+ b cos(­180) = 0

hy = a sin(0) + U2 sin(90) + R sin(90+3) + e sin(90+3­180) + U3 sin()
+ c sin(­90) + b sin(­180) = 0 (1.1)

h = 0 + 90 +3 – 180  + 90 ­­ 90 – 90 +180 = 0

Closed Loop 2
hx = a cos(0) + U1 cos(90) + r cos(0) + r cos(­1) + R cos(­1+180) + e cos(­1­2)

+ U3 cos() + c cos(­90) + b cos(­180) = 0

hy = a sin(0) + U1 sin(90) + r sin(0) + r sin(­1) + R sin(­1+180) + e sin(­1­2)
 + U3 sin() + c sin(­) + b sin(­0) = 0 (1.2)
16

h = 0 + 90 – 90 –1+ 180 –2–180  + 90 ­– 90 – 90 +180 = 0
Open Loop 3

Gap = r sin(–90) + r sin(180) + U1 sin(–90) + f sin(90) + g sin(0) (1.3)

The  loop  equations   relate  the   assembly   variables:  U1,  U2,  U3,  1,  2,  3  and  the  Gap,  to  the
component dimensions: a, b, c, e, f, g, r, R and  .  We are concerned with the effect of small
changes in the component variables on the variation in the assembly variables.

Note the uniformity of the equations.  All hx components are in terms of the cosine of the angle
the vector makes with the x axis.  All h y are in terms of the sine.  In fact, just replace the cosines
in the hx equation with sines to get the hy equation.  The loop equations always have this form.
This makes the equations very easy to derive.  In a CAD implementation, equation generation
may be automated.

The h  equations are the sum of relative rotations from one vector to the next as you proceed
around the loop.  Counterclockwise rotations are positive.  Fig. 17 traces the relative rotations for
Loop 1.  A final rotation of 180 is added to bring the rotations to closure.

-180°
Relative rotations
h  = 0 + 90 + 3  – 180   + 90 
 3          – – 90 – 90 +180 = 0

R
e Loop 1


U3

U2 +90° -90°
c
a +90° x-axis

+180° b
-90°

Figure 17. Relative rotations for Loop 1.

While the arguments of the sines and cosines in the h x and hy equations represent the absolute
angle from the x axis, the angles are expressed as the sum of relative rotations up to that point in
the loop.  Using relative rotations is critical to the correct assembly model behavior.  It allows
rotational variations to propagate correctly through the assembly.
17

A shortcut was used for the arguments for vectors U 2, c and b.  The sum of relative rotations was
replaced with their known absolute directions.  The sum of relative angles for U 2 is (­1 ­2  +
90), but it must align with the angled plane of the frame ().   Similarly, vectors b and c will
always be vertical and horizontal, respectively, regardless of the preceding rotational variations
in the loop.  Replacing the angles for U, C and b is equivalent to solving the h  equation for 
and substituting in the arguments to eliminate some of the angle variables.   If you try it both
ways, you will see that you get the same results for the predicted variations.  The results are also
independent of the starting point of the loop.  We could have started with any vector in the loop.

Step 2 ­ Calculate derivatives and form matrix equations
The   loop   equations   are   nonlinear   and   implicit.     They   contain   products   and   trigonometric
functions of the variables.  To solve for the assembly variables in this system of equations would
require   a   nonlinear   equation   solver.     Fortunately,   we   are   only   interested   in   the   change   in
assembly   variables   for   small   changes   in   the   components.     This   is   readily   accomplished   by
linearizing the equations by a first order Taylor’s series expansion.  The linearized equations for
Loop 1 become:

hx h h h h h h
hx  a + x b + x c + x e + x r + x R + x 
a b c e r R 
h h h h h h
+ x 1 + x 2 + x  3 + x U1 + x U2 + x U3
1 2 3 U1 U2 U3
hy h h h h h h
hy  a + y b + y c + y e + y r + y R + y 
a b c e r R 
h h h h h h
+ y 1 + y 2 + y  3 + y U1 + y U2 + y U3
1 2  3 U1 U2 U3
h h h h h h h
h  a +  b +  c +  e +  r +  R +  
a b c e r R 
h h h h h h
+  1 +  2 +  3 +  U1 +  U2 +  U3
1 2 3 U1 U2 U3
(1.4)

where a represents a small change in dimension a, and so on.  Note that the terms have been
rearranged,   grouping  the  component  variables   a,  b, c,  e,  r, R,  and    together   and  assembly
variables U1, U2, U3, 1, 2, and 3 together.  The Loop 2 and Loop 3 equations may be expressed
similarly.

Performing   the   partial   differentiation   of   the   respective   hx,   hy  and   h  equations   yields   the
coefficients of the linear system of equations.  The partials are easy to perform because there are
only sines and cosines to deal with.  For example, the partials of the Loop 1 hx equation:
18

Component Variables Assembly Variables (1.5)


h x h x
 cos( 0) 0
a 1
h x h x
 cos( 180)
b 0
 2
h x
 cos( 90) h x
c   R sin(90   3 )  esin(270  3 )
 3
h x
 cos(270  3 ) h x
e 0
h x U1
0
r h x
 cos(90)
h x U2
 cos(90  3 )
R h x
 cos( )
h x U3
  U 3 sin( )


Each   partial   is   evaluated   at   the   nominal   value   of   all   dimensions.     The   nominal   component
dimensions are known from the engineering drawings or CAD model.   The nominal assembly
values may be obtained by querying the CAD model.

The partial derivatives above are not the tolerance sensitivities we seek, but they can be used to
obtain them.

Step 3 ­ Solve for assembly tolerance sensitivities
The   linearized   loop   equations   may   be   written   in   matrix   form   and   solved   for   the   tolerance
sensitivities by matrix algebra.  The six closed loop scalar equations can be expressed in matrix
form as follows:
[A]{X} + [B]{U} = {0} (1.6)
where [A] is the matrix of partial derivatives with respect to the component variables,
[B] is the matrix of partial derivatives with respect to the assembly variables,
{X} is the vector of small variations in the component dimensions, and
{U} is the vector of corresponding closed loop assembly variations.

We   can   solve   Eq.   1.6   for   the   closed   loop   assembly   variations   in   terms   of   the   component
variations by matrix algebra:
{U} = [B1A]{X} (1.7)

The matrix [B1A] is the matrix of tolerance sensitivities for the closed loop assembly variables.
Performing the inverse of the matrix [B] and multiplying [B 1A] may be carried out using a
spreadsheet or other math utility program on a desktop computer or programmable calculator.  
19

19For the example assembly, the resulting matrices and vectors for the closed loop solution are:

U1 


U 2 

U 
 
U   3 

 1 
2 


3 
 

h x hx h x h x h x h x hx 


 a b c e r R  
h y hy h y h y h y h y hy 
 a b c e r R  
h h h  h h h h
  
a
 A  h b c e r R 
x hx h x h x h x h x hx 
 a b c e r R  
h y hy h y h y h y h y hy 
 a b c e r R  
h
1 1
h h  h h
0 cos(270   3 )
h
0
h 
cos(90   3 )  U3 sin( )
 a b c e r R  sin(90   )
0 0 1 sin(270   ) 3 0 U3 cos( ) 
3
0 0 0 0 0 0 1 
 
1 1 0 cos(1   2 ) 1  cos( 1 ) cos(1  180)  U3 sin( )
 
0 0 1 sin(1   2 ) sin( 1 ) sin( 1  180) U3 cos( )
 
0 0 0 0 0 0 1 

1 1 0 .2924 0 .2924 4.7738


hx0 h
0 x 1h x.9563
h x h1x hx .9563
 15.6144 
U01 0
U 2
0 U 0
3 1 02 3  0 1 
1 1 0 h .2924 1.7232 4.7738
hy h y y h y h y hy.7232
 
0 0 1 .9563 .6907 .6907 15.6144
U01 U
0 2
U 
0 3 0 1
02 3  0 1 


h h h  h h h 
U U2 U3 1 2 3 
B   h 1 h x h x h x h x hx 
 x
U1 U2 U3 1 2 3 
h y h y h y h y h y hy 
U1 U2 U3 1 2 3 
h h h  h h h 
U1 U2 U3 1 2 3 
20

 0 cos(90) cos( ) 0 0 Rsin(90   3 )  esin(270  3 )


 0 sin(90) sin( ) 0 0 Rcos(90  3 )  ecos(270  3 ) 
 0 0 0 0 0 1 
 [rsin(1 ) 
cos(90) 0 cos( )  Rsin(180  1 ) e sin( 1  2 ) 0 

  esin( 1   2 )] 
 [rcos( 1 ) 
sin(90) 0 sin( )  Rcos(180  1 )  ecos( 1  2 ) 0 
 e cos(1   2 )] 

 0 0 0 1 1 0 


0 0 .95631 0 0 14.3446


0 1 .29237 0 0 4.3856 
0 0 0 0 0 1 
  
0 0 .95631 31.8764 52.5968 0
 
1 0 .29237 5.6144 16.0804 0
 
0 0 0 1 1 0 

.7413 0 10.6337 1.0470 1 38.9901 


.3057 1 0 0 0 0 
1.0457 0 15 0 0 0 
B 1  .0483 0 .6923 .0483 0 2.5384 
 
.0483 0 .6923 .0483 0 1.5384
 
 0 0 1 0 0 0 
21

{U} = ­[B­1A]{X} (1.8)

a 
U1   .3057 .3057 1 1.0457 2.494885 1.2311 11.2825 
b 
U2   .3057 .3057 1 1.0457 1 1.0457 17.0739
c 
U3  1.0457 1.0457 0 .3057 0 .3057 10.0080 
   0 e 
1 0 0 0 .0832 .0208 1.8461 
   0 r 
 0 0 0 .0832 .0208 .8461 
 2   R
3   0 0 0 0 0 0 1  
 
Estimates for variation of the assembly performance requirements are obtained by linearizing the
open loop equations by a procedure similar to the closed loop equations.  In general, there will be
a system of nonlinear scalar equations which may be linearized by Taylor’s series expansion.
Grouping terms as before, we can express the linearized equations in matrix form:
{V} = [C]{X} + [E]{U} (1.9)
where {V} is the vector of variations in the assembly performance requirements,
[C] is the matrix of partial derivatives with respect to the component variables,
[E] is the matrix of partial derivatives with respect to the assembly variables,
{X} is the vector of small variations in the component dimensions, and
{U} is the vector of corresponding closed loop assembly variations.

We can solve for the open loop assembly variations in terms of the component variations by
matrix algebra, by substituting the results of the closed loop solution.  Substituting for {U}:
{V} = [C]{X}  [E][B1A]{X} (1.10)
= [CB1A]{X}
The   matrix   [CB1A]   is   the   matrix   of   tolerance   sensitivities   for   the   open   loop   assembly
variables. The B1A terms come from the closed loop constraints on the assembly.   The B 1A
terms represent the effect of small internal kinematic adjustments occurring at assembly time in
response to dimensional variations.   The internal adjustments  affect the {V} as well as the
{U}.

It is important to note that you can not simply solve for the values of {U} in Eq. 1.8 and
substitute them directly into Eq. 1.9, as though {U} were the just another component variation.
If you do, you are treating {U} as though it is independent of {X}.   But {U} depends on
{X} through the closed loop constraints.   You must evaluate the full matrix [CB1A] to
obtain the tolerance sensitivities. Allowing the B1A terms to interact with C and E is necessary
to   determine  the   effect  of  the   kinematic   adjustments   on  {V}.    Treating  them   separately  is
similar to taking the absolute value of each term, then summing for Worst Case, rather than
summing like terms before taking the absolute value.  The same is true for RSS analysis.  It is
similar to squaring each term, then summing, rather than summing like terms before squaring.

For the example assembly, the equation for {V} reduces to a single scalar equation for the Gap
variable.  
22

Gap Gap Gap Gap Gap Gap Gap Gap Gap


Gap  a  b  c  e  f  g  r  R  
a b c e f g r R 
Gap Gap Gap Gap Gap Gap
 U1  U 2  U 3  1  2  3
U1 U 2 U3 1  2  3
(1.11)

Gap = [sin(90)+sin(180)]r + sin(90)f + sin(0)g + sin(90)U1

= r +f U1

Substituting from U1 from the closed loop results, Eq. 1.8, and grouping terms:

Gap = r +f (.3057a .3057b c 1.0457e 2.4949r 1.2311R  (1.12)

=.3057a .3057b c 1.0457e 3.4949r  1.2311R 
While Eq. 1.12 expresses the assembly variation Gap in terms of the component variations X,
it is not an estimate of the tolerance accumulation.  To estimate accumulation, you must use a
model, such as Worst Case or Root Sum Squares.

Step 4 ­ Form Worst Case and RSS expressions
As has been shown earlier, estimates of tolerance accumulation for U or V may be calculated
by summing the products of the tolerance sensitivities and component variations:

Worst Case RSS
U or V = |Sij| xj U or V =   (1.13)
Sij  is the tolerance sensitivities of assembly features to component variations.   If the assembly
variable of interest is a closed loop variable Ui, Sij is obtained from the appropriate row of the
B1A matrix.  If Vi is wanted, Sij comes from the [CB1A] matrix.  If measured variation data
are available, xj is the ±3 process variation.  If production of parts has not begun, xj is usually
taken to be equal to the ±3 design tolerances on the components.
In the example  assembly,  length U1  is  a closed loop assembly variable.    U 1  determines  the
location of the contact point between the Cylinder and the Frame.  To estimate the variation in
U1, we would multiply the first row of [B1A] with {X} and sum by Worst Case or RSS.
Worst Case:
U1 = |S41|a + |S42|b + |S43|c + |S44|e + |S45|r + |S46|R + |S47|
++++
++ 
mm
RSS:
U1 = [(S41a)2 + (S42b)2 + (S43c)2 + (S44e)2 + (S45r)2 + (S46R)2 + (S47)2].5
2+ 2+2+2+2
+2+ )2]. 5
23

mm
For the variation in the Gap, we would multiply the first row of [CB1A] with {X} and sum
by Worst Case or RSS.  Vector {X} is extended to include f and g.
Worst Case:
Gap = |S41|a + |S42|b + |S43|c + |S44|e + |S45|r + |S46|R + |S47|+ |S48|f + |S49|g
++++
++ ++
mm
RSS:
Gap = [(S41a)2 + (S42b)2 + (S43c)2 + (S44e)2 + (S45r)2 + (S46R)2 + (S47) + (S48f)2 +
(S49g)2]. 5
)2+)2 +)2 +)2 +)2
  +)2+ )2+)2 +)2 ].5
mm
By forming similar expressions, estimates for all the assembly variables are obtained (Table 1­1):
Table 1­1  Estimated variation in open and closed loop assembly features

Assembly Mean or WC RSS


Variable Nominal U U
U1 59.0026 mm 1.6129 mm 0.6653 mm
U2 41.4708 mm 1.5089 mm 0.6344 mm
U3 16.3279 mm 0.9855 mm 0.4941 mm
1 43.6838 ° 0.0468 ° 0.0339 °
2 29.3162 ° 0.0293 ° 0.0181 °
3 17.0000 ° 0.0175 ° 0.0175 °
Gap 5.9974 mm 2.2129 mm 0.8675 mm

Step 5 ­ Evaluation and design iteration
The results of the variation analysis are evaluated by comparing the predicted variation with the
specified  design requirement.    If the variation  is  greater  or less  than  the specified  assembly
tolerance, the expressions can be used to help decide which tolerances to tighten or loosen.  

1.6.  Percent rejects
The percent rejects may be estimated from Standard Normal tables by calculating the number of
standard deviations from the mean to the upper and lower limits (UL and LL).

The only assembly feature with a performance requirement is the Gap.  The acceptable range for
proper performance is:  Gap = 6.00  1.00 mm.  Calculating the distance from the mean Gap to
UL and LL in units equal to the standard deviation of the Gap: 

UL  Gap 7.000  5.9974


ZUL    3.467 RUL  263ppm
 Gap 0.2892
LL  Gap 5.000  5.9974
Z LL    3.449 RLL  281ppm
 Gap 0.2892
24

(1­14)
The total predicted rejects is 544 ppm.

1.7. Percent Contribution Charts
The percent contribution chart tells the designer how each dimension contributes to the total Gap
variation.   The contribution includes the effect of both the sensitivity and the tolerance.   The
calculation is different for Worst Case or RSS variation estimates.
Worst Case RSS
2
Gap Gap 
 x j   x j 
x j  x j 
%Cont  %Cont 
Gap Gap
2
 x i
 xi 
  xi  xi 
(1­15)

It is common practice to present the results as a bar chart, sorted according to magnitude.  The
results for the sample assembly are shown in Fig. 18.

f 33.22

R 18.13

r 16.23

e 13.08

c 11.96
 5.15

b 1.12

a 1.12

0.00 5.00 10.00 15.00 20.00 25.00 30.00 35.00


% Contribution

Figure 18.  %Contribution Chart for the sample assembly.

It is clear that the outside dimension of the Gap, f, is the principal contributor, followed by the
radius R.  This plot shows the designer where to focus design modification efforts.

Simply changing the tolerances on a few dimensions can change the chart dramatically.  Suppose
we tighten the tolerance on f, since it is relatively easy to control, and loosen the tolerances on R
and e, since they are more difficult  to locate and machine with precision.   We will say the
Cylinder is vendor­supplied, so it can not be modified.  The new tolerances and resulting chart
are:

Table 1­2  Modified dimensional tolerance specifications
25

Dimension ±Tolerance
Original Modified
a 0.3 mm 0.3 mm
b 0.3 mm 0.3 mm
c 0.3 mm 0.3 mm
e 0.3 mm 0.4 mm 
r 0.1 mm 0.1 mm
R 0.3 mm 0.4 mm
 0.01745 rad 0.01745 rad
f 0.5 mm 0.4 mm

R 28.69

e 20.70

f 18.93

r 14.45
 10.65

c 4.59

b 1.00

a 1.00

0.00 5.00 10.00 15.00 20.00 25.00 30.00 35.00


% Contribution

Figure 19   %Contribution Chart for the sample assembly with modified tolerances.

Now, R and e are the leading contributors, while f has dropped to third. Of course, changing the
tolerances requires modification of the processes.   Tightening the tolerance on f, for example,
might require changing the feed or speed or number of finish passes on a mill.

Since   it   is   the   product   of   the   sensitivity   times   the   tolerance   which   determines   the   percent
contribution, the sensitivity is also an important variation evaluation aid.

1.8. Sensitivity Analysis
The tolerance sensitivities tell how the arrangement of the parts and the geometry contribute to
assembly variation.   We can learn a great deal about the role played by each dimension by
examining the sensitivities.  For the sample assembly, the Gap sensitivities were calculated to be:
26

Table 1­3  Calculated sensitivities for the Gap
Dimension Sensitivity
a ­0.3057
b 0.3057
c ­1.0
e ­1.0457
r ­3.4949
R 1.2311
 ­11.2825
f 1.0

Note that the sensitivity of  is calculated per radian.

For a 1.0 mm change in a or b, the Gap will change by 0.3057 mm.   The negative sign for a
means the Gap will decrease as a increases.  For each mm increase in c, the Gap decreases an
equal amount.  This behavior becomes clear on examining Fig. 1­3.  As a increases 1.0 mm, the
Block is pushed up the inclined plane, raising the Block and Cylinder by the tan(17°) or 0.3057
and decreasing the Gap.  As b increases 1.0 mm, the plane is pushed out from under the Block,
causing it to lower the same amount.  Increasing c 1.0 mm, causes everything to slide straight up,
decreasing the Gap.  

Dimensions e, r, R and  are more complex because several adjustments occur simultaneously.
As r increases, the Cylinder grows, causing it to slide up the wall, while maintaining contact with
the concave surface of the Block.  As the Cylinder rises, the Gap decreases.  As R increases, the
concave surface moves deeper into the block, causing the Cylinder to drop, which increases the
Gap.  Increasing e causes the Block to thicken, forcing the front corner up the wall and pushing
the Block up the plane.   The net effect is to raise the concave surface, decreasing the Gap.
Increasing  causes the Block to rotate about the front edge of the inclined plane, while the front
corner   slides   down   the   wall.     The   wedge   angle   between   the   concave   surface   and   the   wall
decreases, squeezing the Cylinder upward and decreasing the Gap.  The large sensitivities for r
and  are offset by their small corresponding tolerances.

1.9. Modifying Geometry
The   most   common   geometry   modification   is   to   change   the   nominal   values   of   one   or   more
dimensions to center the nominal value of a gap between its UL and LL.   For example, if we
wanted to change the Gap specifications to be 5.00 ±1.000 mm, we could simply increase the
nominal value of c by 1.00 mm.   Since the sensitivity of the Gap to c is –1.0, the Gap will
decrease by 1.0 mm.  

Similarly, the sensitivities may be modified by changing the geometry.  Since the sensitivities are
partial derivatives, which are evaluated at the nominal values of the component dimensions, they
can only be changed by changing the nominal values.  An interesting exercise is to modify the
geometry of the example assembly to make the Gap insensitive to variation in , that is, to make
the sensitivity of    go to zero.   You will need nonlinear equation solver software to solve the
original loop equations, Eq.1­1, 1­2 and 1­3, for a new set of nominal assembly values.  Solve for
the kinematic assembly variables: U1, U2, U3, 1, 2, and 3, corresponding to your new nominal
dimensions: a, b, c, e, r, R, f and Gap.

The sensitivity of  will decrease to nearly zero if we increase b to a value of 40 mm.  We must
also increase c to 35 mm to reduce the nominal Gap back to 6.00 mm.  The [A], [B], [C] and [E]
matrices will all need to be re­evaluated and solved for the variations.  The modified results are
shown in Table 1­4:
27

Table 1­4  Calculated sensitivites for the Gap
Dimension Nominal ±Tolerance Sensitivity
a 10 mm 0.3 ­0.3057
b 40 mm 0.3 0.3057
c 35 mm 0.3 ­1.0
e 55 mm 0.4 ­1.0457
r 10 mm 0.1 ­3.4949
R 40 mm 0.4 1.2311
 17° .01745 rad ­0.3478
f 75 mm 0.4 1.0

Notice that the only sensitivity to change was .  This is due to the lack of coupling of b and c
with the other variables.  The calculated variations are shown in Table 1­5:

Table 1­5  Variation results for modified nominal geometry

Assembly Mean or WC RSS


Variable Nominal U U
U1 59.0453 mm 1.6497 mm 0.7659 mm
U2 41.5135 mm 1.9088 mm 0.8401 mm
U3 26.7848 mm 0.9909 mm 0.4908 mm
1 43.6838 ° 0.0489 ° 0.0343 °
2 29.3162 ° 0.0314 ° 0.0189 °
3 17 ° 17 ° 17 °
Gap 5.9547 mm 2.1497 mm 0.8980 mm

The new % Contribution chart is shown in Fig. 20.  Based on the low sensitivity, you could now
increase the tolerance on  without affecting the Gap variation.
28

R 30.07

e 21.69

f 19.84

r 15.15

c 11.16

b 1.04

a 1.04
 0.00

0.00 5.00 10.00 15.00 20.00 25.00 30.00 35.00


% Contribution

Figure 20. Modified geometry yields zero  contribution.

Step 6 ­ Report results and document changes
The final step in the assembly tolerance analysis procedure is to prepare the final report.  Figures,
graphs and tables are preferred.  Comparison tables and graphs, such as those presented in the
preceding sections, will help to justify design decisions.  If you have several iterations, it is wise
to adopt a case numbering scheme to identify each table and graph with its corresponding case.
A list of case numbers with a concise summary of the distinguishing feature for each would be
appreciated by the reader.

1­10. Summary
The   preceding   sections   have   presented   a   systematic   procedure   for   modeling   and   analyzing
assembly variation.  Some of the advantages of the modeling system include:
v) The   three   main   sources   of   variation   may   be   included:   dimensions;   geometric   form,
location and orientation; and kinematic adjustments.
vi) Assembly models are constructed of vectors and kinematic joints, elements with which
most designers are familiar.
vii) A variety of assembly configurations may be represented with a few basic elements. 
viii) Modeling rules guide the designer and assist in the creation of valid models.
ix) It can be automated and integrated with a CAD system to achieve fully graphical model
creation.

Advantages of the analysis system include:
1. The assembly functions are readily derived from the graphical model.  
29

2. Nonlinear, implicit systems of equations are readily converted to a linear system.  Tolerance
sensitivities are determined by a single, standard, matrix algebra operation.
3. Statistical algorithms estimate tolerance stackup accurately and efficiently, without requiring
repeated simulations.
4. Once expressions for the variation in assembly features have been derived, they may be used
for tolerance allocation or “what­if?” studies, without repeating the assembly analysis.
5. Variation parameters useful for evaluation and design are easily obtained, such as: the mean
and standard deviation of critical assembly features, sensitivity and percent contribution of
each component dimension and geometric form variation, percent rejects and quality level.
6. Tolerance analysis models combine design requirements with process capabilities to foster
open   communication   between   design   and   manufacturing   and   reasoned,   quantitative
decisions.
7. It can be automated to totally eliminate manual derivation of equations or equation typing.

A CAD­based tolerance analysis system based on the procedures demonstrated above has been
developed.     The   basic   organization   of   the   Computer­Aided   Tolerancing   System   (CATS)   is
shown schematically in Fig. 21.  Many of the manual tasks of modeling and analysis described
above have been converted to graphical functions or automated.  The system has been integrated
with a commercial 3­D CAD system, so it looks and feels like the designer’s own system.

3-D CAD System

CATS Application Interface

CATS CATS
Modeler Analyzer

CAD Mfg
Database Process
Database

Fig. 21  The CATS System
30

References
American   Society   of   Mechanical   Engineers,  Dimensioning   and   Tolerancing,   ANSI  Standard
Y14.5M­ 1994.
Carr, Charles D. 1993.  "A Comprehensive Method for Specifying Tolerance Requirements for
Assemblies",  Brigham Young University, (M.S. Thesis).
Chase, K. W. and A. R. Parkinson. 1991. "A Survey of Research in the Application of Tolerance
Analysis to the Design of Mechanical Assemblies," Research in Engineering Design, v 3, n
1, pp.23­37.
Chase,   K.   W.   and   Angela   Trego.   1994.    AutoCATS   Computer­Aided   Tolerancing   System   ­
Modeler User Guide, ADCATS Report, Brigham Young University.
Chase, K. W., J. Gao and S. P. Magleby. 1995. "General 2­D Tolerance Analysis of Mechanical
Assemblies with Small Kinematic Adjustments",  J. of Design and Manufacturing, v 5 n 4,
pp.263­274.
Chase, K. W., J. Gao and S. P. Magleby. 1998. "Chapter 5 ­ Tolerance Analysis of 2­D and 3­D
Mechanical   Assemblies   with   Small   Kinematic   Adjustments",    Advanced   Tolerancing
Techniques, John Wiley, pp.103­137.
Chase, K. W., J. Gao, S. P. Magleby and C. D. Sorenson. 1996. "Including Geometric Feature
Variations in Tolerance Analysis of Mechanical Assemblies",  IIE Transactions, v 28, n 10,
October,  pp. 795­807.
Fortini, E.T., Dimensioning for Interchangeable Manufacture, Industrial Press, New York, NY,
1967.

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy