18
Computer-Aided Design 38 (2006) 902–919 www.elsevier.com/locate/cad Generation of functional tolerancing based on positioning features Bernard Anselmetti * IUT de Cachan, Laboratoire Universitaire de Recherche en Production Automatis´ ee, ENS de Cachan, 61, avenue du Pr´ esident Wilson, 94235 Cachan, France Received 13 July 2005; accepted 19 May 2006 Abstract The aim behind applying functional tolerancing to a mechanism is to widen the tolerances used in parts manufacturing according to the effective functional properties of the product. This step may be performed using CAD systems and geometrical specifications defined by ISO standards. The present paper will describe the complete process involved in functional tolerancing. The CLIC tolerancing method has been implemented within an Excel software environment. CAD models for parts have been imported via a STEP interface. According to this approach, the designer describes the assembly process; the CLIC system then determines the functional requirements corresponding to the joints between parts and generates all datum reference frames and tolerancing of set-up surfaces in compliance with ISO standards. CLIC also determines both the geometrical conditions of minimum distances in order to avoid interference between parts and the conditions for assembling small standard components. The designer next adds other functional requirements. For each such requirement, a tolerancing process creates location and orientation specifications for influential parts using datum reference frames derived during the previous stage. Excel formulae focusing on the sum of tolerances are generated using a three-dimensional statistical approach. Moreover, the tolerance database allows optimizing the tolerances and nominal dimensions of parts. c 2006 Elsevier Ltd. All rights reserved. Keywords: Computer-aided tolerancing; Positioning features; Synthesis of specifications; Synthesis of tolerances; ISO language 1. Introduction The purpose behind functional tolerancing is to generate mechanical drawings of the parts of a mechanism, with such drawings serving to define acceptable component geometry by means of ISO tolerancing. The functional tolerancing of mechanisms has now become well accepted in industry since this approach yields both quality improvement and tolerance widening, thereby reducing manufacturing cost. A requirement is a physical or geometrical condition that must be respected in order to allow for product manufacturing and assembly or to obtain successful product operations that match desired performance. Functional tolerancing entails verifying all functional requirements and identifying them with respect to geometrical constraints (e.g. some 1800 requirements must be checked for an automotive gearbox). For each requirement, the designer must determine the set of influential parts and derive the relationship between the geometrical requirement and three- dimensional surface deviations. Beginning with degrees of * Tel.: +33 1 47 40 29 71; fax: +33 1 47 40 22 20. E-mail address: [email protected]. freedom, ISO specifications and tolerance values may then be chosen. In functional tolerancing, requirements are expressed under unilateral geometrical conditions. The set of conditions generates a substantial number of tolerance chains and bilateral parts specifications. Designers however do not presently possess either an efficient manual method or any computer-aided software and, as such, are experiencing tremendous difficulties. Current CAD systems can only analyze those specifications developed by designers, which serves to ensure the consistency of geometrical specifications. Many specific systems are available for unidirectional requirements without use of a 3D ISO tolerancing approach [1]. Any CAD system could yield an estimation of the result for chosen tolerances under a considerable number of hypotheses. This paper will present the CLIC (“Cotation en Localisation avec Influence des Contacts”) system developed in our labo- ratory since 1998. This system proposes the automatic gener- ation of functional requirements and functional specifications in accordance with ISO tolerancing standards. CLIC system can optimize both the tolerance values and nominal dimen- sions of CAD models. In order to achieve these goals, the 0010-4485/$ - see front matter c 2006 Elsevier Ltd. All rights reserved. doi:10.1016/j.cad.2006.05.005

Generation of functional tolerancing based on positioning features

Embed Size (px)

Citation preview

Page 1: Generation of functional tolerancing based on positioning features

Computer-Aided Design 38 (2006) 902–919www.elsevier.com/locate/cad

Generation of functional tolerancing based on positioning features

Bernard Anselmetti∗

IUT de Cachan, Laboratoire Universitaire de Recherche en Production Automatisee, ENS de Cachan, 61, avenue du President Wilson, 94235 Cachan, France

Received 13 July 2005; accepted 19 May 2006

Abstract

The aim behind applying functional tolerancing to a mechanism is to widen the tolerances used in parts manufacturing according to theeffective functional properties of the product. This step may be performed using CAD systems and geometrical specifications defined by ISOstandards. The present paper will describe the complete process involved in functional tolerancing. The CLIC tolerancing method has beenimplemented within an Excel software environment. CAD models for parts have been imported via a STEP interface. According to this approach,the designer describes the assembly process; the CLIC system then determines the functional requirements corresponding to the joints betweenparts and generates all datum reference frames and tolerancing of set-up surfaces in compliance with ISO standards. CLIC also determinesboth the geometrical conditions of minimum distances in order to avoid interference between parts and the conditions for assembling smallstandard components. The designer next adds other functional requirements. For each such requirement, a tolerancing process creates locationand orientation specifications for influential parts using datum reference frames derived during the previous stage. Excel formulae focusing on thesum of tolerances are generated using a three-dimensional statistical approach. Moreover, the tolerance database allows optimizing the tolerancesand nominal dimensions of parts.c© 2006 Elsevier Ltd. All rights reserved.

Keywords: Computer-aided tolerancing; Positioning features; Synthesis of specifications; Synthesis of tolerances; ISO language

1. Introduction

The purpose behind functional tolerancing is to generatemechanical drawings of the parts of a mechanism, with suchdrawings serving to define acceptable component geometryby means of ISO tolerancing. The functional tolerancingof mechanisms has now become well accepted in industrysince this approach yields both quality improvement andtolerance widening, thereby reducing manufacturing cost. Arequirement is a physical or geometrical condition that mustbe respected in order to allow for product manufacturing andassembly or to obtain successful product operations that matchdesired performance. Functional tolerancing entails verifyingall functional requirements and identifying them with respect togeometrical constraints (e.g. some 1800 requirements must bechecked for an automotive gearbox). For each requirement, thedesigner must determine the set of influential parts and derivethe relationship between the geometrical requirement and three-dimensional surface deviations. Beginning with degrees of

∗ Tel.: +33 1 47 40 29 71; fax: +33 1 47 40 22 20.E-mail address: [email protected].

