1 Introduction

A mechanical assembly is designed to ensure functions involving interaction between parts; examples include the positioning of machine elements, the transmission of force or motion, and the sealing of closures. These can be affected by the stackup of part deviations due to uncertainty sources in the manufacturing process. Such situations are detected by tolerance analysis [1]. One or more functional requirements are identified and expressed as geometric entities, such as distances or angles between features of different parts. Each requirement is associated with a chain of dimensions involving features of individual parts. Given the tolerances on part features, the analysis calculates the stackup of part deviations and estimates the resulting variation on the requirement.

Tolerance analysis can be carried out with several methods, which are suitable for problems with assumptions of varying complexity [2]. Part dimensions involved in a functional requirement may be parallel (1D stackup) or variously oriented in plane or space (2D–3D stackup). Specifications on part features may include geometric tolerances in addition to plus-minus dimensional tolerances. The deviations allowed by tolerances may have various types of statistical distributions (normal, beta, etc.), which may span equal or different fractions of the specified tolerances. In an effort to adapt to several possible assumptions, the available methods use complex mathematical models that can only be solved with the help of software tools.

One of the aspects that make tolerance analysis complex is the presence of clearance fits at joints between parts (e.g., shaft–hole or tab–slot) or with fasteners (bolts, screws, dowels, rivets, etc.). In addition to transmitting their geometric deviations, the mating parts can undergo relative linear or angular displacements within the limits allowed by the joint clearance. These further deviations should be included in the dimension chain, but this can be difficult because they have randomly varying directions. Furthermore, fasteners are often installed in patterns and therefore can significantly increase the number of parts involved in a functional requirement; this can make stackup calculations even more difficult.

In 1D stackup problems, joint clearances are treated using the concept of assembly shift [3]. The assembly shift between two mating parts is an auxiliary dimension which corresponds to the random deviation from their relative position due to the clearance. The shift has zero mean and a tolerance depending on the worst-case tolerance limits of the mating features. The advantage of such a definition is that the mating dimensions (e.g., diameters of shafts and holes) do not have to be explicitly added to the dimension chain, as they only determine the tolerance limits on the assembly shift. This is especially useful in the presence of fasteners because the dimension chain includes only the designed parts reducing the total number of elements of the stackup model. However, the random direction of the assembly shift does not allow a straightforward extension of the concept to 2D and 3D stackup problems.

This paper proposes a possible treatment of assembly shifts in the tolerance analysis of 2D dimension chains. The approach is based on a static analogy previously proposed for generic assemblies [4] and mechanisms [5, 6]. The method estimates the linear contributions of the dimensions to the functional requirement (sensitivities) through an equivalent force analysis model. Depending on the complexity of the assembly, this allows for a resolution of tolerance analysis problems through simple force calculations or software tools for structural analysis. As discussed in the following, the sensitivities of the requirement to the assembly shifts can be easily calculated by static analogy without the need to pre-define a statistical distribution of the displacement directions between the parts.

The remainder of the paper is structured as follows. Section 2 recalls the methods available for tolerance analysis problems, with focus to those considering sensitivities and joint clearances. Section 3 recalls the static analogy, while Section 4 describes its extension to stackup problems involving fits and fasteners. Section 5 applies the method to some examples, comparing the results of the static analogy with known methods of tolerance analysis. Section 6 discusses the advantages and limitations of the proposed method. Section 7 demonstrates the application of the method to a more realistic case. Section 8 summarizes the contribution of the work.

2 Literature review

Tolerance analysis has been extensively studied during the past decades. Classifications and in-depth discussions of the available results are provided in the main reviews on the topic [1, 2, 7,8,9,10]. In the following, a few references will be made on the methods based on the same assumptions of this paper. The parts are rigid and designed with dimensional and geometric tolerances on their features. The assembly is created with simple contact relationships between part features (lower kinematic pairs), which determine the position and orientation of the parts without overconstraints. The tolerance analysis is done in a given configuration of the assembly, which may coincide with one of the possible poses of a mechanism.

2.1 Tolerance analysis methods

The core of any tolerance analysis method is a mathematical model of how geometric deviations on part features propagate to the connected parts causing variation on an assembly-level functional requirement. In 2D or 3D stackup problems, such propagation occurs along one or more degrees of freedom (DOFs) allowed by the contact relationships.

Most of the available models associate the requirement with a chain of geometric relations between part features. Once a local coordinate system is associated with each feature, a vector or matrix representation is built for the small displacements allowed by the tolerances; these are a subset of six possible translations and rotations, which excludes those corresponding to invariant DOFs. A geometric transformation (e.g., sum of vectors, product of matrices) is finally used to calculate the propagation of the small displacements along the chain, which determines the deviation on the functional requirement. Different types of representation and transformation have resulted into several tolerance analysis methods. These include the variational model [11,12,13,14], the vector loop model [15,16,17], the small displacement torsor [18, 19], the matrix model [20, 21], the Jacobian model [22], and the Jacobian-torsor model [23,24,25]. They are too complex to be solved by manual or spreadsheet-based calculations, but suitable for integration into CAD-based software; possible issues related to CAD data transfer are dealt with in [26,27,28].

More complex representations of geometric deviations, not yet developed at the same level of implementation, have been proposed in order to overcome some limitations of the above methods. The convex-hull methods try to reach full compliance with current tolerancing standards. For this purpose, they represent each tolerance zone by a volume in an appropriate displacement space depending on the type of feature; the volumes are transformed and composed by appropriate operations (e.g., Minkowski sums) to calculate the stackup of tolerances. The main methods based on this principle are the T-maps [29, 30] and the deviation domain [31, 32]. The skin model shapes method aims to account for the effect of form deviations, which are usually neglected in stackup calculations; this is achieved by the generation and the simulated assembly of surface meshes with systematic and random deviations [33,34,35,36]. Hybrid approaches have also been proposed to integrate skin model shapes into other tolerance analysis methods [37, 38].

2.2 Statistical analysis and sensitivities

Once a suitable propagation model of geometric deviations is set up, the analysis may be completed by calculating the deviation limits on the requirement from the specified tolerances (worst-case analysis). Such limits are often an unrealistic estimate of the variation because they do not take into account the compensation of deviations on different parts or the acceptance criteria adopted in statistical process control. For this reason, a more common objective is to estimate the parameters of the statistical distribution of the requirement from the corresponding parameters of part deviations (statistical analysis).

