Analysis of tolerances and process inaccuracies in discrete part man ufactu ring Peter Hoffmann
This paper discusses basic problems of tolerancing mechanical parts. The problem of part design analysis (determination o f consistency, determinacy and stability) is reduced to the analysis o f systems o f linear inequalities. It Is shown that the calculation o f resulting tolerances between components of parts can be easily solved by linear programming. A method is provided for the construction of a system o f inequalities which the working dimensions and inaccuracies of machining operations must satisfy if a given tolerance specification is to be met. computer-aided design, computer-aided manufacturing, tolerances Automatic analysis of tolerances and process inaccuracies is made difficult by a number of interpretational, theoretical, and algorithmic problems. This is one reason why recent automatic process planning systems handle tolerances and process inaccuracies in rather simplified ways. It is very common, for example, to consider tolerances as attributes of individual or groups of surface elements, which bear no relation to other surface elements or tolerances z'2 . Previous work 3-~ is aimed at evaluating existing tolerancing methods and shaping a theory of tolerancing. This paper is intended to contribute to the solution of the problem of part design analysis and tolerance allocation. In the first section a mathematical model for a certain class of tolerances is outlined. This class includes traditional plus/ minus tolerances and some tolerances of modern tolerancing 7 . The next section formulates simple problems of tolerance analysis and suggests solutions. The last section illustrates the method. Besides developing a model of direct practical interest, the paper provides insights into a wider class of (partly unresolved) problems.
MATHEMATICAL BACKGROUND In engineering practice, many positional tolerances restrict the relative position of simple geometric (ideal) surfaces, which are assigned to the real surfaces of parts by some rules. This is why, in what follows, real parts will be modelled by sets of geometric surfaces. We are going to discuss only the case of assigned points and lines of the 1 D and 2D Euclidean spaces. In the paper such points are called D-points, such lines are D-lines, and the common term for them is D-elements. The method described below can also be applied to other types of D-elements. We are not Production Engineering Department,BudapestTechnical University, 1111 Budapest, Kende u 8-10, Hungary
volume 14 number 2 march 1982
going to discuss the rules by which D-elements are assigned to real parts. It is assumed that these rules are properly defined in tolerancing standards. Many tolerances of form used in engineering practice can also be described in terms of D-elements, if scalar attributes are assigned to the D-elements (eg 'thick' D-elements are introduced). Such extensions are trivial and are not discussed in the paper. The equivalence classes of sets of D-elements, which are Io¢.ated differently in space and have the same configuration (shape) are known as D-models of parts. The elements of such an equivalence class are instances of the D-model 4 . D-models are used in this paper to model real parts or, more exactly, those features of real parts which are essential in tolerancing. D-models do not carry all the information necessary for geometric modelling of parts. The terms 'part' and 'D-model' will be used as synonyms to 'D-model of a part'. Instances of D-models consisting of n 1 D D-points (2D D-lines) can be represented by n (2n) dimensional vectors, the components of which are independent positional parameters of the D-elements. Such vectors are known as parameter vectors of the D-models. The selection of parameters must ensure their independence. Shape functions are scalar-valued functions of instances of D-models which are invariant under translation and rotation. The value of shape functions is equal for all instances of the same D-model. For calculations, shape functions are expressed as functions of parameter vectors. Tolerance functions are monotonic shape functions, which have continuous derivatives with respect to all their arguments. The value of tolerance functions is thus finite, whenever its arguments are finite. Tolerance functions are used as measures of how parts perform given mechanical functions. Signed distances, angles, etc between D-elements can be used as tolerance functions, together with such 'integral' measures as volume, moment of inertia, etc. A tolerance specification specifies permitted configurations of D-models by imposing tolerance zones of relatively small but positive width onto values of tolerance functions. A tolerance specification is expected to uniquely specify a D-model with the accuracy of variations within the permitted tolerance zones. The term 'uniqueness' of a tolerance specification is used below in this sense. To any tolerance specification there corresponds a set of inequalities, the elements of which are of the following type: L <__f(x) <__U
0010-4485/82/020083-06 $03.00 © 1982 Butterworth & Co (Publishers) Ltd
/1)
83
where
n
x parameter vector of a part f tolerance function L, U lower and upper bounds of the tolerance zone Since f is a tolerance function, all instances of a D-model generated by any solution (of the system of inequalities) of a tolerance specification are also solutions. In order to ensure uniqueness of the solutions, their location must be fixed in space. This can be achieved by attaching a system of equations to the system of inequalities, ie by solving the system in an LCS [local coordinate system). The set of solutions of a tolerance specification in an LCS is denoted byM. Nonlinearity of tolerance functions make calculations difficult. Since~ however, (U - L) in (1) is small, it can be assumed that there exists a part Xo such that all tolerance functions of a given tolerance specification can be approximated by linear functions on such a neighbourhood of Xo, which contains M. Tolerance specifications thus take the following form:
L _< f(x0) + TAx <_ U
(2)
where L, U vector of tolerance bounds f vector of tolerance functions T matrix of partial derivatives of f in x0. The parts x0 are nominal parts of the given tolerance specification. Note that in this definition nominal parts are not necessarily solutions of their tolerance specifications. Tolerance specifications do not necessarily specify nominal parts, since upper and lower bounds are sufficient. It is, however, easy to construct procedures to find a nominal part for any tolerance specification. Monotone tolerance functions and the possibility of linear approximation ensures uniqueness of determinate tolerance specifications. A tolerance specification is consistent if there exists at least one D-model which solves it, or, what amounts to the same, M =~ O. A tolerance specification is determinate if for any tolerance function f: f(x) < oo V x e M
It is easy to show that a tolerance specification is determinate if and only if x
n[o,b]
dimensionality of x number of equations defining an LCS
DOF
b>o
The notion of stability relates to machinability. Unstable tolerance specifications cannot be met by inaccurate processes. It can be shown, that a tolerance specification is stable if and only if
A tolerance specification is overdimensioned if it constrains more than n independent tolerance functions, n being the dimensionality of x. The tolerance matrix T in (2) of a consistent, determinate and not overdimensioned tolerance specification is invertible. A machining operation (operation, for short) generates a new D-element. Operations are performed (new D-elements are generated) in the coordinate system of the operation, which is previously rigidly attached to (an LCS of) the part. This LCS is known as the locating LCS, or simply location of the operation. The position of the newly generated D-element in the CS (coordinate system) of the operation is different for different executions of the operations. We say that the operations are inaccurate. Inaccurate operations can be characterized by the set of possible positions of the new D-element. In such a model all possible positions are given equal weight. A more accurate model would take into account the probability distribution of the positions and use statistical measures in the analysis. Unless otherwise mentioned we shall use the first model in this paper. Parameters of one of the possible new D-elements are selected as the working dimension of the operation. The attachment of the CS of an operation to the part also has an inaccuracy, the result of which is the setup error. This inaccuracy can be characterized by the set of possible relative positions of the location and the operation CS. This notion of machining operations applies to those cases in which part surfaces are machined in one step (to finishing operations), supposing the position of the new element does not depend on the condition of surface before machining. This model can be trivially extended to cover the case of subsequent machining of surfaces. To this end D-elements have to be assigned to each intermediate stage of each surface and be included into the D-model. An operation sequence plan specifies a series of operations for producing a part. For each operation, the operation sequence plan specifies its location, working dimension, and inaccuracy. In this paper we ignore all other information carried by real operation sequence plans. Since operations and setups are inaccurate, different executions of a given operation sequence plant result in parts of different configuration. Thus to a given operation sequence plan there corresponds a set of possible configurations of the resulting part or, what amounts to the same, a set of parameter vectors. Let 5p be this set for a process plan P. The set Sp is a function of operation and setup working dimensions and inaccuracies: S~ : { x = Xo + Axo + Ax: A x e I] ~h)}
(3.1)
where XO + ~ 0 XO
h
part produced if all operations result in their working dimensions a nominal part of the tolerance specification vector of process and setup inaccuracy parameters denotes the said function
dim (M) = n - DOF, where dim (M) number of dimensions of M
84
Let us assume that the set H (h) is of the form: IAxl <_P.h, h > 0
(3.2)
computer-aided design
where the componentsof h are independentand Ixl denotes absolute value taken by components. It is easyto show that this assumptionis not too restrictive for practical applications. An operation sequenceplan P satisfiesa given tolerance specification ifSp C M, where M is the set of different solutions of the tolerancespecification.Considering(2) and (3), the condition Sp C_M can be expressedas: L - f(xo) <__ T ~Xo + ITIPh ___U - f(xo)
(4.1)
If the tolerance zones are symmetric (and they may well be required to be, even for overdimensioned specifications), and AXo = 0 jan assumption easily justifiable if the tolerance zones are symmetric), (4.1) can be simplified to: ITI Ph _< t
~4.2)
Alternative expressions can be constructed to obtain better "eStimates of h.
BASIC PROBLEMS OF TOLERANCING The analysis of tolerance specifications is aimed at the recognition of consistency, determinacy and stability. It follows from the previous section that this problem reduces to the recognition of consistency of a system of linear inequalities and to the recognition of the boundedness and dimensionality of its set of solutions. Some special tolerance specifications are in practice analysed by direct methods. Overdimensioned designs, even 1D ones, can, however, be analysed only by analysing the corresponding system of linear inequalities. Calculation of resulting tolerances between components of a part in our terms means the calculation of the maximal and minimal value of a tolerance function over the set M of different solutions of the design. If a design is not overdimensioned, direct expressions can be developed. In the general case, however, linear programming has to be resorted to. The solution based on linear programming is especially well suited for implementation in automatic tolerance analysis systems. After the tolerance specification has been input to such a system, the designer can simply declare the type of tolerance function, the variability of which interests him, and point out its arguments (components of the parameter vector). The system can then find the answer without the user performing any manipulation on algebraic expressions. In the inverse problem a tolerance specification and an operation sequence plan is given. Working dimensions and uncertainties of all operations and setups have to be found such that the resulting parts meet the specification (the tolerance allocation problem). Usually it is required that the values selected maximize (minimize) a given target function. Target functions may reflect the fact that more accurate operations are more expensive. Although in practice additional constraints are imposed leg process inaccuracies must be selected from a given finite set), we are investigating only this simple problem. The solution of the tolerance allocation problem is based on the application of equation (4). This is consistent and has an h > 0 solution, if the tolerance specification is consistent and stable. In this case, as we have shown, dim ( M ) = n - DOF and thus an (n - DOF) -dimensional body of nonzero volume can be inscribed into M. The inequalities define such bodies. The key to the solution of the tolerance allocation
volume 14 number 2 march 1982
problem thus lies in the finding of expressions for the function P of equation (4.2). We assume that the effect of different sources of parameter component variabilities can be summed up. The following three sources must be considered: •
inaccuracy of the operation, which generates the given D-element • inaccuracy of the components of intermediate locations lie locations, the D-elements of which are themselves generated by operations) • inaccuracy of setups Factors of the first type make the position of the new element vary in the CS of the operation, those of the second and third types cause the position of the CS of the operation vary. The summation of variabilities can be carried out if the effects of all sources are transformed into a common CS, eg to an LCS of the part. Due to factors of the second and third types, this transformation itself also has a variability. This transformation is not trivial since L~c is not a simple point vector but, instead, a vector, groups of components of which may be point vectors while other components may not. It is worthwhile to select vector lengths and angles as components of ~ since these are invariant under CS transformations. The constraints lAx*l<_ P'h* which hold in an operation's CS for the parameter vector of the new D-element can then be incorporated unchanged into the system of inequalities of type ~4.2) after the variability of the corresponding intermediate CSs have also been taken into account. This latter can be done by adding a new term to the right-hand sides to get I~*1 _
APPLICATION
Definitions The above theory is easily applicable to 1D D-models. Figure 1 shows how 1 D D-models can be used to model real situations. We are not going to discuss details of this case. In the sequel, the 2D problem of planar polygons is discussed to illustrate the method. In this example, the D-elements are straight lines of 2-space. The following tolerance functions can be considered: • distance between two intersection points of D-edges • distance between a D-edge and an intersection point
f~ MIF-----
al
L F
I
Figure 1. I D D-model of pert
85
• angle between two D-edges • distance between two parallel D-edges The usual meaning of the latter tolerance function (which in fact consists of two functions) as established by tolerance standards is illustrated in Figure 2. The distance of (Lt, L2 ) is to be measured along the common part of the two 'parallels'. It is easy to prove that at the first approximation the value of these two tolerance functions does not depend on the edge taken as the basis of the measurement. Similarly the value of the functions is not affected by 'small' changes of the length of the D-elements. In the algebraic expressions of shape functions, the position of a D-element will be represented by two parameters. These parameters are defined in the following way. Consider a nominal part of a tolerance specification. Let a perpendicular be erected to each D-edge of the nominal part in its midpoint. D-edges will be defined by their intersection points s with their corresponding perpendiculars and the direction ~0of their normals. Thus Xo in (2) is composed of pairs Xo = (So, ~00),Ax of pairs (As, L~p); where so, ~o are parameters of the nominal part, As = + length ~s - s0). The first-order difference of the tolerance function (two tolerance functions, in fact) which constrains the distance between two parallel lines can be expressed through this set of positional parameters the following way (see also Figure
:2): AL =+AS 1 +L~S2 + d l l * Z~pI-T-d21 *~P2 AL = +-~1 + AS2 T-d12 * ~Pl + d22 * Z~P2
This
on
the drawing
t_
d~j
dzz
..J_.
T L*-7
dtt
j "T"
Means this
I i
L-T<_XI<_L+T ; L-T~_X2C_L*T
Figure 2. Interpretation of 2D tolerance function
86
6O Ls
LI
/x~ 90~ 0.5
50,_I I00" 2
Figure 3. Engineering drawing of '2D'part
where dij is the nominal distance from si to thejth end of the 'common segment'. The signs in these expressions are obtained by forming the derivative of the signed distance function. Since these signs depend on the nominal shape of the parts, together with the type of tolerance functions and their arguments, they must also be input into an automatic tolerance analysis system. Similar expressions can be constructed for the first-order differences of all other tolerance functions. Let the uncertainty of a 2D operation be defined as consisting of two independent components denoted h s and h~. Let P be defined through 1L~ I.__
Analysis of 2 D tolerance specifications 2D tolerance specifications can be analysed by establishing the properties of systems of linear inequalities. As an example, consider the specification, illustrated by Figure 3. Let L i = (si, ~0/)denote the D-edges of the part. Let L2 of the stock be exactly perpendicular to L 1. Let us assign an LCS to (L2, Lz) by assuming ZSsl, Z~pl, As2 and ~P2 = 0. Let the nominal part be defined by the middle values of the dimensions, given on the figure. It is not evident from the figure (an unpleasant property of engineering drawings), that the (100 + 2) and (50 + 1) tolerances constrain the distance of two parallels (they might as well limit the distance between points of intersections). We shall take As positive, whenever the corresponding s point lies outside the nominal part. The system of inequalities of this tolerance specification has the following form:
computer-aided design
49 -< 50 + ~53 - 30 L~p3 <_ 51 49 <__50 + ~53 + 30 ~ps --<51
L2
LI
98 <_ 100 + ~Ss - 5 ~Ps <__102 98 < 100 +ASs + 5 Z~ps < 1 0 2
(5)
44.<__45 +~04 -<46 77 <__77.8 + ~54 -< 78.6 The system (5) reflects the obvious fact that the design is consistent, determinate and stable. Figure 4 for example shows possible pairs of ~$3 and ~ 3 .
l- 3
2D tolerance allocation The major problem in 2D tolerance allocation is that of expressing the effect of process and setup inaccuracies, given in their own coordinate systems, in a common CS. The variabilities of the above selected D-edge parameters remain unchanged when transformed from the CS of the operation generating the D-element, to the common CS. This is of course not true for other sets of D-edge parameters. Intermediate CS variabilities could be characterized by two parameters: by the variability of the x direction and that of the position of the origin. These components affect parameters of dependent D-edges the following way: variability of the x direction increases the variability of the ~0, that of the position of the origin the variability of the &s parameter of all dependent D-edges. The latter increase is equal to the projection of the scatter area onto the nominal normal of the D-edge. Consider now the tolerance specification of Figure 3. Let this part be machined according to the sequence plan of Figure 5, in which each node represents a D-element. Operations are represented by directed edges, the two origins of which are the components of the locations. The terminal nodes are the new D-edges. We express the variabilities of each D-edge in the CS attached to (L2, Lz). The variability of L3 is due to the inaccuracy of operation I and the initial set up to (L2, L1). The variability of L4 and Ls (in L2, L1) is due to four factors: inaccuracy of operations II and III respectively, inaccuracy of setups to (L1, L3) and (L2, L l), and variability of (L1, L3) due to the variability of L3. Under our rules of CS assignment, the latter causes the origin of
~AS3
J'~'\
343
Figure 4. Partial solutions of 2D tolerance specification volume 14 number 2 march 1982
Figure 5. Graph of 2D process plan
(L1, L3) to vary only in the direction of L1 by the value of z~S3 . The following constraints hold:
i ~S3 I < his + hic IZ~3 I<_h/~ + h l ~ [ L~Ss i <_hills + h= c + hie + 0 I ~Sz I
I~#s I
0 where his , hi~, i = I, II, III are the inaccuracies of operations and hic, hl~, i = 1,2 are the inaccuracies of setups to [L=, L l ) and (LI, L3) respectively. Substitution of these constraints into [5) yields the system of inequalities for process inaccuracies which we were looking for.
CONCLUSIONS The paper describes how the problem of tolerance specification analysis can be (automatically) solved for a class of tolerances by recognizing properties of systems of linear inequalities. A method is presented for finding inaccuracies of operations if a tolerance specification is to be satisfied. The solution of this problem is not as straightforward as that of tolerance specification analysis, since it includes the analysis of special graphs, different process and setup inaccuracy patterns, and CS assignment rules. It also requires actual operation and setup inaccuracies to be identified through their effect on variability of D-element positions. It can be seen, that the solution of even simple problems is numerically and algorithmically difficult. Nevertheless, the author is convinced that practice will require such solutions. It seems therefore worthwhile to continue this work in all of the following directions: • analysis of tolerances which do not fit into D-models • solution of the tolerance allocation problem in extended formulations • analysis of tolerances and process inaccuracies by probabilistic methods • development of fast computer algorithmus (eg decomposition of the problem through the recognition of peculiarities of the actual problem)
,
87
REFERENCES 1 Horv~.th, M Semi-generative process planning for manufacturing SME Technical Paper MS79-153 2 Bruevitsh, N G and Tshelishtsheff, B E 'Problem of automating technology planning' Proc. Acad. ScL USSR Sect. Tech. Cybernetics (1974) No 5 p 194 3 Hillyard, R C and Braid, I C 'Analysis of dimensions and tolerances in computer-aided mechanical design' Comput. AidedDes. Vo110 No 3 (1978) p 161
88
4 Requicha, A A 'Dimensioning and tolerancing' Report TM19, Production Automation Project, The University of Rochester, USA (I 974) 5 Bjorke, O Computer aided tolerancing Tapir, Norway (1978) 6 Light, R A Symbolic dimensioning in CAD MS thesis MIT, MA, USA (1980) 7 Dimensioning and tolerancing ANSl Standard Y 14.5 (1973)
computer-aided design