0010-4485/$ - see front matter c© 2006 Elsevier Ltd. All rights reserved.doi:10.1016/j.cad.2006.05.005

freedom, ISO specifications and tolerance values may then bechosen. In functional tolerancing, requirements are expressedunder unilateral geometrical conditions. The set of conditionsgenerates a substantial number of tolerance chains and bilateralparts specifications.

Designers however do not presently possess either anefficient manual method or any computer-aided software and,as such, are experiencing tremendous difficulties. CurrentCAD systems can only analyze those specifications developedby designers, which serves to ensure the consistency ofgeometrical specifications. Many specific systems are availablefor unidirectional requirements without use of a 3D ISOtolerancing approach [1]. Any CAD system could yieldan estimation of the result for chosen tolerances under aconsiderable number of hypotheses.

This paper will present the CLIC (“Cotation en Localisationavec Influence des Contacts”) system developed in our labo-ratory since 1998. This system proposes the automatic gener-ation of functional requirements and functional specificationsin accordance with ISO tolerancing standards. CLIC systemcan optimize both the tolerance values and nominal dimen-sions of CAD models. In order to achieve these goals, the

Page 2: Generation of functional tolerancing based on positioning features

B. Anselmetti / Computer-Aided Design 38 (2006) 902–919 903

Fig. 1. CLIC system structure.

Fig. 2. CAD model of the studied mechanism obtained using CATIA V5.

approach adopted consists of the seven following steps afterCAD model import (see Fig. 1), including tolerance specifica-tion, tolerance analysis and tolerance synthesis [2]. The usedtolerancing model [3,4] is similar to [5].

The CLIC approach will be displayed in this paper with asimple mechanism that contains a shaft set up in two differentparts, a body part and a housing part (see Fig. 2).

2. Definition of the mechanism

2.1. Description with positioning tables

The objective of the positioning tables is to make itpossible to the designer to express his intents when definingthe interfaces between parts. The positioning of each part isdefined with regards to the assembly process and the possiblegeometrical defects of the manufactured parts.

The CLIC system uses (Microsoft) Excel spreadsheets inorder to both describe the mechanism and build the tolerancedatabase. Nominal models of parts are exported out of a CADsystem, such as CATIA V5 (Dassault Systemes), via the STEPinterface and introduced into Excel spreadsheets by means ofVisual Basic Application (VBA) procedures. The STEP BREPrepresentation contains both classical surfaces (plane, cylinder,cone, torus) and complex surfaces. Each face is limited by oneouter bound and many inner bounds built using edge loops.

Edges may be lines, circles or curves. Two vertices limit eachedge.

Within the CLIC environment, each part is identified byan EXCEL spreadsheet; each face of each part is identifiedby one row in an EXCEL range. For example, a boring isdefined by a vector (cx, cy, cz), two points at the extremitiesof the boring (Xe, Y e, Ze) and (X f, Y f, Z f), and one radius.Each face is limited by a contour defined as either a circle ora convex polygon. Chamfers and filets are also identified. Athreaded blind hole would be considered as one such feature.Starting from this data, each part can then be drawn in asimple Excel spreadsheet (see Fig. 29). The mark of singlefaces is determined from a STEP extraction and can be shownby pointing to one of its edges with the mouse. For example,PL11 = plane #11, CYC1 = empty cylinder #1, CYP12 =

full cylinder #12. Topological proprieties may be detected bymeans of a recognition procedure (i.e. set of similar holes,coaxialities, symmetries) in order to preserve the part shapeduring optimization of nominal part dimensions (see Section 7).

The functional tolerancing of a mechanism depends onboth the assembly process and the designer’s intentions. It isessential to identify the joint set-up surfaces between parts,should the designer be seeking mobility or clamping in acylindrical link, as well as the preponderance order chosen bythe designer in order to avoid failures that could be inducedby positioning surface deviations. The preponderance order ofsurfaces is defined according to the ISO datum reference framestandard [6]; the primary joint suppresses the majority of thedegrees of freedom, while the secondary and tertiary jointssuppress the other mobilities.

The CAD model is not sufficient for automaticallyidentifying these joints between parts. The assembly tree is notreliable; for example, a coaxiality constraint between two axesallows locating parts within a CAD environment but does notidentify the cylinders providing the link. The CAD assemblyanalysis can yield contact planes and many coaxial cylinderscapable of performing the link, yet it proves very difficult todistribute these surfaces in the set of joints between parts in

Page 3: Generation of functional tolerancing based on positioning features

904 B. Anselmetti / Computer-Aided Design 38 (2006) 902–919

Fig. 3. Positioning table of the shaft.

Fig. 4. Positioning features.

a way that respects the preponderance order, especially in thepresence of a link component, such as a screw or pin.

CLIC imposes a method for describing the assemblyprocess, with the positioning process beginning by thecomponent called base. Other components are next set intoplace step by step on the current mechanism. Subsets can beseparately built with a specific base and then placed on themechanism. In order to eliminate ambiguities, the designermust describe the positioning tables of each part and part subset(see Fig. 3). For each joint, the surfaces in contact are associatedwith primary, secondary and tertiary features with respect tojoint preponderance.

Each positioning table (Fig. 3) is composed of six rows andthree columns as follows:Row 1: the name of the component or of the block, its mark,the state name of the setting-up [7] and the name of the tableauthor.Row 2: the type of positioning feature (Fig. 4) defined bykeyword [8].Row 3: the names of datum reference frame and codes for thesurfaces of the studied component that belong to the particularjoint (e.g. surface 12s would be surface number 12 of shaft s).Row 4: the nature of the interface if the joint is direct(simple contact, clearance, fitting surfaces) or the componentof interface if the joint is not direct (screw, pin, glue, etc.).

Row 5: the type of underlying positioning feature defined bykeywords.Row 6: names of the datum reference frame and codes of theunderlying component.Column 1: the primary joint.Column 2: the secondary joint.Column 3: the tertiary joint.

Fig. 4 presents the set of positioning features capable of de-scribing all mechanisms tested over the past 9 years, includingcomplex industrial systems. Fitting features correspond both tothe size features defined in ISO standards and to threads. Aclearance fit and an interference fit have been depicted. A com-ponent can associate these features, such as a screw, pin and ballbearing. Surface features naturally lie in contact with or maypossibly be separated by means of a gasket, paint, glue, etc.