In 1D stackup problems, the dimension chain is linear. In the assumption of normal distributions without mean shifts, statistical tolerance analysis is as simple as the root-sum-square (RSS) stackup equation, i.e., the sum of the variances of independent variables (e.g., [39]). With different distributions, the RSS equation is corrected or replaced by more complex stackup models (see detailed discussion in [40]). Nonlinear dimension chains of 2D–3D stackup problems are treated by further methods reviewed in [8]. Among these, Monte Carlo simulation [41,42,43] is praised as especially accurate and implemented in most CAD-based tools for tolerance analysis. Quasi-Monte Carlo methods have also been proposed to get comparable accuracy with reduced computational effort [44,45,46].

A simpler approach to the statistical analysis of 2D–3D tolerance stacks is linearization. This consists in using the RSS equation with stackup coefficients (sensitivities) calculated as first-order approximations of nonlinear dimension chains. As most tolerance analysis methods require Monte Carlo simulation, the linearization is usually done with a sensitivity analysis based on the finite difference method (changing one tolerance at a time and recalculating the output variation, e.g., [47, 48]); however, even more simulation runs are required with a further increase of computational effort. This is avoided by direct linearization, which calculates the sensitivities by means of matrix equations deriving from the 2D–3D modeling of the dimension chain. This approach, however, is currently feasible only in the vector loop model, although recent studies are trying to extend it to other tolerance analysis methods [49,50,51].

2.3 Joint clearances

The need to deal with joint clearances has been recognized in the development of most tolerance analysis methods. The additional deviations due to clearance fits are generally treated as additional variables in the stackup model. This is straightforward in 1D problems because the relative displacement between the mating features (assembly shift) is along the direction of the dimension chain [3, 52]. In 2D–3D problems, the displacement is usually in an unknown direction, which must be calculated or randomly generated.

Some methods handle joint clearances in their original formulation (e.g., Jacobian-torsor) or in later extensions. For the variational model, the formulation proposed in [13] includes assembly deviations between parts; cases involving multiple fasteners are addressed in [53] by setting small-displacement matrices from a preliminary study of allowed displacement regions. Extensions for joint clearances have also been suggested for the vector loop model [54, 55], for the Jacobian model [56], and for the T-maps [57]. Problems with joint clearances have also been solved with methodologies deriving from the kinematic analysis of mechanisms, such as the Denavit–Hartenberg model [58, 59] and the screw theory [60, 61].

2.4 Statics-based approach

As mentioned, external forces may influence misalignments at joints. The problem is well known in the assembly simulation of parts with geometric errors. Different loading conditions can change the effective contact points between parts causing additional rotational errors. These are difficult to estimate, especially when considering form deviations as in the methods based on skin model shapes; in [62], the task is formulated as an optimization problem based on equations of multibody dynamics.

Other studies calculate the effect of external forces on assembly configuration using the principle of virtual works of statics, with specific formulations for spatial linkages [63] and parallel manipulators [64]. The same principle can also allow the calculation of worst-case contact conditions regardless of external forces, as proposed for spatial linkages [65] and mechanisms with prismatic joints [66].

A similar approach has proved useful in the tolerance analysis of closed-loop spatial mechanisms (e.g., parallel kinematics machines), where the equations of direct kinematics cannot be differentiated in closed form to get the sensitivities of an output function to the individual generalized coordinates. In [67], the problem is solved by applying unit forces along the different DOFs to the tool center point and calculating the sensitivities from the internal forces on the links.

The above results have suggested a static analogy for solving tolerance analysis problems on generic assemblies. The method proposed in [4] demonstrates the correspondence between internal forces and sensitivities for a wide range of part geometries and joint types. This allows a statistical analysis with direct linearization, reducing the computational effort compared to methods based on Monte Carlo simulation. With some extensions, the analogy has later been applied to planar linkages [5] and gear trains [6].

The objective of this paper is a further extension of the static analogy for the tolerance analysis of 2D assemblies with joint clearances. Unlike previous methods, force analysis is not used to calculate the relative position of mating features. Rather, it directly calculates the sensitivity of the assembly shift (a 2D version of the concept introduced in [3]) by assuming random directions and lengths of the small displacements allowed by the clearance. As will be discussed below, this approach can considerably streamline the analysis of assemblies containing multiple fasteners.

3 Background on static analogy

In a tolerance analysis problem, a chain of dimensions Xi (i = 1, … n) on individual parts determines an assembly-level dimension Y, which represents the functional requirement. The stackup equation is the linear (or linearized) relationship between the requirement and the dimensions:

$$Y=\sum_{i=1}^{n}{S}_{i}{X}_{i}$$
(1)

where Si = ∂Y/∂Xi is the sensitivity of Y to Xi. The dimensions have a random variation specified as

$${X}_{i}={X}_{0i}\pm {T}_{i}$$
(2)

where X0i are the nominal dimensions and Ti are the dimensional tolerances. These can be either assigned to dimensions on part drawings or determined by conversion of geometric tolerances as suggested in [3, 52]. Under this assumption, the nominal value of the requirement is given by

$${Y}_{0}=\sum_{i=1}^{n}{S}_{i}{X}_{0i}$$
(3)

while the variation of the requirement can be calculated with the corrected root-sum-square (RSS) equation:

$${T}_{Y}=c\sqrt{\sum_{i=1}^{n}{S}_{i}^{2}{T}_{i}^{2}}$$
(4)

where c ≥ 1 is a correction factor that accounts for possible violations of the statistical properties assumed on the actual dimensions of manufactured parts (independence, normal distributions, no mean shifts, equal and sufficiently high process capabilities).

The static analogy [4] is a method for calculating the sensitivities in (1) and thus allowing the calculation of output variation using (4). The analogy defines an equivalent problem of force analysis, where two opposite external forces F are applied to the same parts and along the same direction of dimension Y. If the assembly is exactly constrained, the forces acting on the individual parts can be calculated by solving free-body diagrams. This gives the internal forces Fi corresponding to dimensions Xi. According to considerations deriving from the virtual work principle, the sensitivities are finally calculated as

$${S}_{i}=\frac{{F}_{i}}{F}$$
(5)

