dimension and tolerance modeling and transformations in feature based design and manufacturing

14
Dimension and tolerance modeling and transformations in feature based design and manufacturing JAMI J. SHAH Department of Mechanical and Aerospace Engineering, Arizona State University, Tempe, AZ 85287-6106, USA YONG YAN Bridgeport Machines Inc., Bristol, PA 19007, USA BING-CHUN ZHANG EDS Unigraphics Systems, Cypress, CA 92630, USA Received June 1997 and accepted January 1998 This paper describes the development and application of a geometric dimension and tolerance (GD&T) model for use in both design and process planning. The model meets criteria for computability and compatibility with the Y14.5M standard. The model is first used to capture the designers GD&T scheme on a feature based design model, validate its completeness, and then transfer the GD&T to machining features extracted automatically by feature recognition. The model is based on relative degrees of freedom of geometric entities: feature axes, edges, faces and features-of-size. Dimension graphs are created based on the degrees of freedom for each control direction. Datum reference frames and standard tolerance classes are incorpo- rated into the graph. The model allows dimension specification, dimension scheme modifi- cation, and dimension scheme validation. A methodology to automatically determine the GD&T of machining volumes obtained by feature recognition is also described. Keywords: Computer-aided process planning (CAPP), feature modeling, feature mapping, geometric tolerancing, solid modeling 1. Background The aim of this work is to develop and apply a GD&T model for the following purposes: (1) Enable designers to specify dimensioning schemes in accordance with engineering practice; (2) Create an infrastructure for incorporating geometric tolerances into feature based solid models; (3) Create a mechanism to map dimensions and toler- ances from design to manufacturing for use by feature recognition/mapping systems. Figure 1 shows a part with dimensions and tolerances. The part is built with the three features shown in Fig. 2(a): Part feature1 [ feature2 feature3 The dimensions of the part are complete, so the shape and size of the part are fully controlled. The tolerances represent the design requirements and are specified based on the functionalities of the part. For example, if the hole in the part shown in Fig. 1 is going to have a precise fit with a shaft in an assembly, which consists of two parts joined by a pin, the orientation and the form of the hole must be precise. Therefore, a perpendicularity tolerance with res- pect to plane A and a cylindricity tolerance are assigned to the hole to control its orientation and shape. The hole will probably also require a position tolerance, but this is not shown. Also, the tolerance values are only hypothetical and may not make sense from a practical viewpoint. It is desirable to integrate CAD and Computer-aided process planning (CAPP) systems. The part geometry input to CAPP systems is done either interactively by users or obtained from feature recognition systems. In general, material may be removed from the workpiece by machin- ing in dierent ways to produce the desired part. If the example part of Fig. 1 was to be machined from a rect- Journal of Intelligent Manufacturing (1998) 9, 475–488 0956-5515 Ó 1998 Kluwer Academic Publishers

Upload: jami-j-shah

Post on 02-Aug-2016

215 views

Category:

Documents


1 download

TRANSCRIPT

Dimension and tolerance modeling

and transformations in feature based design

and manufacturing

JAMI J. SHAH

Department of Mechanical and Aerospace Engineering,Arizona State University, Tempe, AZ 85287-6106, USA

YONG YAN

Bridgeport Machines Inc., Bristol, PA 19007, USA

BING-CHUN ZHANG

EDS Unigraphics Systems, Cypress, CA 92630, USA

Received June 1997 and accepted January 1998

This paper describes the development and application of a geometric dimension and tolerance(GD&T) model for use in both design and process planning. The model meets criteria for

computability and compatibility with the Y14.5M standard. The model is ®rst used to capturethe designers GD&T scheme on a feature based design model, validate its completeness, andthen transfer the GD&T to machining features extracted automatically by feature recognition.The model is based on relative degrees of freedom of geometric entities: feature axes, edges,

faces and features-of-size. Dimension graphs are created based on the degrees of freedom foreach control direction. Datum reference frames and standard tolerance classes are incorpo-rated into the graph. The model allows dimension speci®cation, dimension scheme modi®-

cation, and dimension scheme validation. A methodology to automatically determine theGD&T of machining volumes obtained by feature recognition is also described.

Keywords: Computer-aided process planning (CAPP), feature modeling, feature mapping,

geometric tolerancing, solid modeling

1. Background

The aim of this work is to develop and apply a GD&Tmodel for the following purposes:

(1) Enable designers to specify dimensioning schemes inaccordance with engineering practice;

(2) Create an infrastructure for incorporating geometrictolerances into feature based solid models;

(3) Create a mechanism to map dimensions and toler-ances from design to manufacturing for use by featurerecognition/mapping systems.

Figure 1 shows a part with dimensions and tolerances. Thepart is built with the three features shown in Fig. 2(a):

Part � feature1 [ feature2ÿ feature3

The dimensions of the part are complete, so the shapeand size of the part are fully controlled. The tolerances

represent the design requirements and are speci®ed basedon the functionalities of the part. For example, if the holein the part shown in Fig. 1 is going to have a precise ®t witha shaft in an assembly, which consists of two parts joinedby a pin, the orientation and the form of the hole must beprecise. Therefore, a perpendicularity tolerance with res-pect to plane A and a cylindricity tolerance are assigned tothe hole to control its orientation and shape. The hole willprobably also require a position tolerance, but this is notshown. Also, the tolerance values are only hypothetical andmay not make sense from a practical viewpoint.

It is desirable to integrate CAD and Computer-aidedprocess planning (CAPP) systems. The part geometry inputto CAPP systems is done either interactively by users orobtained from feature recognition systems. In general,material may be removed from the workpiece by machin-ing in di�erent ways to produce the desired part. If theexample part of Fig. 1 was to be machined from a rect-

Journal of Intelligent Manufacturing (1998) 9, 475±488

0956-5515 Ó 1998 Kluwer Academic Publishers

angular stock that just encloses the part, one set of ma-chining (removal) volumes is shown in Fig. 2(b). Note ®rstthat there are many other ways to achieve the same ®nalresult from the same or di�erent stock shape. Second, notethat the machining volumes in Fig. 2(b) are not the same asthe design feature with which the model was built, shown inFig. 2(a). Regardless of the particular machining volumesand machining sequence selected by the CAPP system (orits user) we need to be able to transfer the GD&T from thedesign model to each individual machining volume in sucha way that the ®nal design specs are met by the processplan. The GD&T information is need by CAPP todetermine the machining operations to use; it also in¯u-ences the machining sequence. The GD&T of the selectedset of machining volumes of the part of Fig. 1 are shown inFig. 2. The semantics of the GD&T of manufacturingfeatures are di�erent from those of design features. TheGD&T of design features de®ne the sizes and the shapes ofthe features which make the part; the GD&T of man-ufacturing features represent the sizes and the maximumsize variations of the volumes to be removed from the stock.A `pure' solid model contains neither tolerances nor

explicit dimensions; a parametric solid model contains thenominal dimensions used in model construction but notthe engineering dimension scheme. This is explained asfollows: a part has many inter-related dimensions; someare speci®ed directly, the rest can be determined if thegeometry is fully constrained. When the geometry is per-fect, it does not matter what we choose as independent anddependent dimensions. However, when the part is imper-fect it does not matter; consequently, the designer needs toconsider the part is imperfect it does matter; consequently,the designer needs to consider the part function and thegeometric controls need to achieve those functions.

Therefore, solid models need to be augmented with GD&Tinformation. In order to integrate CAD and CAPP weneed to map design features to machining volumes, andtransfer the design GD&T to these volumes. We discusshere the techniques for representing and mapping GD&T;the issue of mapping design features to machining volumesis covered in other publications (Shen, 1994; Shen andShah, 1994).

The current tolerance standard is ASME Y14.5M(ASME, 1994a). The shape and size of part features canvary in several possible ways. These variations are classi®edinto six standard tolerance classes: size, form (¯atness,straightness, circularity, cylindricity), orientation (parallel-ism, perpendicularity, angularity), position (location, con-centricity), runout (circular, total), and pro®le (line,surface). The original ANSI standard (ANSI, 1982) as-sumed that engineering drawings will be the only mecha-nism for communicating design speci®cations. The revisedASME standard (ASME, 1994a) is accompanied by acompanion document which attempts to `retro®t' some

Fig. 1. A sample part and its GD&T.

Fig. 2. Machining features with D&T of set#1.

476 Shah et al.

concepts of the ASME standard with a mathematical basis(ASME, 1994b). One of these concepts is the tabulation ofdegrees of freedom (DOF) allowed by di�erent datumreference frames. A similar approach is used in our study,as will be explained later.

To capture GD&T semantics in a CAD system, the un-derlying model must satisfy two basic requirements: com-patibility with engineering practice (Y14.5M standard) andcomputability. By the latter we mean that it must be ma-chine understandable and allow geometric computations.Proper structure must be available to associate toleranceswith appropriate features and geometric data. Datumprecedence and datum type must also be recorded. Thisallows the designer's tolerance speci®cations to be vali-dated. For example, the system must be able to answer thefollowing types of questions:

(1) Does the selected geometric entity satisfy the con-ditions to be a datum (Planar or cylindrical, mutually or-thogonal, etc.)?

(2) Is the entity a feature or feature of size?(3) Are any of the GD&T speci®ed con¯icting, redun-

dant?

When several types of tolerances are speci®ed on the samefeature (size, position, form), the combination may even bemeaningless. If the semantics of the tolerances are cap-tured, the system can catch such problems and issuewarnings to the user. Also checks can be made on over-constraining the dimensions and the tolerances. Addition-ally, a computable model will allow us to convert theGD&T from design features to machining volumes.

2. Literature review

It appears that during 1988±1993, several groups (andASME) were independently working on some form ofspatial DOF model to represent GD&T (Turner andWozny, 1988; Bernstein, 1989; Clement, et al., 1991;Kramer, 1992; Zhang, 1993). We give an overview of eachof these e�orts. Kramer de®ned a general purpose sym-bolic system for reasoning about assemblies based onconstraints and relative degrees of freedom (Kramer,1992). He demonstrated the determination of degrees offreedom of parts in an assembly, assembly feasibility basedon nominal dimensions, and inference of component rel-ative positions from joint conditions by symbolic reason-ing. Clement et al. (1991, 1994; Riviere, 1993) developed anelaborate mathematical foundation for GD&T as follows.Displacements and rotations that leave seven elementarysurfaces (planes, cylinders, spheres, etc.) unchanged weredetermined. For each pair of the seven technologically andtopologically related surfaces (TTRS) they elaboratedthe 28 di�erent geometric relationships possible and theconsequent remaining degrees of freedom for each com-

bination. A displacement torsor was de®ned as a six-dimensional vector, containing three rotation values andthree translation values. For each tolerance related to aTTRS the tolerance zone was represented as a torsorcontaining the non-invariant rotation and translations.They also demonstrated the minimum datum referencesystem needed for each tolerance type. However, thisrepresentation is unable to distinguish between variationresulting from size, form, and location. Also, datum pre-cedence was not considered. Salomons modi®ed Clement'sapproach to use the more traditional geometric transfor-mation matrices with homogeneous coordinates ratherthan torsors (Salomons, 1995).

The ASME Y14.5.1 report (ASME, 1994b) also dis-cusses the DOF idea in the context of reference framesneeded. Displacement invariance of three basic elementswere studied (points, lines, planes). All combinations ofthese three elements were enumerated; the reference systemcould be any one, two, or three of these basic elements. Thepart is assumed ®xed, while the reference element(s) canmove. The report concluded that there were only six pos-sible datum reference systems from the point of view of thetype of geometric controls placed on the part. The reportlists reference frames meaningful to some of the toleranceclasses.

Zhang developed a graph-based model for GD&T byseparating linear variations from angular variations (Shahand Zhang, 1992; Zhang, 1992). The underlying model wasbased on DOF for three basic geometric elements (points,lines, planes) and three features of size (parallel faces,cylinder, sphere), consistent with Y14.5M. The model al-lowed representation and validation of all Y14.5M toler-ance classes and accounted for datum precedence. Thisrepresentation was re®ned and implemented by Yan(1995). The rest of this paper will elaborate on this GD&Tmodel, its implementation, and application to design andmanufacturing.

3. Dimensioning model

Tolerances specify the acceptable limits on part geometryand dimensions; therefore, the speci®cation of tolerances®rst requires the speci®cation of the dimensioning schemeand the nominal or base dimension values. Therefore, we®rst develop a dimensioning model, a structure to capturethe designer's dimensioning scheme. At ®rst glance, the twobasic requirements mentioned in the previous section,computability and compatibility with Y14.5M, appear tobe in con¯ict. However, if we view the part as a collectionof geometric entities, each of which has certain inherentDOF, then we can say that both the designer and thecomputer model must specify how all the DOF of all theentities are controlled. Thus, a dimensioning model is de-veloped as follows:

Dimension and tolerance modeling and transformations 477

(1) Formulation of geometry in terms of low level enti-ties used in GD&T (geometry primitives);

(2) Resolution of entity DOF in a local coordinate sys-tem for entity type;

(3) Derivation of available entity DOF for reference-target entity combinations (control elements);

(4) Formulation of Y14.5M dimension and toleranceclasses as control element combinations.

When a part is made by machining, the primary refer-ence feature is cut ®rst; the reference system is progres-sively built up cutting features in the appropriate sequence.Dimensions are controlled (speci®ed) in at least three di-rections. In fact, process planners today construct separatetolerance charts for each direction of control, thus de-composing a 3-D problem into several 1-D problems.Engineering drawings have traditionally been produced asthree orthographic projections, frequently (but not always)with three directions of dimension control. Also, theconstruction and control of machine tools generally re-quires three directions of control. Thus, the geometrycontrol is distributive and progressive. For example, thelocation of the axis of a hole may be controlled by twoorthogonal features, its orientation may be controlled withreference to the face it is in, and its diameter and cylin-dricity controlled independently (no reference required).That hole may be used to position and/or orient anotherhole, thus setting up dimension chains in di�erent direc-tions. Therefore, we can decouple the dimensioningscheme into three or more linear dimensions of control(such as the three directions used in orthographic projec-tions for drawings) and a separate group for features-of-size such as cylindrical surfaces and spherical surfaces.Each of the dimensioning control directions is then relatedto others by angle speci®cation.

As shown in the following sections, the GD&T modelpresented here makes it possible to specify dimensioningschemes in accordance with engineering practice, allowvalidation of dimensioning, partial or full redimensioning,and generation of complete dimensioning schemes formachining cells during GD&T mapping.

3.1. Geometry primitives

Dimensions and Y14.5 tolerance classes reference or tar-get features or features-of-size. A list of all such entitiesused is as follows: part faces, edges, center points (ofholes, spheres, etc.), axes (of holes, cylinders), mid-planesof slots or pockets, width and radius dimensions. All ofthese can be covered by a dimension parameter Dp andthree geometric primitives: point, straight line, and planarface. Non-linear shapes can be de®ned in terms of thesethree as follows. A circle or sphere is described bya centerpoint and a radius dimension (Dp); a cylinder byan axis (line) and a radius (Dp); pro®les and sculptured

surfaces can be attached to a coordinate system (lines orplanes) for the purpose of relative positioning, as dem-onstrated in Kramer's work. A solid model can be de-composed into a collection of these geometric primitives;if the sizes, shapes and locations of the constituent geo-metric primitives are fully controlled, the solid body isfully de®ned.

3.2. Entity DOF

Degrees of freedom de®ne the independent ways in whichan object's geometry can change. In spatial geometry, DOFcan be resolved into six kinematic DOF; they are dividedinto three translational DOF (TDOF � t1, t2, t3) and threerotational DOF (RDOF � h1; h2; h3). The local coordinatesystem (1, 2, 3) is set up to distinguish it from the globalcoordinate system (x, y, z). However, because of the di-mensionality, shape and symmetry of some objects, theobjects are translational invariant in some directions andare rotational invariant in some orientations, i.e. they donot change shape, size, or location when displaced in aninvariant direction. Thus the total number of DOF of theobject is less than six. Figure 3 shows the three basic ge-ometry primitives and the respective DOF. The entity localcoordinate systems that we use have been made consistentwith ASME 14.5.1M.

An in®nite plane is invariant in two translation direc-tions and one rotation direction because translating in-plane or rotating about its normal will have no impact onthe geometry or position of the plane; thus it has only oneDOF (t3) and two RDOF (h1; h2) (see Fig. 3). Similarly, anin®nite line is invariant in one rotation (roll) and onetranslation (in-line) direction, so its DOF are (t1, t2, h1; h2).Rotations are meaningless for a point at the origin, so ithas three TDOF, (t1, t2, t3) and no RDOF. Dimensions andtolerances are only meaningful in non-invariant DOF ofeach geometry primitive.

3.3. Geometry control frames

The DOF of geometry primitives on a part model can becontrolled with respect to other primitives on the same, or

Fig. 3. Geometry primitives and their degrees of freedom in localcoordinates.

478 Shah et al.

other part, by specifying dimension relations. Figure 4shows all the control frames (combinations of target andreference entity pairs) and the maximum DOF of thetarget entity (T) that can be controlled by each referencetype (R). Each control frame is denoted by the followingnotation:

TR(DOF)Where T 2 fP ; L; F g; R 2 fP ; L; F gand DOF � ft1; t2; t3; h1; h2; h3g are the frame's

controlled degrees of freedom in the targetentity's local coordinate system

P � point, L � line, F � plane.

In interpreting these relations the following points must benoted:

(1) Figure 4 shows the most general case where

T 6� R (no coincidence of reference and target)

T 6� R (target does not lie inside the reference)

Special cases can also be easily enumerated, but are notshown here;

(2) Figure 4 shows the maximum possible DOF that canbe controlled for each T-R combination (or control frame)± this does not mean that the designer will always choose tocontrol the maximum DOF. Consider the LL controlframe which can constrain two RDOF and one TDOF. Adesigner may specify that two holes are parallel but not puta distance constraint, i.e. only two RDOF will be con-strained. Also, it is possible that only one RDOF is con-strained; the lines lie on parallel planes but would intersectif projected onto the same plane. When describing dimen-

sion graphs we will only include the actual DOF controlledby the speci®cation, not the maximum;

(3) The precedence order is important since we aredealing with imperfect surfaces. For example LF is not thesame as FL. Both control the same maximum number ofDOF (two), but because L has four DOF and F has three,LF retains two DOF, While FL has one remaining if themaximum possible DOF are controlled by each frame.

The DOF of geometric primitives are the basis for di-mensioning; they determine how the geometric primitivescan be positioned in 3D space. For example, a point hasTDOF (t1, t2, t3); to fully position a point in space, all itsTDOF must be controlled. Therefore, a point can be po-sitioned by three dimensions, one in the X direction, one inthe Y direction and one in the Z direction. Thus, we needthree control frames, which can be any combination of PP,PL, and PF, because each one of these controls one TDOF.A line has two TDOF (t1, t2) and two RDOF (h1; h2); twoof several possible control frames are:

LP �t1� [ LL�t2; h1; h2�LF �t1; h1� [ LF �t2; h2�

A feature-of-size is another kind of part-building com-ponent; it can be viewed as a compound geometry primi-tive. In addition to kinematic DOF, a feature-of-size has asize DOF. In Y14.5M there are three kinds of features-of-size: a cylinder, a sphere and a pair of parallel planes. Acylindrical surface can be decomposed into an axis and adiameter. The kinematic DOF of a cylindrical surface canbe decomposed into an axis and a diameter. The kinematicDOF of a cylindrical surface can be controlled by ®xing itsaxis. The axis can be treated as a line. The methods tocontrol the DOF of a line are as described before. The sizeDOF of cylindrical surface can be controlled by ®xing thediameter value.

3.4. Dimension graphs

We can now describe a dimensioning scheme in terms of allgeometric primitives and the speci®ed control frames. Agraph is suitable for such a representation. The nodes ofthe graph are the constituent geometry primitives of thepart. The arcs represent the control frames. In theory, onecould connect all nodes, i.e. express the geometric rela-tionship between each pair of primitives, resulting in a di-mension hypergraph. The hypergraph contains redundantdimensions because not all the dimensions are independent.For example, the hypergraph for a cube would have 6C2 or10 arcs, but only six control frames are actually needed tode®ne the part completely. Many dimension graphs can bederived from the same hypergraph signifying the alterna-tive ways a designer may choose to control the geometry ofa part.

Figure 5 shows one complete dimension graph for asimple part. The arcs indicate the type of control frame andFig. 4. Geometry control frames.

Dimension and tolerance modeling and transformations 479

the DOF controlled, as per terminology introduced inFig. 4. The nodes contain entities in the solid model, aswell as, virtual entities (axes, mid-planes). Dp for featuresof size are not included in this graph. One can identifyseveral linear (1-D) dimension chains: F1-F5-F7, F1-L1-L2,F2-L1, F2-L2, F2-F3, F8-F4-F6. Each of these representslinear dimensions stackups in one direction of control.These linear branches are connected by orientation controlframes, such as the one between F1 and F2. The groundlinks are optional ± used when the part is to be related to anexternal coordinate system. It should be noted thatFig. 5(a) does not show the designer's preferred controldirection ± the graph shown is one of several possibilities.When tolerance frames are added this ambiguity is at leastpartially removed.

4. Tolerance classes

The dimension graph provides a structure to store andvalidate all Y14.5M tolerance classes. Each tolerance in-stance can be associated with the toleranced entity and therelevant control frame. Data structures (C++ classes) havebeen designed to capture all tolerance data including ma-terial condition and modi®ers.

(1) Size tolerance is applied directly to the dimensionparameter of features of size stored in a separate graph, orto linear dimensions between parallel entities in the samedirection branch.

(2) Form tolerance is self-referencing. It may be appliedto faces (planar, cylindrical) or lines (straight edge or axis,circular edge). The DOF graph is not needed and formtolerances can be stored as attributes of the entity.

(3) Orientation tolerance can be speci®ed in conjunctionwith the control frame that constrains that orientation.Consider parallelism tolerance for a hole (axis) with ref-erence to another hole (axis). The control frame is aug-mented with the tolerance zone value Dt:

LL�h1; h2;Dt�Since a line has four DOF, this frame does not fully con-strain the hole; only its orientation �h1; h2� is constrainedbut not its position. Choice of proper reference entity can bevalidated by checking the nominal angle value, 0° or 90° forparallelism and perpendicularity tolerances, respectively.

(4) Location tolerance requires a datum reference framewith up to three data speci®ed in a particular order. Forexample, if a hole is positioned with three orthogonal faces(F1, F2, F3, in order), there are two control frames needed:one for the datum reference frame and the other for thetarget entity related to that datum reference:

F2F1�h1� [ F3F2�h2� [ F3F1�h1�LF2�t1 � Dt; h1� [ LF3�t2 � Dt; h2�

Since a line (hole axis) has two TDOF and two RDOF, thisset controls and DOF completely; �Dt is the position tol-erance value. The validity of the reference frame can alsobe checked by the DOF graph. Redundant and con¯ictingtolerance speci®cations are quickly detected since we cantrack the total DOF of each entity and determine how eachDOF is controlled from the graph.

(5) Runout tolerances are supported similar to the ori-entation and location tolerance classes.

(6) Pro®le tolerances are implemented similar to formtolerances.

5. Implementation

The GD&T modeler was implemented on top of the ACISgeometry kernel, using C++ language, and integrated withASU's feature-based design system.

5.1. Dimension graphs

Even though conceptually the dimension graph is a singlegraph, we found it more convenient to store each linearbranch (no orientation change) separately for each di-mension direction of control. The minimum number ofsuch branches is three in Cartesian coordinates. Thus, thisdivide-and-conquer strategy yields three or more dimen-sion sub-graphs. Before dimensioning a part, the partgeometric primitives are grouped according to their DOFto form dimension sub-groups. Dimensions are usuallyspeci®ed between planar surfaces, axes and centerpoints of

Fig. 5. Use of control frames in creating dimension graphs.

480 Shah et al.

features-of-size. Therefore, planar surfaces, axes and cen-terpoints of features-of-size are used to build dimensiongroups and they are grouped according to their DOF. Sinceeach sub-graph contains elements of the same nominalorientation, it is only necessary to store the relative dis-placement of each entity with respect to one reference en-tity in the same dimension sub-group. In our currentimplementation four directions of control are supported:for any part we can identify three primary control direc-tions which we designate global x, y and z directions; thefourth one is any arbitrary direction not aligned with x, y,z. The conceptual design does not restrict the number ofdirections of control; this was only done to simplify ourimplementation.

Features-of-size such as cylindrical surface and sphericalsurface are also grouped together to form a features-of-sizegroup, since they need dimensions to control their sizeDOF. Sub-dimension graphs are also built for features ofsize parameters Dp. Every member of the feature-of-sizegroup has only one DOF, viz. size DOF, so every memberhas one dimension node associated with it. This dimensionnode de®nes the size of the feature-of-size. To fully di-mension this group, each member's dimension node mustbe assigned size value and size tolerance value. If anymember's dimension node is not assigned a size value, thenthe group is under-dimensioned. If the user tries to di-mension a group member more than once, over-dimen-sioning will be detected.

In summary, the possible dimension groups of a part areXDOF_group, YDOF_group, ZDOF_group, feature-of-sizegroup and other_DOF group. The dimension sub-groups

can be found by traversing the part solid model and storedas a linked list of nodes. The node class data structure hassix member variables: entity name, entity type, entity DOFs,pointer to solid-model entity, and pointers to previous andnext nodes. Dimension operations are performed separatelywithin each sub-graph. The linked list data structure isdynamic, allowing addition/deletion of dimension nodes,reordering to account for redimensioning, and detection ofover- and under-dimensioning conditions by searching forloops or missing links, respectively.

5.2. Tolerance classes

Tolerances can be treated as attributes of the geometricentities in the solid model. The ACIS solid modeler pro-vides an attrib_class which can be attached to any kind ofgeometric entity. New attrib_classes can be derived fromthe base attrib_class. ACIS provides facilities to handleattrib classes such as save and restore from ®le and mergeand split during Boolean operation. By using ACIS_attt-rib_class to represent tolerance classes, tolerance informa-tion becomes part of the solid model de®nition data. It isprudent to take advantage of object-oriented programmingby setting up a tolerance class hierarchy based on commonmember variables and functions, as shown in Fig. 6.

The general tolerance class stores the common dataneeded for all tolerance classes. The general tolerance classis derived ACIS_attrib_class. The member variables addedat each level (Fig. 6) are in conformance with Y14.5M datarequirements and we omit the justi®cation and explanation

Fig. 6. Tolerance class hierarchy and member variables.

Dimension and tolerance modeling and transformations 481

of each. Form tolerance class is derived from the generaltolerance class; it does not require any additional param-eters except for straightness tolerance which needs a ma-terial condition modi®er. When the straightness toleranceis applied to a feature, the material condition is not ap-plicable, so the member variable mat_cond is assigned to be`none'. When the straightness tolerance is applied to afeature-of-size, the member variable mat_cond is used tostore the material condition of the feature-of-size. Orien-tation tolerance class is derived from the general toleranceclass with the addition of a reference entity pointer andmaterial condition modi®ers. The location tolerance class isa dummy tolerance class used to link position toleranceclass and concentricity tolerance class to the general tol-erance class. Member variables added for runout toleranceclass pro®le tolerance class are also shown in Fig. 6.

The methods associated with each tolerance class aresimilar:

(1) Constructor;(2) Destructor;(3) Functions to set member variables;(4) Functions to retrieve member variables;(5) Functions for attribute migration for merge/

split (Boolean operations);(6) I/O functions;(7) ACIS macros to handle tolerance attribute class.

6. Application of GD&T model in design

We present application of the GD&T model in two do-mains: design and machining. This section will discussdesign speci®cation and the next section will look atGD&T conversion for machining.

After a solid model has been de®ned the designer needsto specify the GD&T scheme. A dimension scheme is theparticular method of control chosen by the designer. Dif-ferent types of geometric variations (size, form, etc.) arecontrolled separately because they a�ect di�erent elementsof functionality. We may view dimensions as directed (one-way) or undirected (mutual) constraint imposed on thetopology of an object, from which its nominal geometrycan be computed. Tolerances are allowed variations in theconstraint parameters. Having a geometric and featuremodel is not su�cient for GD&T mapping, because thereis no speci®cation of the references and targets. The pop-ular variational geometry model does not deal with di-rected constraints; hence is unacceptable in engineeringpractice.

The dimension model presented in the last section allowsthe speci®cation of the dimensioning scheme. Dimensionscheme speci®cation is done after the nominal geometryhas been de®ned in the solid/feature modeler. The dimen-sion values are implicit in the solid model. By dimensionscheme speci®cation we mean that the designer has to ex-

plicitly specify how the DOF of each entity/feature are tobe controlled. As the designer speci®es this information, adimension graph is built for each direction of control. TheXDOF, YDOF and ZDOF groups are expandable, newentities can be added into these groups. The DOF-baseddimension graph thus created is validated at every step; If aclosed loop exists in a dimension graph, then there is aredundant dimension in that loop. Loops can be found bystandard graph algorithms. If in a dimension graph thereexist disconnected sub-graphs, then the group is under-di-mensioned. It is also trivial to set up algorithms for redi-mensioning when the dimensioning scheme is changed bythe designer.

A simple part is shown in Fig. 7(a) and its dimensionsub-graphs are shown in Fig. 7(b). (A more complex part isillustrated at the end of the paper.) There are three direc-tions of control, designated XDOF, YDOF and ZDOF di-rections; also, there is a sub-graph for feature-of-sizeparameters, Dp. Displacements are recorded as plus/minusbased on the direction of travel from the reference to thetarget.

7. Application of GD&T model in feature mapping

Suppose that after the designer has ®nished specifyingGD&T the part is sent for process planning. We now dis-cuss how to automatically dimension each volume to beremoved by machining so as to meet the designer's re-quirements. The dimension graph of the total removalvolume is made up of both the part dimension graph andthe stock dimension graph. To generate the dimensiongraph of the total removal volume, the part dimensiongraphs and the stock dimension graphs are linked in eachdirection of control by positioning the part inside the stock.If the part and the stock are both completely dimensionedand the position of the part within the stock is ®xed, thenthe total removal volume is completely dimensioned. In thetotal removal volume, some surfaces come from the part,and some surfaces come from the stock. Surfaces comingfrom the part have the same names as in the part and thetolerances attached to these surfaces are also inherited di-rectly from the part. Surfaces coming from the stock inherittheir names and tolerances directly from the stock.Therefore, the dimensions and tolerances of the total re-moval volume are inherited from both the part and thestock.

Consider the part shown in Fig. 7(a). The dimensionsubgraphs can easily be constructed as shown in Fig. 7(b).Suppose this part is to be machined from a larger block(stock) shown in Fig. 8(a). The sub-graphs for the stock areshown in Fig. 8(b). Tolerances can also be added to thestock, as well. If the relative position of the part andthe stock is as shown in Fig. 8(b). The ®rst step in gettingthe GD&T of machining volumes is to merge the dimen-

482 Shah et al.

sion graphs of the part and the stock for each of the di-rections of control, as shown in Fig. 8(c). This set of sub-graphs is for the total removal volume.The feature-of-size group of total removal volume is the

combination of the feature-of-size groups of part andstock. The dimension node of each group member is di-rectly inherited from part or stock. In this example, sincethere is no feature-of-size group in the stock, the feature-of-size group of the total removal volume is the same as thatof the part, which has only one member, fea2.f2. The di-mension node of fea2.f2 is directly inherited from the part.

Various strategies have been employed in the literaturefor feature recognition for machining features. One suchscheme is volume decomposition by half space partitioning(Shen, 1994) which we use to decompose a total removalvolume into alternative sets of manufacturing features orcells. One possible set of machining volumes is shown inFig. 9(a). This particular decomposition shows ®ve cells.The decomposition is not unique and one can get a dif-ferent and valid set of volumes for the same removal vol-ume.

Regardless of the particular method used for featurerecognition, we will always get cells whose boundariesconsist of both part faces and stock faces. Consider cell-3,whose boundary elements are shown in Fig. 9(b). It con-tains the one complete stock face (wpc.f6), four partialstock faces (wpc.f1, f2, f3, f4) and one part face (feal.f6)extended to intersect the stock faces. Since GD&T attri-butes are attached to these entities the cell will inherit theseattributes, as speci®ed in the attribute migration functionsof that attribute class.

Fig. 7. A part, stock, and their subgraphs.

Fig. 8. Merging of part and stock dimension graphs.

Dimension and tolerance modeling and transformations 483

Cell dimensioning follows the same of rules as partdimensioning; however, in cell dimensioning, the base di-mension values and tolerances of a cell can be retrieved orcalculated from the dimension graph of total removalvolume. In fact, the dimension graph of total removalvolume stores the dimension and tolerance information ofall cells. The problem is how to extract this information.The GD&T of cells can be classi®ed as:

(1) Cell intrinsic GD&T. The cell intrinsic GD&T existwithin each cell. They de®ne the shape and size of the cell.

(2) Cell relative GD&T. The cell relative GD&T existbetween di�erent cells. They represent the relationshipsbetween di�erent cells. The cell relative dimensions are thedimensions between di�erent cells. The cell relative toler-ances are the tolerances whole target entity and datumentities are in di�erent cells. The cell relative GD&T de®nethe relative positions and orientations of the cells in totalremoval volume.

Let us take the example of cell-3 of Fig. 9 which is to bedimensioned. The dimensions are directly derivable fromFig. 8:

X : wpc:f 2! wpc:f 1 � c1Y : wpc:f 6! feal:f 6 � yyZ : wpc:f 4! wpc:f 3 � b1

Feature-of-size: none

Similarly, for cell-5 the intrinsic dimensions are:

X : noneY : noneZ : feal:f 4! feal:f 3 � bFeature-of-size: fea2.f2

From the ZDOF group dimension graph of total re-moval volume, the dimension between feal.f3 and feal.f4 isfound to be b, which gives the ZDOF dimension subgraph.If the dimension between feal.f3 and feal.f4 does not existexplicitly in the ZDOF dimension graph of total removal

volume, a dimension loop which includes the dimensionbetween feal.f3 and feal.f4 can be formed in the ZDOFdimension graph of total removal volume. There is also anintrinsic tolerance (cylindricity) which is inherited directlyby the attrib of fea2.f2. From the dimension node of thefeature of size group of total removal volume, the dimen-sion of fea2.f2 is found to be D � m.

The extrinsic GD&T include nominal position and po-sition tolerance, an FL control frame. However, the posi-tion GD&T are with respect to part faces f1 and f2, whichmay not exist at the time the hole is drilled. In that case,these GD&T need to be transferred to another cell or stockface. Suppose we want the x position with respect towpc.f2. This can be found from the merged stock and partX subgraph in Fig. 8. Start at wpc.f2 and ®nd a path tofea2.f2&axis node. Add all dimensions, using the same signif traveling in the direction of the arrow and the oppositedirection when traveling against the arrow:

wpc:f 2! fea2:f 2&axis � xx� cÿ d

The tolerance of this link equals the sum of all the sizetolerances of the dimension loop, because this tolerancerepresents the maximum variation.

The GD&T modeler and mapper developed by this re-search has been integrated into the ASU Features Testbed.After a part is fully dimensioned and toleranced, a stock isselected for the part by the workpiece selector program.The stock can be dimensioned and toleranced in the sameway as the part. After the part and stock are dimensionedand toleranced, they are fed into the cell decomposer. Thetotal removal volume is decomposed into cells. After allcells are displayed, the GD&T mapping will be performed.

Figure 10 shows a part built with four features: a cyl-indrical base (3-cylinder), a rectangular protrusion (1-block), a cylindrical boss (2-cylinder), and a hole (4-thru-hole). The top and pictorial view show the GD&T for thispart. Apart from size tolerances, there is a form toleranceon the hole and position tolerances on both the hole andthe circular boss. Figure 11 shows a screen dump of the

Fig. 9. Mapping of machining cells.

484 Shah et al.

parts X, Y, Z-dimension and feature-of-size graphs afterdesign. If there were any errors, such as over or underconstraint condition, con¯icts, improper datums, the sys-tem would output the appropriate error message. It can beseen that the boss position tolerance is captured in the Xand Y graphs using the axis (3-cylinder.1.planar&axis) andreferring it to the speci®ed datum planes (1-block.6-planarand 1-block.5-planar), respectively. That is, there are twoLF control frames. Similarly, the hole position tolerance isalso captured. The reader can verify if the GD&T schemeshown in Fig. 10 is properly represented in Fig. 11. The

form tolerance is not shown because it is captured as anattribute of the cylindrical hole face.

Suppose that the part of Fig. 10 was to be machinedfrom a round stock of 5 in. diameter that just encloses thepart. Figure 12 shows the total removal volume partitionedinto a set of machining volumes. This is only one of severalpossible sets of machining volumes. Each cell can be viewedalone or viewed together with other cells. The dimensiongraphs of each cell are produced as described previously.For the cylindrical cell highlighted only the Z dimensionand feature of size graphs are produced. One can also view

Fig. 10. A case study.

Fig. 11. Tolerance graphs output from GD&T modeler.

Dimension and tolerance modeling and transformations 485

tolerances stored as attributes, e.g., the cylindricity toler-ance. These displays are for demonstration and debugging;the real application is for the GD&T of each machiningfeature to be transmitted directly to the process planningsystem.

8. Discussion

The paper presented a method to e�ciently model the di-mensions of a part. The philosophy of this method is `di-vide and conquer', i.e., the whole dimension graph of a partcan be separated into several sub-dimension graphs. Eachsub-dimension graph controls certain DOF and each sub-dimension graph controls dimensions in a certain direction.For most cases, the dimension directions are X, Y and Zdirections. Dimension operations are performed separatelywithin each sub-dimension graph. The sub-dimensiongraphs are linked together by the angular dimensions be-tween them. The size dimensions of features-of-size controlthe size DOF of the features-of-size and are treated sepa-rately within feature-of-size dimension group. We alsodemonstrated several uses of the dimension model, fordesign speci®cation and for automatic dimensioning of

volumes (cells) produced by volume decomposition infeature recognition or mapping.

The model can be used in both design and manufac-turing. In design, GD&T speci®cation, veri®cation, andredimensioning are facilitated. Operations on dimensionssuch as over- and under-dimensioning checking andredimensioning are easily implemented. In manufacturing,the GD&T model for each individual machining volumecan be automatically extracted from the part and barstock GD&T superimposition. Moreover, the GD&Tmodel is consistent with engineering practice and com-patible with Y14.5M and Y14.5.1M. Therefore, thisGD&T model can support seamless integration betweenCAD and CAM.

Acknowledgments

The volume decomposition research was supported byNSF grant #DDM9114696 (1991±94) and the GD&Tmapping work is supported currently by DMI9522971(1995±98). An earlier version of this paper was presented atthe 1996 ASME Design Tech. Conference [Yan 96].

Fig. 12. GD&T of one machining volume (shaded).

486 Shah et al.

References

ANSI (1982) Dimensioning and Tolerancing, American NationalStandards Institute, Y14.5M.

ASME (1994a) Dimensioning and Tolerancing, ASME Y14.5M-

1994, American Society of Mechanical Engineers, New York.ASME (1994b) Mathematical de®nition of Dimensioning and

Tolerancing Principles, ASME Y14.5.1M-1994, AmericanSociety of Mechanical Engineers, New York.

Bernstein, N. (1989) Representation of tolerance information insolid models, in ASME Design Technical Conference, Mon-treal, Canada.

Clement, A., Desrochers, A. and Riviere, A. (1991) Theory andpractice 3D tolerancing for assembly, in Second CIRP Sem-inar on Computer Aided Tolerancing, PennState, May.

Clement, A., Riviere, A. and Temmerman, M. (1994) Cotationtridimensionelle des systemes mecaniques, theorie et pratique,Yvry-sur-siene. (In French. English translation in progress byAddison-Wesley, Boston.)

Kramer, G. A. (1992) Solving Geometric Constraint System: aCase Study in Kinematics, MIT Press.

Riviere, A. (1993) La Geometric du groupe des deplacementsappliquee a la modelisation du tolerancement, PhD Thesis,Univ. de Cachan, Paris.

Salomons, O. (1995) Constraint speci®cation and satisfaction infeature based design for manufacturing, PhD Thesis, Univ.of Twente, The Netherlands.

Shah, J. and Zhang, B. (1992) Attributed graph model for geo-metric tolerancing, in ASME Design and Automation Con-ference, Phoenix, September.

Shen, Y. (1994) Design-to-manufacturing feature mapping based

on volume decomposition using half-space partitioning, PhDThesis, Arizona State University.

Shen, Y. and Shah, J. J. (1994), Feature recognition by volume

decomposition using half-space partitioning, in ASME De-sign Conference, Minneapolis, Minnesota, September.

Turner, J. V. and Wozny, M (1988) A mathematical theory of

tolerances, in Geometric Modeling for CAD Applications,Wozny M.J., McLaughlin H.W., Encarnacao J.L. (eds),Elsevier.

Yan, Y. and Shah, J. (1996) Representation and mapping ofgeometric dimensions from design to manufacturing in 1996

Fig. 13. Screen capture of GD&T modeler.

Dimension and tolerance modeling and transformations 487

ASME Computers in Engineering Conference, Irvine, CA,August.

Yan, Y. (1995) Dimension and tolerance mapping, MS Thesis,Mechanical Engineering, Arizona State University.

Zhang, B. C. (1992) Geometric modeling of dimensioning andtolerancing, PhD Thesis, Arizona State University.

488 Shah et al.