The designer is able to define positioning tables by means ofa simple dialog box. The table is then written into a range of theExcel spreadsheet of the part according to Fig. 3.

The CLIC system will automatically assign the name of thedatum surfaces, yet the designer can still change the name.A subset of components, called a block [9], contains its ownpositioning table. A positioning table is of no use for thebase of either the mechanism or a subset. A table serves todescribe the positioning of the mechanism within the outsideworld (Row 6 contains the keyword OW). The mobilities ofthe mechanism can define many configurations that are stable

Page 4: Generation of functional tolerancing based on positioning features

B. Anselmetti / Computer-Aided Design 38 (2006) 902–919 905

Fig. 5. Joint requirements.

positions or current positions of a continuous movement. If theset-up state of one part changes for different configurations, adistinct positioning table for each state is produced (with thestate name being indicated in Row 1). For each mechanismconfiguration, a specific array defines the state name of thepositioning table for each part and each subset [7].

The CLIC system examines the internal consistency ofpositioning tables as well as the overall consistency of thedecomposition into subsets with positioning tables. With thisaim, CLIC verifies that each part and each subset can beassembled on the base of the subset or mechanism using apath through positioning tables that successively yields theunderlying part(s) up to the base.

During tolerance optimization, the nominal models of partsmust be adjusted to change the nominal part dimensions. AVBA (Visual Basic Application) procedure serves to generateExcel formulae that yield the relative positions of parts withinthe datum of the mechanism base once the positioning tableshave been determined.

2.2. Comparison with graphical approaches

This description of the CLIC assembly process differs fromthe classical approach in this field of research. Other approachesmake use of a graph for each mechanism configuration. Thenodes of the graph represent the parts, while the arcs representthe links. A more detailed depiction of the component maybe obtained by representing the component surfaces inside thegraph nodes.

Linares [10] has created functional groups of surfaces thatinclude all of the surfaces participating at a joint. Thesegroups are then represented inside the nodes rather than insidethe surfaces. In their work, Ballu and Mathieu [11] andTessandier [12] indicate the joint type on the arcs (e.g. planejoint, revolute joint). Giordano [13] prefers indicating the typeof contact (e.g. fixed, sliding, floating, forbidden). Marguetorientates arcs from the base to ending parts [14]. Wang andOzsay [15] introduced the notion of subsets into their graphs.These different kinds of graphs describe the entire mechanism,including linking components such as screws. The resultinggraphs however are often hard to read and hence not very userfriendly. It would seem very difficult to automatically identifyone tolerance chain on this graph if the positioning featurescomposed of many surfaces were not grouped or if the linkswere not oriented in accordance with the assembly process.

It is unnecessary to create these graphs within the CLICsystem.

3. Positioning tolerancing

3.1. Generation of positioning requirements

The CLIC approach is based on functional tolerancing.A considerable number of functional requirements can beautomatically identified by a functional analysis on themechanism. Designers can add or modify requirements directlyonto one of the Excel spreadsheets built for requirements andtolerance chains.

The derivation of the positioning table for parts allowsdetermining geometrical requirements for both part assemblyand contact quality. Those joints composed of surface featuresin contact (two planes for example) require controlling themaximum gap between surfaces (Fig. 5(a), (c)). (The gap is themaximum distance between surfaces lying in contact.) Whereasthose joints composed by fitting features (hole and shaft)requires controlling the minimum clearance or the maximumand minimum interferences (Fig. 5(b), (d)) [8]:

3.2. Description of a geometrical requirement

The CLIC system extends the ISO tolerancing, convention-ally used for a single component. This extension enables theuse of geometrical specifications in order to express functionalrequirements on sets of components. If necessary, Parameter 23may be employed to define whether or not the mobility of partsin a joint with clearance is favorable to the requirement. Fig. 6lists the 27 parameters used to describe general requirementsand applications towards a minimum clearance requirement be-tween the housing and the body. This positioning requirementhas been obtained starting from the second column of the hous-ing positioning table, for which a minimum clearance betweensecondary joints would be needed (Fig. 5(d)).

Functional requirements are generated from failure risks. Itremains very difficult to determine the value of the acceptablecharacteristic. If the limit is set too loose, the risk of failurebecomes excessive; on the other hand, if the limit is toostringent, manufacturing costs increase. A tradeoff needs to bemade that takes into account the tolerances assigned to eachpart. In this aim, the designer’s satisfaction level is defined bya fuzzy function introduced in [16]; designers must input twovalues for each requirement (Fig. 6):

– High Quality Value (HQV): high quality is achieved if theHQV value is attained.

– Limit Quality Value (LQV): the quality should still beacceptable, yet beyond this limit, the risk is unacceptable.

Page 5: Generation of functional tolerancing based on positioning features

906 B. Anselmetti / Computer-Aided Design 38 (2006) 902–919

Fig. 6. Description of a requirement.

These values are often derived from experience, froma database specific to a given type of product, or frommathematical models that yield geometrical characteristicsbased on physical phenomena. In a pump for example, thedistance between the turbine and the cover may be limitedusing a fluid mechanics model that incorporates the minimumdesirable discharge.

In order to comply with the entire set of requirements, thetolerance synthesis (see Section 7) seeks to respect all HighQuality Values in accordance with the minimum part tolerancesestablished in the database or set by the designer. Any unilateralcondition cannot be met however due to the inherent conflict.The algorithm optimizes nominal part dimensions in order tomaximize the lowest quality score of the requirements. If thelowest quality score is zero, no solution exists, in which casethe designer must either change requirement values or modifythe assembly process or mechanism.

3.3. Functional tolerancing of joints

The CLIC method generates an ISO tolerancing of jointsurfaces, in compliance with positioning requirements, by usingthe pattern of positioning features (see Fig. 7).

The positioning table (Fig. 3) provides the primary,secondary and tertiary features of both the current part andthe underlying part. Fig. 8 includes patterns for each type ofpositioning feature and for the primary, secondary and tertiarycases. The corresponding pattern must be copied onto thedefinition drawing, in adapting the datum names defined inthe positioning table. The material symbol M must be placedon either the toleranced surface or one datum surface if theelementary joint is a feature of size [17,18] with clearance. Thismethod has been detailed in [7,8].