The above correspondence applies to linear dimensions. For angular dimensions, forces in (5) are replaced by torques. If an internal force Fi corresponds to a dimension that is a function f(Xi) of one of the toleranced dimensions, the chain rule allows to transform the sensitivity of (5):

$${S}_{i}=\frac{\partial Y}{\partial {X}_{i}}=\frac{\partial Y}{\partial f}\frac{\partial f}{\partial {X}_{i}}=\frac{{F}_{i}}{F}\frac{\partial f}{\partial {X}_{i}}$$
(6)

For example, Fig. 1a shows a circular part connected with a V-shaped support. Suppose that the requirement to be controlled is the horizontal distance Y between the left side of the support and the rightmost end of the circle. For such a simple case, an explicit equation can be readily found to calculate Y from three part dimensions: the diameter A of the circle, the angle B of the groove, and the distance C between the root of the groove and the left side of the support:

Fig. 1
figure 1

Example of static analogy: (a) assembly layout, (b) equivalent static model, (c) free-body diagrams

$$Y=\frac A2\left(1+\frac1{\tan(B/2)}\right)+C$$
(7)

The deviations on A, B, and C contribute to the deviation on Y with the following sensitivities:

$$S_A=\frac{\partial Y}{\partial A}=\frac12(1+\frac1{\sin\;B}+\frac1{\tan\;B})$$
(8)
$$S_B=\frac{\partial Y}{\partial\;B}=-\frac A{2(1-\cos\;B)}$$
(9)
$${S}_{C}=\frac{\partial Y}{\partial C}=1$$
(10)

The same results can be obtained with the static analogy. In the equivalent static model in Fig. 1b, the assembly is loaded with opposite forces F, which have the same direction as Y (horizontal) and act on the points where Y is defined. As the assembly is exactly constrained, the internal forces can be calculated by applying equilibrium equations on free-body diagrams of the two parts (Fig. 1c), where all the constraints are regarded as bilateral. Each dimension is then associated with an internal force Fi, which is eventually used to calculate the sensitivity Si.

The circle is subjected to the three radial tensile forces F, F/sinB, and F/tanB. Therefore

$$S_{A/2}=\frac1F(F+\frac F{\sin\;B}+\frac F{\tan\;B})=1+\frac1{\sin\;B}+\frac1{\tan\;B}$$
(11)

The sensitivity associated with the diameter is then obtained from (11) using the chain rule (6):

$$S_A=\frac12S_{A/2}=\frac12(1+\frac1{\sin\;B}+\frac1{\tan\;B})$$
(12)

On the support, the sensitivity of Y to angle B corresponds to the bending moment MB at the internal node of the frame. This is equal to the bending force F/sinB multiplied by its moment arm:

$$S_B=\frac{M_B}F=\frac1F(-\frac F{\sin\;B}\cdot\frac A{2\tan(B/2)})=-\frac A{2(1-\cos\;B)}$$
(13)

The sensitivity of Y to distance C corresponds to the tensile force F:

$${S}_{C}=\frac{F}{F}=1$$
(14)

4 Methods

The static analogy must be extended with further assumptions and procedures in order to tackle more complex problems of tolerance analysis involving fits and fasteners. This section introduces the needed extensions and recalls alternative methods that will be used later to validate them on some examples.

4.1 Treatment of 2D assembly shifts

In a planar assembly, parts have contact relationships through their features. These are 2D lines or curves corresponding to surfaces that are perpendicular to the plane. It is often assumed that the contact relationships, specified in the assembly drawing on the nominal geometry of the parts, are preserved in the presence of geometric deviations resulting from manufacturing errors. Consequently, the functional requirement to be analyzed can be expressed as a chain of dimensions (i.e., distances between features) on individual parts.

In many cases, however, the assembly includes situations that do not satisfy the above assumption. These arise in the presence of clearance fits between features of size, where a hole on one part is connected to either a shaft on another part or a fastener. In a fit relationship, the centers of the two features have a random relative displacement (assembly shift) due to the inability to make the two features exactly concentric during the assembly operation. This displacement should be regarded as an additional source of variation, which in turn depends on the variation of the sizes of the mating features, e.g., the diameters D and d of the hole and the shaft/fastener.

As a first approach to take into account the assembly shift in tolerance analysis, D and d could be explicitly added to the dimension chain. This would allow to use the static analogy assuming a given contact relationship between the two features. For example, the shift s in the shaft–hole pair in Fig. 2 can be analyzed by assuming a contact between the features at a given point (as the worst case for the shift). In the equivalent static model, two opposite forces F are applied at the centers of the shaft and the hole. The free-body diagrams show the internal force between shaft and hole, which is equal to F. This force is associated to the radii of the two features: a tensile force for D/2 and a compressive force for d/2. According to the chain rule, the sensitivities on the two diameters are

Fig. 2
figure 2

Static analogy assuming a given contact relationship

$${S}_{D}=\frac{1}{2}{S}_{D/2}=\frac{1}{2}\frac{F}{F}=\frac{1}{2}\text{ , }{S}_{d}=\frac{1}{2}{S}_{d/2}=\frac{1}{2}\frac{(-F)}{F}=-\frac{1}{2}$$
(15)

As can be easily verified with an explicit equation, the worst-case variation of the shift in the conditions of Fig. 2 is therefore

$${s}^{^{\prime}}={{s}^{^{\prime}}}_{0}\pm {{T}^{^{\prime}}}_{s}=\frac{{D}_{0}-{d}_{0}}{2}\pm \frac{{T}_{D}+{T}_{d}}{2}$$
(16)

This result is true whenever a contact point can be identified for the two features as a result of either the assembly operation or operating conditions. This usually occurs on structures subject to external forces or mechanisms that transmit motion in given directions [4]. In these cases, the shift has a systematic component as in (16) because the two features are necessarily misaligned in order to reach contact at a point.

In a generic assembly, however, the assembly shift does not satisfy the above condition because the parts are not necessarily in actual contact (e.g., due to the presence of lubricant in a rotational pair or to friction in a joint with threaded fasteners). Therefore, the assembly shift has zero average, corresponding to perfect concentricity between the two features (which implies no contact at all). As shown in Fig. 3, the tolerance on the shift in a generic direction is the distance between the ideal condition and two limit conditions of contact on opposite sides. Furthermore, the worst case for the shift is the least material condition (LMC) for both features. This gives the following expression, the same as the one used in [3] for 1D dimension chains:

Fig. 3
figure 3

Actual limits of a 2D assembly shift

$${T}_{s}=\frac{{D}_{\text{LMC}}-{d}_{\text{LMC}}}{2}$$
(17)

Another difficulty with the above approach is related to the increase of the number of dimensions to be dealt with in the tolerance analysis problem. In an assembly with many fasteners, the dimension chain should include all diameters of the holes and fasteners. Consequently, the static model would be more complex, and possibly difficult to solve due to overconstraining (there are more fasteners than would be needed to constrain the three relative DOFs of the connected parts). It is therefore appropriate to look for a way to simplify the dimension chain and the equivalent static model.

The proposed method does not explicitly add D and d to the dimension chain, but represents their effect with an additional dimension (the assembly shift s) with zero mean and equal bilateral tolerance given by Eq. (17). This choice corresponds to what is done in a 1D stackup problem, with the difference that more than one shift may have to be considered in a 2D problem. In general cases, there are three possible shifts, two translations and one rotation. Yet, it is often recognized that the requirement depends on only two shifts or even one. This depends on how the clearance influences the relative motion of the parts and the requirement itself; this is to be evaluated in advance on each different case. For example, the symmetry of the parts can make an angular shift irrelevant, or the requirement can turn out to be indifferent to a linear shift in one of the possible directions. When in doubt about the direction corresponding to the worst case for the requirement, the direction of a linear shift can be chosen arbitrarily; the static analogy will ensure that shifts in different directions have different effects on the requirement. In any case, there is no need to identify a given contact condition consistently with the above discussed assumptions.

Once appropriate assembly shifts have been identified as additional dimensions, the sensitivity of the requirement to each shift is calculated using the static analogy. For this purpose, the assembly is simplified by replacing each pair of mating features with a joint located at a representative point, e.g., the center of either the original features or one of the fasteners in a pattern. The joint has a number of DOFs which can vary in different situations. Without excluding special cases, a single shaft–hole pair or (less frequently) a single fastener is represented by a constraint with a rotational DOF, while a pattern of fasteners corresponds to a fixed constraint without relative DOFs. In the static model, the joint transmits a corresponding set of forces and torques, which exactly match the linear or angular shifts.

Following the above criterion, any joint that allows translational and rotational misalignments can be correctly represented in the equivalent static model. For example, Fig. 4a shows the case of an anti-rotation pin fit to a D-shaped hole in a bushing. If involved in a functional requirement, the fit can be represented by the common center of the two features and by selecting two of the three possible assembly shifts s1, s2, and s3. As shown in Fig. 4b, the respective tolerances are calculated from the limit dimensions as in (17). For an irregularly shaped pin and hole, the further difficulty is that the LMC conditions depend on the tolerance schemes specified for the two parts. Figure 4c considers three possible cases of profile tolerances: all-around, with datum at regardless of feature size (RFS), and with datum at maximum material condition (MMC).

Fig. 4
figure 4

Assembly shifts for an irregular-shape fit

The static model is finally solved by applying the equilibrium conditions to the free-body diagrams of the parts. This provides the internal forces and torques transmitted through each of the joints. The sensitivity of each assembly shift is calculated again from (5), where Fi is the corresponding internal force or torque. As the shifts have zero mean, their sensitivities are always assumed positive irrespective of the direction of Fi.

4.2 Validation

The correctness of the proposed method based on static analogy is verified in comparison with other proven methods for tolerance analysis. These must allow the computation of sensitivities in 2D problems including linear and angular dimensions as well as assembly shifts.

If the dimension chain is simple enough, the functional requirement can be expressed with an explicit stackup equation such as (7) for the example in Section 3. The shifts can be easily added to the equation taking into account their direction relative to the requirement. Once this is done, the sensitivities of Y to dimensions Xi (including shifts) are calculated as ∂Y/∂Xi, and generally include one or more nominal dimensions within or outside the chain. The derivatives can be compared with the results of static analogy, either analytically or numerically for a given set of nominal dimensions.

In more complex problems, the comparison can be made with the variational method of [13], here recalled in its simplified 2D version. Two-axis coordinate frames are established at selected points of the parts; at least two frames are needed for each part at the features in contact with adjacent parts. The functional requirement Y is associated to two of these frames (the end frames). The transformation between the end frames is the result of a chain of transformations spanning all the frames in a suitable sequence. The chain includes two types of transformations expressed by 3 × 3 homogeneous matrices:

  • Nominal transformations Tij, which represent the relative translations and rotations between the coordinate frames when all part dimensions have their nominal values X0i;

  • Small-displacement transformations DTij, which represent the additional translations and rotations due to random deviations δXi on the same dimensions, or to assembly shifts between features of adjacent parts.

The transformation matrices have the following typical forms:

$$T_{ij}=\begin{bmatrix}\cos\theta&-\sin\theta&p_1\\\sin\theta&\cos\theta&p_2\\0&0&1\end{bmatrix},\;DT_{ij}=\begin{bmatrix}1&-\delta\theta&\delta p_1\\\delta\theta&1&\delta p_2\\0&0&1\end{bmatrix}$$
(18)

where p1 and p2 are the relative coordinates of the origin of frame j to the origin of frame i, and θ is the angle between an axis of frame j and the corresponding axis of frame i. The corresponding random deviations are δp1, δp2, and δθ.

The transformation matrix between the end frames is the product of the transformation matrices Tij and DTij in an appropriate sequence. Two different products are calculated: a first product T with the nominal transformations only, and a second product T′ including the small-displacement transformations. The difference T′ − T gives the deviation δY resulting from the deviations δXi assumed for part dimensions and assembly shifts. The calculation of Y depends of the geometric definition of the requirement: a linear distance corresponds to the translation between the end frames, while an angular distance corresponds to the rotation between them.

If an expression of the sensitivities is sought, T′ − T can be calculated analytically; the expression of δY is a sum of linear contributions of the individual δXi. This can be tedious in cases where many matrices are to be multiplied and should be limited to the elements contributing to Y.