This procedure is applied to the example (Fig. 2). Thefirst column of the shaft positioning table (Fig. 3) displaysthe primary joint with clearance between two “coaxial

cylinder” features. A minimum clearance condition is required(Fig. 5(b)); this imposes the pattern in Row 5 and Column 1 inFig. 7. Fig. 8 presents the specifications S1, S2, S3 generatedon the shaft and S4, S5, S8 on the housing + body set. Thesecondary features of Fig. 3 are “symmetrical parallel planes”with clearance. According to Fig. 5(d), the minimum clearancerequirement imposes Specifications S4 and S5 on the shaft (seeFig. 8) and S9 and S10 on the housing + body set. S8, S9and S10 are defined between two underlying parts (i.e. housingand body). In this case, the specifications are considered as asub-requirement and must be analyzed during the subsequentstage by the general procedure presented in Section 5.

Along the same lines, the positioning table of the body givesrise to Specifications S1, S2 and S3 for the body (Fig. 8). Thepositioning table of the housing imposes Specifications S5, S6and S7 on the body and S2, S3 and S4 on the housing (Fig. 23).

In the CLIC system, positioning requirements are automati-cally generated, and the corresponding specifications are thenautomatically created within the Excel range for each part.Fig. 30 displays the specifications S1 through S9 obtained forthe body and Fig. 31 shows the corresponding graphic repre-sentation. With this step completed, we now possess a pertinenttolerancing of all surfaces constituting a joint; moreover, themain datum reference frames have been created starting fromRow 3 of the positioning tables, plus the auxiliary datum framefrom Row 6.

4. Generation and definition of other functional require-ments

4.1. Generation of interference and flushing requirements

A procedure has been designed to scan all surface couplesfor each part couple and each mechanism configuration:

– If the distance between two surfaces of two different partsis too small (i.e. <2 mm), a requirement is automatically

Page 6: Generation of functional tolerancing based on positioning features

B. Anselmetti / Computer-Aided Design 38 (2006) 902–919 907

Fig. 7. Patterns for the tolerancing of positioning features.

Fig. 8. Application to shaft positioning.

generated in order for contact between these parts to beavoided. Such a requirement imposes a minimum distancebetween these surfaces. (The contact surfaces of a joint havebeen excluded from this procedure.) Fig. 9 shows the F11requirement.

– If two adjacent planes are coplanar or if two adjacentcylinders are coaxial with the same diameter, two maximum-distance requirements will then be generated in order toguarantee the flushing of parts. Fig. 9 also shows the F12and F13 requirements.

In Fig. 9, the shaft is placed using the holes in both the bodyand housing with clearance; this clearance allows for a smalldeviation of the shaft. Such a displacement is not beneficial

to the minimum “2mini” distance. For this F11 requirement,Parameter 23 (Fig. 6) proves to be an “unfavorable clearance”.

4.2. Generation of requirements for setting up of smallcomponents

Several small components (screws, pins, clips, etc.) havebeen fixed in the mechanism. Recognition of part shapesallows automatically generating assembly requirements. Fig. 10presents the requirements for both a screw in a blind hole anda screw and a nut. In order to generate tolerance chains, theCLIC system contains a description of all standard componentdimensions and tolerances.

Page 7: Generation of functional tolerancing based on positioning features

908 B. Anselmetti / Computer-Aided Design 38 (2006) 902–919

Fig. 9. Interface and flushing requirements.

4.3. Description of designer-defined requirements

After this stage, the designer must add other requirements(Fig. 11) imposed by the technical specifications of the product,along with many requirements for the purpose of ensuring theinternal operations of the mechanism. The designer directlycreates these requirements over a range of an Excel spreadsheet,as depicted in Fig. 6.

5. Functional tolerancing relative to a given requirement

5.1. Principle of specifications chain with ISO tolerancing

Fig. 12 displays the location requirement of a hole of thecolumn with respect to a datum reference frame A|B of thebody. This hole is the ending surface of the requirement. Thelocations of the two extreme points F1 and F2 of the axis of thehole must be studied in the X direction, also called the analysisdirection. This approach is similar to Salomons’ method [19].Two analysis lines can then be built starting from these twopoints F1 and F2. Considering the deviations in the positioningfeature of the body as well as the deviation in the column

Fig. 11. Requirements defined by the designer.

hole, Points F1 and F2 move in the X analysis direction. Thesemovements can be described by small displacement torsortheory [20].

The distance between positioning surfaces and the analysisline corresponds to the rotation factor of influence, as specifiedby the orientation specification. The studied requirement thusimposes four geometrical conditions:

d(F1, x) ≤ 0.025, d(F1, −x) ≤ 0.025,

d(F2, x) ≤ 0.025, d(F2, −x) ≤ 0.025.

The displacement d(F1, x) of Point F in direction x is due todeviations in influential surfaces. For this purpose, the CLICmethod proposes an ISO tolerancing of parts according to theprocess described in Section 5.2, in addition to establishing therelationship that yields the displacement of Point F with respectto the tolerance value (see Section 5.5).

For this requirement, the vertical surface of the bodyjoint establishes the column location in the x direction. Theorientation of the horizontal surface of the body however exertsa strong influence on the hole position. The vertical surfaceis a positioning surface, while the horizontal surface is anorientationing feature. Two specifications must be imposed on

Fig. 10. Screw assembly requirements.

Page 8: Generation of functional tolerancing based on positioning features

B. Anselmetti / Computer-Aided Design 38 (2006) 902–919 909

Fig. 12. Two-part tolerance chains.

Fig. 13. Tolerancing process.

the body, a vertical surface location and a horizontal surfaceorientation.

The nominal value of distance X is: X nominal = b1 + c1.The maximum displacements of Points F1 and F2 in the

worst case are:

d(F1, x) = d(F2, x) = t1b/2 + t2b × c2/b2 + t1c/2.

The equation yielding the maximum value of result X under aworst-case scenario is:

Xmaxi = b1 + c1 + (t1b + t1c)/2 + t2b × c2/b2.

5.2. Tolerancing method

The CLIC method is based on the algorithm shown inFig. 13. In order to simplify explanation of this general method,the present section will demonstrate an ending surface locationrequirement with respect to a datum reference frame built on thebase. The positioning table of each part provides its underlyingpart(s). Starting from the ending part and proceeding step bystep, the method determines tolerancing of the influential parts.

This tolerancing process comprises six stages (see Fig. 13).The iteration progresses from the ending part to the base of the

Page 9: Generation of functional tolerancing based on positioning features

910 B. Anselmetti / Computer-Aided Design 38 (2006) 902–919

Fig. 14. Choice of the specification symbol.

mechanism. A variable (t1p, t2p . . .) then defines the toleranceof part p.

In stage 3, the symbol must be chosen according to thetoleranced surface position with regard to the reference frame(see Fig. 14);

This process makes use of VBA procedures based on avectorial representation of the tolerance zone [21,22] (Fig. 16).For example, the algorithm (Fig. 15) corresponds to Stage 2;it tests datum combinations in order to identify the minimumdatum reference frame necessary for the tolerance zone of thestudied specification.

Test Fig. 16 is based on invariance datum class combinationsand on a vectorial representation of the specification. If thestudied specification were the location of a plane normal to u,for example (tolerance zone denoted pu in row 1), and if datumframe A were a plane normal to v (i.e. the invariance class is“planar”), the datum is sufficient for this specification if u =

±v. If system AB belonged to a prismatic class characterized

by direction v, AB is sufficient if u and v were perpendicular.A similar figure exists for the orientation specification and forthe complex surface specification.

In the last step of the algorithm (Fig. 15), the datum systemmay prove inadequate. One classical situation consists of atoleranced cylinder with a tolerance zone defined by two planes(without the symbol ∅) and with coaxial cylindrical or revolutedatum. In this case, the symbol ∅ must be added to thespecification and the algorithm (Fig. 15) rerun.

This approach is similar to the TTRS model [23], yet itis being applied on the tolerance zone. Similar proceduresdetermine the function of each datum surface with respectto the toleranced surface specification (Stage 5). A datumis considered a positioning surface if a translation of itsunderlying surface moves the tolerance zone of the specifiedsurface. On the other hand, a datum is an orientationing surfaceif a rotation of its underlying surface turns the tolerance zone ofthe specified surface or if this datum is preponderant with regardto a positioning surface.

This last stage corresponds to the case illustrated in Fig. 17.For each vertex of the ending surface, an analysis line has beendefined according to both the direction of the surface normal

Fig. 15. Test of datum frame combinations.

Fig. 16. Datum system tests for location.

Page 10: Generation of functional tolerancing based on positioning features

B. Anselmetti / Computer-Aided Design 38 (2006) 902–919 911

Fig. 17. Angular effects of the primary surface.

Fig. 18. Orientation of two surfaces within a common zone (CZ).

Fig. 19. Angular effects of the primary surface.

and the tolerance zone of the requirement. If the primary surfaceis a positioning surface and if one analysis line does not cut theface, an orientation specification will then be generated. Thedistance between the analysis line and the primary face is L,with the size of the primary face being E. The deviation ofending surface points is equal to location tolerance t1 increasedby the angular effects 2 × t2 × L/E. The aim of this stage isto limit such angular effects with an orientation tolerance t2smaller than the location tolerance t1.

In Stage 5, should the part orientation be assumed byassociating two surfaces (e.g. secondary and tertiary), theseunderlying surfaces are then specified by an orientation withina common zone (see Fig. 18).

A simplification may be applied when one part is set up ona single part (see Fig. 19) The analysis of part c (Fig. 19(a))

creates two specifications on part d (Fig. 19(b).), which wouldgenerate two iterations on the subsequent step. It is nowpossible to consider that parts c and d are linked (Fig. 19(c))for the purpose of analyzing just the initial requirement in orderto determine both the datum reference frame of part d and thetolerancing of the underlying part.

This iterative approach allows determining all specificationsof influential parts and yields the specification chain betweenthe ending surface and the base datum frame.

5.3. Decomposition of a complex requirement

In the general case, the initial functional requirement canassociate many toleranced surfaces and many datum surfaces.The CLIC method proposes breaking this requirement down

Page 11: Generation of functional tolerancing based on positioning features

912 B. Anselmetti / Computer-Aided Design 38 (2006) 902–919

Fig. 20. Breakdown of requirements.

Fig. 21. Breakdown into sub-requirements and convergence in the support.

into sub-requirements with respect to the base (Fig. 20). Usingthe rules, the ending surface of each sub-requirement belongsto just a single part. For each sub-requirement, the algorithmin Fig. 13 can generate useful specifications along with aspecification chain.

The breakdown of the initial requirement generates a sizablenumber of specification chains. Fig. 21, for example, showsan initial distance requirement between two ending surfaces.According to Rule 1 of Fig. 20, this requirement has beendecomposed into two sub-requirements that give rise to twospecification chains, which start from ending surfaces and endat the mechanism base. If these chains were to converge ata part called the support, the deviations of parts underneaththe support would not influence the distance between endingsurfaces. The specification chains are cut in this support andlinked by a specific tolerancing of the support.

The tolerancing of the support may be performed usingfive distinct approaches (see Fig. 22). A VBA proceduresuccessively tests if conditions 1, 2 or 3 are validated inorder to apply the corresponding tolerancing. Otherwise,the procedure searches the best auxiliary datum frame forMethod 4. Ultimately, should no auxiliary datum be acceptable,

the main datum reference frame of the support is used (Method5).

5.4. Decomposition into subsets

The assembly process of a mechanism may require a largenumber of subsets. The tolerancing process presented in Fig. 13is only able to analyze requirements with one subset level usingthe positioning tables, which means that the subsets includedmust be considered as a single part (called a block) for purposesof the tolerancing process. During the next step, each one-blockspecification is considered as a requirement for this particularblock. The recursive algorithm is then used again in order toobtain the tolerancing of internal subset parts.

Many mechanisms however are more complex. For example,articulated mechanisms are composed of many arms; the linkbetween these arms often consists of simple spherical orcylindrical joints. Consequently, the tolerancing of arms maybe obtained by adopting the standard tolerance diagram [24].

5.5. Application of tolerancing process