Alternatively, the tolerance analysis problem is solved by Monte Carlo sensitivity analysis. For a sample of parts (usually in the order of tens of thousands), deviations δXi are randomly generated from normal distributions with means X0i and 3σ tolerance limits equal to Ti. On the whole sample, δY has a normal distribution whose 3σ tolerance limit TY is estimated. The simulation is repeated for each sensitivity to be found; in the i-th simulation, all tolerances are set to zero except Ti; then TY is divided by Ti to get an estimate of Si.

5 Results

The following examples demonstrate the method on 2D dimension chains of increasing complexity. The analysis is limited to the calculation of sensitivities, omitting the use of the RSS equation for stackup calculation. In each example, the results of the static analogy are validated using one of the methods mentioned in Section 4.

5.1 Limit switch on swivel arm

The assembly in Fig. 5 includes a swivel arm, a circular disc, and a frame. The arm can freely rotate about a pin on the frame. The disc is fastened to the arm by four machine screws in a circular pattern and gets in contact with a limit switch on the frame. The functional requirement Y is an angle defining the orientation of the arm when the disc is against the switch. It is easily recognized that Y depends on three linear dimensions on individual parts: A on the frame, B on the arm, and C on the disc.

Fig. 5
figure 5

Swivel arm assembly

Only dimensional tolerances TA, TB, and TC are specified on the three dimensions, neglecting other geometric deviations such as the eccentricity of the hole pattern to the outer profile of the disc. In addition, two assembly shifts are considered in the horizontal direction: the linear displacement s1 of the hole in the arm with respect to the pin, and the linear displacement s2 of the holes in the disc to the mating screws (the angular shift has no effect on the requirement). Tolerances Ts1 and Ts2 on the two shifts are calculated using Eq. (17) from the LMC conditions of the mating features (hole–pin and holes–screws).

In the equivalent static model of Fig. 6, the hole and the pin are represented by their centers; similarly, the screws are not included in the model and the corresponding hole patterns are represented by their centers. An external torque M is applied to the arm, and an opposite reaction torque on the switch of the frame avoids its rotation due to the pulling force of the disc (the contact between the disc and the frame is bilateral for the purpose of force analysis). The free-body diagrams provide the contact forces between the parts; all these forces have the same direction and equal magnitude

Fig. 6
figure 6

Equivalent static model for the swivel arm assembly

$$F_{\mathrm{int}}=\frac M{B\;\sin\;Y}$$
(19)

Table 1 lists the sensitivities calculated for the dimensions and the shifts from the static analogy. For this purpose, Eq. (5) is used after identifying the internal forces associated to the dimensions:

  • Dimension A on the frame is subjected to a compressive force Fint between the pin and the switch;

  • Dimension B on the arm is subjected to a tensile force equal to the component of Fint along the centerline;

  • A tensile force Fint acts on the radius C/2 of the disc, and the sensitivity ∂Y/∂C associated to the diameter is half the sensitivity ∂Y/∂(C/2) associated to the radius;

  • Shift s1 corresponds to the internal force Fint at the pin–hole pair;

  • Shift s2 corresponds to the internal force Fint at the center of the hole pattern.

Table 1 Sensitivities for the swivel arm assembly

The above results can be verified using the explicit equation of the dimension chain:

$$A=B\;\cos Y+\frac C2+s_1+s_2$$
(20)

Differentiating (20) gives a relationship between deviations δXi:

$$\delta A=\left(\delta B\;\cos Y_0-B_0\sin\;Y_0\delta Y\right)+\frac{\delta C}2+\delta s_1+\delta s_2$$
(21)

hence the following linear expression with the same sensitivities as in Table 1:

$$\delta Y=-\frac{\delta A}{B_0\;\sin Y_0}+\frac{\delta B}{B_0\;\tan Y_0}+\frac{\delta C}{2B_0\;\sin Y_0}+\frac{\delta s_1}{B_0\;\sin Y_0}+\frac{\delta s_2}{B_0\;\sin Y_0}$$
(22)

5.2 Diagonal bar on plate

Figure 7 shows a diagonal bar connected to a plate with two machine screws. The requirement Y is the distance between the top point of the bar and the bottom edge of the plate. To control the variation of Y, tolerances are specified on some dimensions on the two parts. These include distance B and angle C on the plate, and distances E and H on the bar. In addition to TB, TC, TE, and TH, the least-material diameters dLMC and DLMC are known for the screws and the holes in the bar. Tolerances on other dimensions (A, G) may apply but do not influence the variation of Y. For simplicity, no geometric tolerance is assumed to be specified.

Fig. 7
figure 7

Diagonal bar assembly

According to the proposed method, the diameters of the screws and holes do not explicitly appear in the dimension chain. They influence Y through two possible assembly shifts of the holes with respect to the mating screws. The first shift s1 is a vertical translation (other directions would have been equally acceptable, e.g., along the connecting line of the hole centers). The second shift s2 is a rotation about the center of the first hole. Tolerances Ts1 and Ts2 on the two shifts are calculated from (17) and, for the angular shift, dividing the displacement by a rotation arm equal to the nominal distance G0 of the two hole centers. No shifts occur between the screws and the plate, which are connected with threaded fits with negligible clearance.

Figure 8 shows the equivalent static model. The hole pattern is represented by the center of the first hole, which is regarded as a fixed joint between the two parts. The structure is loaded with two opposite forces F applied to the features defining the requirement. The free-body diagrams provide the internal forces at the joint, which include a force F and a torque

Fig. 8
figure 8

Equivalent static model for diagonal bar assembly

$$M=Fb=F(E\;\cos\;C-H/2\;\cdot\;\sin\;C)$$
(23)

The following internal forces are associated to the dimensions of the chain:

  • Distance B on the plate is subjected to a tensile force F between the joint and the bottom edge;

  • Angle C on the plate is subjected to a positive (anti-clockwise) torque M at the joint;

  • Distance E on the bar is subjected to a tensile force equal to the component of F along the centerline;

  • Distance H/2 on the bar is subjected to a tensile force equal to the component of F across the centerline; again, the sensitivity ∂Y/∂H is half the sensitivity ∂Y/∂(H/2).

  • Shift s1 corresponds to the force F at the joint;

  • Shift s2 corresponds to the torque M at the joint.

Each internal force is then used to calculate the sensitivity of Y to the dimension using Eq. (5). The results are shown in Table 2.