Fig. 23 presents the tolerancing for the F20 requirementdefined in Fig. 11. This requirement is indeed the location ofa cylinder with respect to a datum of the mechanism base. Theprocess of tolerancing described Fig. 13 will be detailed below:

1. The shaft (ending part) is isolated (see Fig. 23(a)) with thespecifications S1, S2, S3, S4 and S5 previously obtained inFig. 8. Specification S6 is created from the left-hand side ofRequirement F20.

2. The main datum system AB is added. According to Figs. 15and 16, the toleranced feature is a cylinder with a tolerancezone pz and datum A belongs to the cylindrical class(direction x). A is sufficient since the toleranced cylinder iscoaxial to datum (∆ = D).

Page 12: Generation of functional tolerancing based on positioning features

B. Anselmetti / Computer-Aided Design 38 (2006) 902–919 913

Fig. 22. Tolerancing of the support.

3. The symbol ∅ is indicated since the toleranced cylinderand datum are coaxial surfaces. There is “clearance” on theprimary surface (see Fig. 3), and a symbol (L) is then addedto primary datum A. The symbol } replaces +⊕ also becausethe toleranced cylinder and datum are coaxial.

4. Dimension “0” between the toleranced surface and datum Ais implicit.

5. The underlying part is the housing + body set (Fig. 23(b)).Datum A of the shaft is composed of two cylinders. The twocorresponding holes of the body and housing unit must belocated within the common zone as regards the datum ofthe body (see Specification S16, Fig. 23(b)). The analysislines of the ending surface of the shaft are lines of direction zpassing through the two cylinder extremities. These lines donot cut datum A of the shaft; an orientation specification S17must then be added.

6. There is “clearance” on the primary joint (Fig. 3). A symbol(L) must be added to the underlying surface correspondingto datum A in Specification S16.

These specifications S16 and S17 have been defined betweentwo different parts; they must be decomposed into two sub-requirements using Rule 4 of Fig. 20. A location must beimposed upon both body (S14, Fig. 23(c)) and housing (S12,Fig. 23(d)).

The body is the base of the mechanism. The S14 datum isdatum A of the initial requirement.

Specification S12 of the housing is studied once againwith the same process. The datum system of the housingbecomes A|B. The corresponding body surfaces must then beoriented (S17) and located (S16).

For cylinders, the maximum material diameters are alreadyimposed by means of positioning requirements (S1, S2 on theshaft, S4 on the body, S5 on the housing). The minimum mate-rial diameters (S7, S8 on the shaft, S13 on the housing, S15 onthe body) are now imposed by this targeted requirement F20.

This process is implemented in VBA procedures. Toleranc-ing is automatically generated (Figs. 31–33).

6. Result of a tolerance chain

6.1. Requirement analysis

The general method will be detailed in a subsequentpaper. This section will merely present the approach usedfor the studied requirement F20 (Figs. 11 and 27) and thecorresponding tolerancing (Fig. 23). The aim here is to obtaina relationship between geometrical requirements and parttolerances. Within an Excel environment, a formula will expressthe result as a function of cells containing tolerance values.

The initial geometrical requirement must be translated into amathematical condition. Fig. 24 displays any classical endingsurfaces and requirements. Plane surfaces (Fig. 24(a)) arelimited by vertices Fi. Functions must then determine thedeviation of point Fi in direction f, which is the normalof the plane. This displacement has been denoted d(F, f).The result r is the greatest deviation given by the “max”Excel function. The result r must be less than or equalto t/2. Fig. 24(b) and (c) show a cylinder with a planetolerance zone and a cylindrical tolerance zone that requirea discretization of analysis directions. Fig. 24(d) depicts anorientation requirement that imposes determining the maximumangular deviation around f of the axis ∆, as denoted a(∆, f).

According to Fig. 20, complex requirements are decom-posed into point displacements. Fig. 25(a) presents a simpleminimum distance; Fig. 25(b) illustrates another requirementwith straightness in the common zone, along with its equation.This approach necessitates many similar relations to be estab-lished on a case-by-case basis, which proves highly difficult forany 3D approach.

6.2. Deviation transfer

Similar to the tolerancing process demonstrated in Fig. 13,the deviation of Point F of the ending surface is decomposedaccording to each surface of the joints between parts. Fig. 26displays typical classical joints.

Page 13: Generation of functional tolerancing based on positioning features

914 B. Anselmetti / Computer-Aided Design 38 (2006) 902–919

Fig. 23. Tolerancing of parts for the F20 requirement.

Fig. 24. Analysis of vertex displacements of ending surfaces.

Fig. 25. Decomposition of a complex requirement.

Fig. 26(a) shows a joint with a primary cylinder anda secondary plane. In the worst case, the contact betweensecondary surfaces lies on point S. This point is on the boundary

of the secondary face and may be determined by an algorithmthat takes the analysis line (F, f) into account. We can thendemonstrate the following relation, under the hypotheses of

Page 14: Generation of functional tolerancing based on positioning features

B. Anselmetti / Computer-Aided Design 38 (2006) 902–919 915

Fig. 26. Transfer in joint.

small displacements:

If ϕ 6= 0, d(F, f) = sin ϕ.d(P, p) + cos ϕ.d(S, s)

If ϕ = 0, d(F, f) = d(S, s) + L.a(∆, a),

where P is a point of the primary plane, in such a way thatthe intersection of line (P, p) and line (S, s) would lie onanalysis line (F, f). If ϕ = 0, no intersection occurs. L is thedistance between S and F in the direction normal to the primarysurface. ∆ is the axis of the primary cylinder and a(∆, a) is themaximum angle around vector a = f ∧ SF (normal to the figurein this particular case).

Fig. 26(b) and (c) yield an identical equation (with ∆ beinga line of the primary plane). Fig. 26(d) and (e) show two otherequations frequently used.

In the general case, the relation assumes the following form:

d(F, f) = kp.d(P, p) + ks.d(S, s) + kt.d(T, t) or ka.a(∆, a),

where P is a point on the primary surface, S on the secondarysurface, and T on the tertiary surface that belong to thetoleranced part; all these points however lie in contact with theunderlying part. ki represent coefficients, and ∆ is an axis or aline of a plane.

This method can be applied to requirement F20 of Fig. 27,which serves to generate the first relation:

r = max[d(Fs1, z), d(Fs

2, z)] ≤ 0.025

Fs1 is a point of the shaft(s). A similar relation must then be

verified in direction −z.The deviation of point Fs

1 depends on both the coaxialitydefault of the shaft denoted e(Fs

1, z) and displacement of thenominal position of Fs

1 due to the deviation of positioningsurfaces (see Fig. 26(e)).

d(Fs1, z) = e(Fs

1, z) +L1s + Es

Esd(As, z) +

L1s

Esd(Bs, −z)

where As and Bs are points of the shaft datum.

In the joint between the shaft and the body, the clearanceand the location default of the hole induce a default denotede(As, z) between As and Ab (with Ab belonging to the nominalsurface of the body). Point Ab has no default with respect tothe body datum. Similarly, in the joint between the shaft andthe housing, e(Bs, −z) is the default between Bs and Bh (seeFig. 26(b)), with Bh belonging to the nominal surface of thehousing.

d(Bh, −z) = d(Ch, −z) + Lh.a(∆h, −y)

In the joint between housing and body, e(Ch, −z) characterizesthe clearance effect between Ch and Cb. Point Cb has no defaultwith respect to the body datum. ω(∆h, −y) is the angle between∆h and ∆b (with ∆b being a line of the nominal model of thebody).

The recursive decomposition of the initial equation providesthe following global equation:

d(Fs1, z) = e(Fs

1, z) +L1s + Es

Es.e(As, z) +

L1s

Es× [e(Bs, −z) + e(Ch, −z) + Lh.ω(∆h, −y)].

Each default can be now directly expressed with the tolerancevalues defined in Fig. 23:

d(Fs1, z) = t6s/2 +

L1s + Es

Es. (b1 − s1 + t4b/2 + t14b + t1s/2)/2

+L1s

Es[(h1 − s2 + t2s/2 + t1h/2 + t12h)/2

+ (h2 − b2 + t3h/2 + t6b/2 + t16b)/2 + Lh.t17b/Eh].

This simple method allows determining the equation for abroad array of mechanisms. In more complex cases, a three-dimensional approach makes use of the small displacementtorsor with an analytical or numerical method [25].

Page 15: Generation of functional tolerancing based on positioning features

916 B. Anselmetti / Computer-Aided Design 38 (2006) 902–919

Fig. 27. Analysis of requirement F20.

7. Synthesis of tolerances

During the generation of functional specifications, the VBAprocedure serves to create Excel formulae that yield the sumof influences of tolerances (see Section 6.2) under the worstcase or statistical approaches [26]. CAD models serve to definenominal dimensions.

The nominal part dimensions must now be adjusted in orderto maximize tolerances. To ensure the consistency of thesenominal dimensions, the initial CAD model is transformedeither by offsetting surfaces (variation in surface position)or by varying cylinder radius (Fig. 28). The parameters areassigned according to the symmetries and coaxialities identified

by means of feature recognition (Section 2). These variationsremain very small (<0.5 mm), hence the shape of parts isconserved. As an example, dimension D of the left side of theshaft (Fig. 28) is expressed as:

D = X R − X Q − vp2 + vp1

where X R and X Q are defined in the initial CAD model.Only those surfaces used in functional tolerancing are

adjusted by small variations in order to eliminate thenon-influential parameters from the synthesis of tolerances.Similarly, the positioning surfaces of the main datum framedisplay no variation.

For a studied requirement, the corresponding Excelspreadsheet range comprises the specification chain. This rangesummarizes the influential parts, influential specifications,mean values, tolerances and standard deviations. Another rangeprovides the sums of mean values, tolerances and standarddeviations. This result can be obtained under both the worstcase and statistical case. The comparison with the LQV andHQV requirement then produces the quality score.

The main objective of this previous task is to adjust thenominal part dimensions in order to maximize all tolerances.The resolution of inequalities is performed using a solver. Thismethod has already been presented in [16] and may include acost minimization component [27].

Fig. 28. Variation of CAD models.

Fig. 29. Result of the specification chain.

Page 16: Generation of functional tolerancing based on positioning features

B. Anselmetti / Computer-Aided Design 38 (2006) 902–919 917

Fig. 30. Tolerancing of the body corresponding to Fig. 23(c).

Fig. 31. Tolerancing of the body.

8. Conclusion

8.1. Results

For this simple mechanism (Fig. 2), a lot of requirements areautomatically generated by the CLIC system (Figs. 9 and 10).The designer must add other requirements (Fig. 11).

The tolerancing algorithm automatically determines thefunctional tolerancing of each part and creates 44 specifica-tions. Fig. 30 presents the tolerancing of the body in an Excelspreadsheet format. Column 2 lists the initial requirements ap-plicable to this specification.

During this stage, tolerance values are fixed by a simpletable as a function of type of specification (position, orientation,profile). The designer can then modify these tolerance valuesalong with the capabilities, i.e. the ratio of standard deviationsto tolerances. For a uniform probability over the toleranceinterval, this ratio is equal to: 2

√3 = 3.46.

Figs. 31–33 show the 3D representation of these spec-ifications drawn by one VBA procedure in an Excelspreadsheet.

The designer must now translate these specifications into aCAD system.

Page 17: Generation of functional tolerancing based on positioning features

918 B. Anselmetti / Computer-Aided Design 38 (2006) 902–919

Fig. 32. Tolerancing of the shaft.

Fig. 33. Tolerancing of the housing.

8.2. Synthesis

In this paper, we have shown that a pertinent tolerancingof parts may be achieved through knowledge of the assemblyprocess acquired via the positioning tables. We have definedtechnological features that correspond to elementary joints

and associated patterns with these features in order topropose a systematic tolerancing of joints. Once this stepaccomplished, feature recognition can generate a lot offunctional requirements.

A tolerancing process serves to determine the specificationsof influential parts and the formulae that give rise to the result

Page 18: Generation of functional tolerancing based on positioning features

B. Anselmetti / Computer-Aided Design 38 (2006) 902–919 919