Table 2 Sensitivities for the diagonal bar assembly

The above results are verified using the variational method with analytical derivation. The coordinate frames established on the two parts are shown in Fig. 9a. The requirement Y is the vertical distance between the origins of frames 0 and 4, and results from a chain of transformations illustrated in Fig. 9b. The nominal and small-displacement matrices are set by inspecting the geometric relationships between the coordinate frames:

Fig. 9
figure 9

Verification of sensitivities for the diagonal bar assembly: (a) coordinate systems; (b) chain of transformations

$$T_{01}=\begin{bmatrix}1&0&A_0\\0&1&B_0\\0&0&1\end{bmatrix},DT_{11'}=\begin{bmatrix}1&0&\delta A\\0&1&\delta B\\0&0&1\end{bmatrix}$$
(24)
$$T_{12}=\begin{bmatrix}\cos C_0&-\sin C_0&0\\\sin C_0&\cos C_0&0\\0&0&1\end{bmatrix},\;DT_{22'}=\begin{bmatrix}1&-\delta C&0\\\delta C&1&0\\0&0&1\end{bmatrix}$$
(25)
$$T_{23}=\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix},\;DT_{23}=\begin{bmatrix}1&-\delta s_2&\delta s_1\sin C_0\\\delta s_2&1&\delta s_1\cos C_0\\0&0&1\end{bmatrix}$$
(26)
$$T_{34}=\begin{bmatrix}1&0&E_0\\0&1&H_0/2\\0&0&1\end{bmatrix},\;DT_{44'}=\begin{bmatrix}1&0&\delta E\\0&1&\delta H/2\\0&0&1\end{bmatrix}$$
(27)

The nominal transformation between the end features is

$$\begin{aligned} T_{04}=T_{01}T_{12}T_{23}T_{34}=\\=\begin{bmatrix}\cos C_0&-\sin C_0&A_0+E_0\cos C_0-H_0/2\cdot\sin C_0\\\sin C_0&\cos C_0&B_0+E_0\sin C_0-H_0/2\cdot\cos C_0\\0&0&1\end{bmatrix} \end{aligned}$$
(28)

hence

$$Y_0={\left[T_{04}\right]}_{23}=B_0+E_0\sin C_0+H_0/2\cdot\cos C_0$$
(29)

For a given set of random deviations δXi, the actual transformation is

$${{T}^{^{\prime}}}_{04}={T}_{01}D{T}_{1{1}^{^{\prime}}}{T}_{12}D{T}_{2{2}^{^{\prime}}}{T}_{23}D{T}_{23}{T}_{34}D{T}_{4{4}^{^{\prime}}}$$
(30)

hence

$$\begin{array}{c}Y_0+\delta Y={\lbrack{T{'}}_{04}\rbrack}_{23}=B_0+E_0\;sin\;C_0+H_0/2\cdot cosC_0+\\+\delta B+\left(E_0\;cosC_0-H_0/2\cdot sin\;C_0\right)\delta C+sin\;C_0\delta E+\\1/2\cdot cosC_0\cdot\delta H+\delta s_1+\left(E_0\;cosC_0-H_0/2\cdot sin\;C_0\right)\delta s_2\end{array}$$
(31)

Comparing (31) and (29) gives the expression of the output deviation:

$$\begin{array}{c}\delta Y=\delta B+({E}_{0}cos{C}_{0}-{H}_{0}/2\cdot sin\;{C}_{0})\delta C+sin\;{C}_{0}\delta E+\\ 1/2\cdot cos{C}_{0}\cdot \delta H+\delta {s}_{1}+({E}_{0}cos{C}_{0}-{H}_{0}/2\cdot sin\;{C}_{0})\delta {s}_{2}\end{array}$$
(32)

All the sensitivities are equal to those calculated from the static analogy and listed in Table 2.

5.3 Plates with geometric tolerancing

In Fig. 10a, plate 2 is connected to plate 1 with four machine screws in a rectangular pattern. The requirement Y is the distance between the left end of plate 1 and the right end of plate 2. Tolerances Th1 and Th2 are specified on the diameters Dh1 and Dh2 of the holes in the two parts. Composite position tolerances are also specified on the hole centers: pattern-locating tolerances Tp1 and Tp2 with datums on edges of the plates, and feature-relating tolerances Tf1 and Tf2 to limit deviations on hole positions within patterns. On plate 1, the feature-relating tolerance is set according to the fixed-fastener rule, i.e., it is equal to the difference between the diameters of the hole (Dh2) and the screw (df) at their maximum material condition (MMC). Profile tolerances Tw1 and Tw2 are specified on the right edges of the plates with datums on the corresponding left edges. The size tolerance on the screw is much smaller than those on the holes and is thus neglected.

Fig. 10
figure 10

Two-plate assembly: (a) specified tolerances; (b) equivalent dimensions

For the purpose of the analysis, the hole pattern on each part is represented by an abstracted feature that includes the centers of two holes on a diagonal. Geometric tolerances are converted to equal bilateral tolerances on the dimensions shown in Fig. 10b. These include A, B, C (linear distances) and D (angle) on plate 1, and E, G, I, L, M (distances) and H (angle) on plate 2. Furthermore, three assembly shifts are defined between the holes in plate 2 and the mating screws: horizontal and vertical displacements s1 and s2, and angular displacement s3. No shifts are considered on plate 1 as the screws engage with threaded holes with negligible clearance. Table 3 lists the dimensional tolerances as functions of the specified geometric tolerances and nominal dimensions.

Table 3 Dimensional tolerances and sensitivities for the two-plate assembly

Figure 11 shows the equivalent static model. Among the endpoints of requirement Y, the one on plate 2 is loaded with a horizontal force F, and the one on plate 1 is fixed both in translation and in rotation. The free-body diagrams provide the support reaction and the internal force between the two parts. These forces allow to calculate the sensitivity for each of the dimensions and shifts in Table 3 from Eq. (5). For this purpose, the internal forces associated with the dimensions of plate 1 are identified as follows:

  • A: horizontal tensile force F between the first point of the pattern and the left edge;

  • B: no vertical internal force;

  • C: no internal force between the diagonal points of the pattern;

  • D: negative (clockwise) torque F(M − G).

Fig. 11
figure 11

Equivalent static model for the two-plate assembly

On plate 2, an internal tensile force F acts between the origin of the pattern and the right edge; this force corresponds to dimension L − E, and is used to calculate the sensitivities associated with dimensions E and L from the chain rule:

$$\frac{\partial Y}{\partial E}=-\frac{\partial Y}{\partial (L-E)}\text{ , }\frac{\partial Y}{\partial L}=\frac{\partial Y}{\partial (L-E)}$$
(33)

In detail:

  • E: internal force F, regarded as compressive according to (33);

  • G: no vertical internal force;

  • H: positive (anti-clockwise) torque F(M − G);

  • I: no internal force between the diagonal points of the pattern;

  • L: internal force F, regarded as tensile according to (33);

  • M: no vertical internal force.

The following forces correspond to the assembly shifts of the upper plate:

  • s1: force F at the first point of the pattern;

  • s2: no force in the direction of the shift;

  • s3: torque F(M − G) at the first point of the pattern.

Again, the variational model is used to validate the results in Table 3. Figure 12a shows the six coordinate frames established on the two parts. The requirement Y is the horizontal distance between the origins of frames 0 and 6, and results from the chain illustrated in Fig. 12b. The transformation matrices are

Fig. 12
figure 12

Verification of sensitivities for the two-plate assembly: (a) feature coordinate systems; (b) chain of transformations

$$T_{01}=\begin{bmatrix}1&0&A_0\\0&1&B_0\\0&0&1\end{bmatrix},\;DT_{11'}=\begin{bmatrix}1&0&\delta A\\0&1&\delta B\\0&0&1\end{bmatrix}$$
(34)
$$T_{12}=\begin{bmatrix}\cos D_0&-\sin D_0&0\\\sin D_0&\cos D_0&0\\0&0&1\end{bmatrix},\;DT_{22'}=\begin{bmatrix}1&-\delta D&0\\\delta D&1&0\\0&0&1\end{bmatrix}$$
(35)
$$T_{23}=\begin{bmatrix}1&0&0\\0&1&0\\0&0&1\end{bmatrix},\;DT_{23}=\begin{bmatrix}1&-\delta s_3&\delta s_1\cos D_0+\delta s_2\sin D_0\\\delta s_3&1&-\delta s_1\sin D_0+\delta s_2\cos D_0\\0&0&1\end{bmatrix}$$
(36)
$$T_{34}=\begin{bmatrix}\cos I_0&\sin I_0&0\\-\sin I_0&\cos I_0&0\\0&0&1\end{bmatrix},\;DT_{4'4}=\begin{bmatrix}1&-\delta H&0\\\delta H&1&0\\0&0&1\end{bmatrix}$$
(37)
$$T_{45}=\begin{bmatrix}1&0&-E_0\\0&1&-G_0\\0&0&1\end{bmatrix},\;DT_{5'5}=\begin{bmatrix}1&0&-\delta E\\0&1&-\delta G\\0&0&1\end{bmatrix}$$
(38)
$$T_{56}=\begin{bmatrix}1&0&L_0\\0&1&M_0\\0&0&1\end{bmatrix},\;DT_{66'}=\begin{bmatrix}1&0&\delta L\\0&1&\delta M\\0&0&1\end{bmatrix}$$
(39)

The nominal transformation is

$${T}_{06}={T}_{01}{T}_{12}{T}_{23}{T}_{34}{T}_{45}{T}_{56}$$
(40)

The actual transformation including the stackup of random deviations δXi is

$${{T}^{^{\prime}}}_{06}={T}_{01}D{T}_{1{1}^{^{\prime}}}{T}_{12}D{T}_{2{2}^{^{\prime}}}{T}_{23}D{T}_{23}{T}_{34}D{T}_{{4}^{^{\prime}}4}{T}_{45}D{T}_{{5}^{^{\prime}}5}{T}_{56}D{T}_{6{6}^{^{\prime}}}$$
(41)

The deviation on Y is the appropriate element of the difference of the two transformations:

$$\delta Y={[({{T}^{^{\prime}}}_{06}-{T}_{06})]}_{13}$$
(42)

The above stackup model is used in Monte Carlo simulations for the calculation of sensitivities. For this purpose, nominal dimensions X0i are set to the numerical values listed in Table 4. The sensitivities (Si)MC are estimated as 90% confidence intervals of the means from 10 runs of the simulation with random samples of 100,000 parts; when no interval is shown, equal estimates are obtained in all runs. Table 4 also lists the sensitivities (Si)SA from the static analogy. The results are clearly in good agreement between the two methods.

Table 4 Results of the verification for the two-plate assembly

6 Discussion

Some considerations suggested by the above examples help to clarify the contribution of the present study both to the development of the static analogy and with respect to other methods of tolerance analysis.

The treatment of fits and fasteners is needed in any tolerance analysis method because it allows a proper estimation of assembly-level deviations resulting from joint clearances. In previous studies on the static analogy [4,5,6], it was assumed that the two mating features of size (shaft and hole) are always in actual contact as they have to transmit shear forces between the parts; consequently, the equivalent static model was used to find the sensitivities of the dimensions (e.g., diameters) of the features. The assumption is suitable for the study of truss structures and linkages, whose members invariably exchange forces at the joints. In a generic assembly, however, many types of fits (including those involving most types of fasteners) do not have the function of transmitting shear forces. As a result, features can assume an off-center relative position without coming into contact. The proposed procedure, which extends the 1D concept of assembly shift into 2D tolerance analysis, deals effectively with these cases so that the static analogy could cover a wider range of assembly designs. From this point of view, the examples highlight an interesting feature of the approach: once the correct number of DOFs has been correctly associated with a fit (single or multiple), the sensitivities are provided by the resolution of the equivalent static model without the need to predefine the directions of the individual part deviations.

The proposed extension can therefore be justified as an attempt to increase the completeness of the static analogy, in order to bring its application potential closer to other tolerance analysis methods. Many of these allow a treatment of fits and fasteners, generally with additional elements in the chain of geometric relations, as in the case of the variational model used as a baseline method for the examples. Compared to existing methods, however, the static analogy has some favorable properties with respect to two aspects mentioned in the literature review:

  • It allows direct linearization, i.e., evaluates the sensitivities without requiring a finite-difference plan of Monte Carlo simulations. This feature, which helps reduce the computational effort, is seemingly common only to the vector loop model as well as to some approaches for specific types of mechanisms. An easy calculation of sensitivities can streamline any type of stackup analysis (worst-case or statistical) with various assumptions on manufacturing processes (e.g., statistical distributions and process capabilities). It also provides a ready assessment of the relative effects of individual tolerances on the functional requirement.

  • It allows in principle a manual or spreadsheet-based solution of the tolerance analysis problem, which is currently only possible in 1D stackup problems. In most 2D cases, static calculations can be done graphically or by solving equilibrium equations; the use of a computer is not strictly necessary and the required knowledge is the same required for force analysis in mechanical design projects. It can be noted that analytical solutions, here sought for comparison purposes, are usually not required in design practice; static calculations would be even simpler if based on numerical values of the forces, which are sufficient to estimate the variation of interest.

On the critical side, the latter advantage could lead to limitations in some situations. When dealing with very complex assemblies, hand calculations are more complex and can be less convenient than a computer-based method. This is especially true for overconstrained assemblies, for which the static analogy has not yet been proven; in any case, these would generally require the use of finite element analysis software with possible doubts about the effectiveness and simplicity of the workflow.

Furthermore, some difficulties can be expected in perspective of an integration of the static analogy in CAD-based software. Some interactive decisions are needed along the way to solve a tolerance analysis problem. The first one is the setup of the assembly shifts, which requires an understanding of possible misalignments and their potential effects on the functional requirement. The second one is the correct association of dimensions and shifts to internal forces of the equivalent static model. Further work will be needed to prove that these steps can be automated for a full software implementation.

7 Application

The workflow of the static analogy is now demonstrated on a simple realistic case of tolerance analysis. Figure 13 shows the mounting of an electric motor on a fixed frame using a bracket and threaded fasteners. The variation on the functional requirements Y1, Y2, Y3, and Y4, indicated on the assembly drawing, is to be estimated. Dimensional and geometric tolerances are specified on the three main parts as detailed in Fig. 14. The calculation will neglect any form error and deformation of the parts, as well as the deviations on the diameters of the M4 bolts.

Fig. 13
figure 13

Electric motor assembly

Fig. 14
figure 14

Parts of the electric motor assembly

For the purpose of the analysis, the geometric tolerances are translated into equivalent plus-minus tolerances on the linear and angular dimensions shown in Fig. 15. The hole patterns are represented by their centers, and appropriate assembly shifts are defined where needed. For the holes on the horizontal wall of the bracket, s1 and s2 are the misalignments with respect to the frame in the longitudinal and angular directions, respectively. For the holes on the flange of the motor, s3 and s4 are the misalignments with respect to the bracket in the horizontal and vertical directions, respectively. Table 5 describes the calculation of the tolerances for all the dimensions and the assembly shifts. The tolerances on s3 and s4 are the RSS stackup of two terms because the bolts shift with respect to both the bracket and the motor.

Fig. 15
figure 15

Dimensions and shifts for the electric motor assembly

Table 5 Tolerances for the electric motor assembly

Figure 16 shows the equivalent static models for the analysis of the four requirements. External forces F are applied to the shoulder of the motor shaft in the directions of Y1 and Y3, while external torques M are applied to the end journal of the same shaft in the directions of Y2 and Y4. The internal forces for each loading are calculated by solving the exactly constrained free-body diagram. Table 6 lists the sensitivities of the requirements with respect to the tolerances.

Fig. 16
figure 16

Equivalent static models for the requirements of the electric motor assembly

Table 6 Sensitivities for the electric motor assembly

The RSS equations give the resulting tolerances on the four requirements:

$${T}_{Y1}=\sqrt{{S}_{H1}^{2}{T}_{H}^{2}+{S}_{N1}^{2}{T}_{N}^{2}+{S}_{41}^{2}{T}_{4}^{2}}=0.97\text{ mm}$$
(43)
$${T}_{Y2}=\sqrt{{S}_{C2}^{2}{T}_{C}^{2}+{S}_{Q2}^{2}{T}_{Q}^{2}}=0.015\text{ rad}=0.88^\circ$$
(44)
$${T}_{Y3}=\sqrt{{S}_{A3}^{2}{T}_{A}^{2}+{S}_{E3}^{2}{T}_{E}^{2}+{S}_{13}^{2}{T}_{1}^{2}+{S}_{P3}^{2}{T}_{P}^{2}}=0.78\text{ mm}$$
(45)
$${T}_{Y4}=\sqrt{{S}_{B4}^{2}{T}_{B}^{2}+{S}_{G4}^{2}{T}_{G}^{2}+{S}_{24}^{2}{T}_{2}^{2}+{S}_{R4}^{2}{T}_{R}^{2}}=0.025\text{ rad}=1.44^\circ$$
(46)

8 Conclusions

The proposed method has the potential to simplify tolerance analysis on assemblies including fits and fasteners. For this purpose, it integrates the two concepts of assembly shift and static analogy. The assembly shift, commonly used in the analysis of 1D dimension chains, excludes the sizes of mating features (e.g., the diameters of holes, shafts, and fasteners) from the dimension chain; their effect on assembly-level variation is accounted for by an additional zero-mean dimension, whose tolerance is calculated from the LMC dimensions of the features. The static analogy allows the extension of the assembly shift to 2D dimension chains, avoiding the need to predefine the worst-case direction of the misalignment between the features or to simulate the relative position of the two features using more complex mathematical formulations.

Application to some test cases has shown that the method provides correct results in comparison with existing methods. Compared to these, it could provide the following advantages:

  • Direct linearization, which avoids Monte Carlo simulation plans;

  • Use of procedures deriving from structural analysis, customary in mechanical design, and possibly carried out graphically or with simple manual calculations.

On the other hand, further developments are needed to overcome the following shortcomings:

  • Possible difficulties in the application to complex assemblies, which may require more effort to solve the static models;

  • Incomplete automation of the procedure, which could require interactive decisions in a possible CAD-based software implementation;

  • Current limitation to exactly constrained assemblies with rigid parts;

  • Treatment of geometric tolerances through conversion into equivalent dimensional tolerances, without complete coverage of tolerancing standards;

  • Need to extend the method to 3D dimension chains, through a broader classification of the force-tolerance correspondences considered in the static analogy.