of specification chains using the three-dimensional approach.This method is a recursive one with two distinct aspects. Theprocess presented in Fig. 13 is iterative and uses tolerancingof the previous part to specify the subsequent part; moreover,the decomposition of the mechanism into blocks at many levelsallows for use of this tolerancing process by considering thespecifications obtained at one level as a requirement for the nextlevel of blocks until reaching isolated parts.

This method has now been implemented within an Excelenvironment and connected to CATIA V5 or other CAD systemby means of the STEP interface. Importation of the CADmodel and definition of the configurations and positioningtables takes 30 min for this example. The generation offunctional requirements requires 10 s. The designer is able todefine a new requirement within one minute. The tolerancingprocess overall takes 2 s per requirement. At the presenttime, specifications are being automatically generated, exceptfor complex positioning surfaces. Developments are currentlyunderway to automatically obtain the results of tolerance chainsusing a three-dimensional approach. The study of mechanismswith complex kinematics is currently underway [24].

The synthesis of tolerancing however is still not automatic;it requires about one hour to define constraints for the Excelsolver depending on the various choices available to thedesigner, with the solution being obtained by solver in 8 s foreach test.

This Excel application is well accepted in industry since alltechnicians know the software, which allows adapting the Excelspreadsheets to each particularity of the industrial project.

References

[1] Islam MN. Functional dimensioning and tolerancing software forconcurrent engineering applications. Computers in Industry 2004;54:169–90.

[2] Salomons OW, Jonge Poerink HJ, Haalboom FJ, Van Slooten F,Van Houten FJAM, Kals HJJ. A computer aided tolerancing tool I:Tolerance specification. Computers in Industry 1996;31:161–74.

[3] Mawussi B, Anselmetti B, Anwer N. Tolerance specification data modelfor design and manufacturing. IDMME 2004. Bath (GB).

[4] Mejbri H, Anselmetti B, Mawussi B. Functional tolerancing ofcomplex mechanism: Identification and specification of key parts. RevueComputers & Industrial Engineering 2005;49:241–65.

[5] Dantan JY, Anwer N, Mathieu L. Integrated tolerancing process forconceptual design. Annals of CIRP 2003;52(1):135–8.

[6] ISO 5459 1981. Technical drawings — Geometrical tolerancing — Datumand datum systems for geometrical tolerances. ISO Standard.

[7] Anselmetti B. Tolerancement: methode de cotation fonctionnelle.In: Collection Hermes Sciences Lavoisier. 2003.

[8] Anselmetti B, Mawussi K. Computer Aided Tolerancing using positioningfeatures. Journal of Computing and Information Science in Engineering2003;3:15–21.

[9] Bourjault A. Contribution a une approche methodologique del’assemblage automatisee: elaboration automatique des sequencesoperatoires. These Faculte des sciences et des techniques de Franche-Comte. ENSCM; 1984.

[10] Linares JM, Marty C. Tolerancement par groupes fonctionnels. In: 3emeSeminaire international CIRP sur le tolerancement geometrique. ENSCachan, 27–28 avril 1993.

[11] Ballu A, Mathieu L. Choice of functional specifications using graphswithin the framework of education. In: CIRP computer aided tolerancing6th seminar. 1998. p. 197–206.

[12] Tessendier D, Couetard Y, Gerard A. Three-dimensional functionaltolerancing with proportional assembly clearance volume (UPEL):application to setup planning. In: Proceedings of 5 CIRP seminar oncomputer aided tolerancing. April 27–29. p. 113–23.

[13] Samper S, Giordano M. Models for tolerancing process by consideringmechanism flexibility. In: Integrated design and manufacturing inmechanical engineering. Kluwer Academic Publishers; 1996. p. 349–56.

[14] Marguet B, Mathieu L. Method for geometric variation management fromkey characteristics to specifications. In: CIRP seminar on computer aidedtolerancing. 2001.

[15] Wang N, Ozsay TM. Automatic generation of tolerance chains frommating relations represented in assembly model. Journal of MechanicalDesign 1993;1115: 751–7.

[16] Anselmetti B, Mawussi B, Mejbri H. Synthesis of tolerances starting froma fuzzy expression of the functional requirements. In: International CIRPconference on computer aided tolerancing, April 2001. p. 265–74.

[17] Jayaraman R, Srinivasan V. Geometric tolerancing: I. Virtual boundaryrequirements. IBM Journal of Research and Development 1989;33(2):90–104.

[18] Pairel E. Metrologie par calibre virtuel sur machine a mesurertridimensionnelle. In: 5eme colloque sur la conception mecaniqueintegree. La Plagne, 2–4 avril 1997. p. 155–62.

[19] Salomons OW, Haalboom FJ, Jonge Poerink HJ, Van Slooten F,Van Houten FJAM, Kals HJJ. A computer aided tolerancing tool II:Tolerance analysis. Computers in Industry 1996;31:175–86.

[20] Bourdet P, Clement A. A study of optimal-criteria identification based onsmall-displacement screw model. Annals of the CIRP 1988;37: 503, 506.

[21] Anselmetti B, Mawussi K, Mejbri H. Representation vectorielle des zonesde tolerances pour la cotation fonctionnelle et de fabrication. In: CSMSM2005: First international congress, design and modeling of mechanicalsystems. 23–25 mars 2005. CD Rom.

[22] Mejbri H, Anselmetti B, Mawussi K. A recursive method with sub-assembly generation. In: Congres ISATP03 (IEEE). 9–11 juillet 2003. p.235–40. CD Rom.

[23] Clement A, Riviere A, Temmerman M. Cotation tridimensionnelle dessystemes mecaniques. Ouvrage PYC Edition. 1994.

[24] Jean Mailhe, Contribution au tolerancement des mecanismes articules,In: Memoire de DEA de production automatisee. LURPA, ENS Cachan;2004.

[25] Anselmetti B, Mawussi K, Mejbri H. Coupling experimental design —digital simulation of junctions for the development of complex chains ofdimensions. Computers in Industry 2003;50(3):277–92.

[26] Anselmetti B, Radouani M. Traitement statistique des chaınes de cotesradiales. Revue internationale de CFAO et d’informatique Graphique2003;18(1):61–75.

[27] Kurlarni SV, Garg TK. Allocation of tolerances to the components ofan assembly for minimum cost. International Journal of MechanicalEngineering 1987;67:126–9.