Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine...

48
Machine Interpretation of CAD Data for Manufacturing Applications QIANG JI AND MICHAEL M. MAREFAT University of Arizona, Tucson Machine interpretation of the shape of a component from CAD databases is an important problem in CAD/CAM, computer vision, and intelligent manufacturing. It can be used in CAD/CAM for evaluation of designs, in computer vision for machine recognition and machine inspection of objects, and in intelligent manufacturing for automating and integrating the link between design and manufacturing. This topic has been an active area of research since the late ’70s, and a significant number of computational methods have been proposed to identify portions of the geometry of a part having engineering significance (here called “features”). 1 However, each proposed mechanism has been able to solve the problem only for components within a restricted geometric domain (such as polyhedral components), or only for components whose features interact with each other in a restricted manner. The purposes of this article are to review and summarize the development of research on machine recognition of features from CAD data, to discuss the advantages and potential problems of each approach, and to point out some of the promising directions future investigations may take. Since most work in this field has focused on machining features, the article primarily covers those features associated with the manufacturing domain. In order to better understand the state of the art, methods of automated feature recognition are divided into the following categories of methods based on their approach: graph- based, syntactic pattern recognition, rule-based, and volumetric. Within each category we have studied issues such as the definition of features, mechanisms developed for recognition of features, the application scope, and the assumptions made. In addition, the problem is addressed from the perspective of information input requirements and the advantages and disadvantages of boundary representation, constructive solid geometry (CSG), and 2D drawings with respect to machine recognition of features are examined. Emphasis is placed on the mechanisms for attacking problems associated with interacting features. Categories and Subject Descriptors: 1.3.5 [Computer Graphics]: Computational Geometry and Object Modeling—boundary representations; constructive solid geometry (CSG); curve, surface, solid and object representation; geometric algorithms, languages, and systems; 1.3.8 [Computer Graphics]: Applications; 1 Although literature on this subject uses the terms form feature, semantic feature, shape feature, semantic shape feature, and semantic form feature, we use the term feature exclusively throughout this article. This research has been partially supported by the National Science Foundation under grant DDM- 9210018 to M. M. Marefat, and partially by funds provided by the Electrical and Computer Engineering Department at the University of Arizona. Qiang Ji has been supported in part by funds from Paul Lever. The support is gratefully appreciated. Authors’ address: Department of Electrical and Computer Engineering, University of Arizona, Tucson, AZ 85721. Permission to make digital / hard copy of part or all of this work for personal or classroom use is granted without fee provided that the copies are not made or distributed for profit or commercial advantage, the copyright notice, the title of the publication, and its date appear, and notice is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and / or a fee. © 1997 ACM 0360-0300/97/0300–0264 $03.50 ACM Computing Surveys, Vol. 24, No. 3, September 1997

Transcript of Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine...

Page 1: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

Machine Interpretation of CAD Data for ManufacturingApplicationsQIANG JI AND MICHAEL M. MAREFAT

University of Arizona, Tucson

Machine interpretation of the shape of a component from CAD databases is animportant problem in CAD/CAM, computer vision, and intelligent manufacturing.It can be used in CAD/CAM for evaluation of designs, in computer vision formachine recognition and machine inspection of objects, and in intelligentmanufacturing for automating and integrating the link between design andmanufacturing. This topic has been an active area of research since the late ’70s,and a significant number of computational methods have been proposed to identifyportions of the geometry of a part having engineering significance (here called“features”).1 However, each proposed mechanism has been able to solve theproblem only for components within a restricted geometric domain (such aspolyhedral components), or only for components whose features interact with eachother in a restricted manner. The purposes of this article are to review andsummarize the development of research on machine recognition of features fromCAD data, to discuss the advantages and potential problems of each approach, andto point out some of the promising directions future investigations may take. Sincemost work in this field has focused on machining features, the article primarilycovers those features associated with the manufacturing domain. In order to betterunderstand the state of the art, methods of automated feature recognition aredivided into the following categories of methods based on their approach: graph-based, syntactic pattern recognition, rule-based, and volumetric. Within eachcategory we have studied issues such as the definition of features, mechanismsdeveloped for recognition of features, the application scope, and the assumptionsmade. In addition, the problem is addressed from the perspective of informationinput requirements and the advantages and disadvantages of boundaryrepresentation, constructive solid geometry (CSG), and 2D drawings with respect tomachine recognition of features are examined. Emphasis is placed on themechanisms for attacking problems associated with interacting features.

Categories and Subject Descriptors: 1.3.5 [Computer Graphics]: ComputationalGeometry and Object Modeling—boundary representations; constructive solidgeometry (CSG); curve, surface, solid and object representation; geometricalgorithms, languages, and systems; 1.3.8 [Computer Graphics]: Applications;

1 Although literature on this subject uses the terms form feature, semantic feature, shape feature,semantic shape feature, and semantic form feature, we use the term feature exclusively throughout thisarticle.This research has been partially supported by the National Science Foundation under grant DDM-9210018 to M. M. Marefat, and partially by funds provided by the Electrical and Computer EngineeringDepartment at the University of Arizona. Qiang Ji has been supported in part by funds from PaulLever. The support is gratefully appreciated.Authors’ address: Department of Electrical and Computer Engineering, University of Arizona, Tucson,AZ 85721.Permission to make digital / hard copy of part or all of this work for personal or classroom use is grantedwithout fee provided that the copies are not made or distributed for profit or commercial advantage, thecopyright notice, the title of the publication, and its date appear, and notice is given that copying is bypermission of the ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute tolists, requires prior specific permission and / or a fee.© 1997 ACM 0360-0300/97/0300–0264 $03.50

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 2: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

1.5.1 [Pattern Recognition]: Models—geometric; 1.5.2 [Pattern Recognition]:Design Methodology—pattern analysis; 1.5.0 [Pattern Recognition]: General;1.2.1 [Artificial Intelligence]: Applications and Expert Systems—industrialautomation; 1.2.10 [Artificial Intelligence]: Vision and Scene Understanding—shape; 1.2.9 [Artificial Intelligence]: Robotics; J.2 [Computer Applications]:Physical Sciences and Engineering—engineering

General Terms: Design, Performance, Reliability

Additional Key Words and Phrases: Artificial intelligence, automated processplanning, computer-aided design, computer-integrated manufacturing, featurerecognition, flexible automation

CONTENTS

1. INTRODUCTION1.1 Features1.2 Interpreting Geometric Models to Obtain Fea-

tures2. CAD AND GEOMETRIC MODELING

2.1 Geometric Modeling and RepresentationSchemes

2.2 STEP: The International Standard for the Ex-change of Product Model Data

3. AN INFORMAL CLASSIFICATION OF FEATURERECOGNITION MECHANISMS

4. MACHINE FEATURE IDENTIFICATION ANDRECOGNITION TECHNIQUES4.1 AFR using B-rep4.2 AFR using CSG4.3 AFR from 2D Engineering Drawings

5. OTHER PARADIGMS FOR OBTAINING FEATUREINFORMATION5.1 Feature-Based Design and Feature Recognition

6. SUMMARY AND CONCLUSION6.1 Information Processing Methods6.2 Information Requirements6.3 Shortcomings of Existing Systems

1. INTRODUCTION

Design is a set of important processesthat occur at different life-cycle stagesof a product. Computer-aided design(CAD), in general, refers to using com-puters to assist with the various func-tions in the design process. Engineersconsider CAD data to be the data thatrepresent a product or component: inthe domain of mechanical componentsthese are often represented as a set ofengineering drawings or a solid modelof a component.

Although CAD has been used to assist

with various design tasks, CAPP (com-puter-aided process planning) has usu-ally referred to the collection of activi-ties that convert a part design intomanufacturing instructions that de-scribe how to produce the part or how tobuild an assembly to satisfy the designspecifications. In the domain of ma-chined components, process planninginvolves finding the sequence of pro-cesses with which parts are to be ma-chined (such as milling, grinding, dril-ling, etc.), the fixturing configuration toset up the part for each process to becarried out, and the tools to be used tocarry out each operation in the se-quence. In order to achieve this task fora component, process planners interpretthe design data (the shape, surface fin-ish, tolerances, etc.) based on processand tool capabilities.

Computer-integrated manufacturing(CIM) systems attempt to integratedesign, process planning, and otherfunctions (material handling, factorymanagement, etc.) in a production envi-ronment. However, developing truly in-tegrated manufacturing systems hasproved not to be a trivial undertaking.One important reason has been thatCAD data consisting of annotated engi-neering drawings or the solid model of acomponent are not manufacturing-spe-cific and generally represent geometryby a low-level description of edges, ver-tices, and faces of a component, whereasprocess planners work with primitivessuch as slots and holes (and propertiesof the primitives such as dimensionsand surface finish) that are shapes pro-duced by processes and tools.

Computing Surveys • 265

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 3: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

In order to overcome the integrationbarrier between design and processplanning, a task which previously reliedupon a manual interpretation processby an engineer, several conscious effortshave been made, all using the concept offeatures. As explained later, the strat-egy has been either to incorporate fea-tures in the CAD data during the designprocess or to extract the features fromCAD data, or a combination of both. Inthe next section, we first consider fea-tures and what they refer to in theremainder of this article.

1.1 Features

There is no universally accepted defini-tion of features. In fact, this has beenone of the difficulties researchers havefaced in this area. However, two recentbooks [Shah and Mantyla 1995; Shah etal. 1994] have described features asgroupings of topological entities from acomponent that are semantically signif-icant in its production and thus need tobe referenced together. Clearly this de-scription implies that feature defini-tions are domain-dependent and appli-cation-oriented. For varied applicationssuch as design, manufacturing, stressanalysis, and the like, the part is there-fore to be viewed in terms of differentsets of features [Mantyla et al. 1996].

From the point of view of processplanning, a feature set can be visualizedas consisting of shapes and technologi-cal attributes associated with manufac-turing operations and tools [Shah 1991].For example, pockets, slots, holes, andsteps are examples of common machin-ing features, instances of which areshown in Figure 1(a). Pockets and slotsmay be produced by milling and grind-ing process operations, and holes maybe achieved by drilling processes. Al-though some researchers have broad-ened the notion of features to includesuch entities as tolerance features, sur-face finish features, material features,and the like, in this article the term isrestricted to “shape” features [Shah andMantyla 1995] or groupings of geomet-

ric and topological entities from a com-ponent that correspond to primitiveshapes produced by given manufactur-ing operations and tools. Henceforth, weconcentrate on common machining fea-tures such as pockets, slots, bosses,holes, and so on because these havebeen the predominant features dis-cussed in the literature: from here on,the term features refer to them unlessotherwise stated.

In order to develop systems-handlingfeatures, existing research has ap-proached the definition of features dif-ferently. Some work has regarded fea-tures as (closed) volumes with certaincharacteristics (rectangular block, withtwo opposite ends open, etc.), whereasother researchers have regarded themas a group of topologic entities (faces,edges, etc. that are not necessarilyclosed volumes) satisfying certain geo-metric relationships (four faces, pair-wise parallel, etc.). Examples of re-search in each category include Sakuraiand Gossard [1990], where a feature isdefined as a collection of faces, and Van-denbrande and Requicha [1990, 1993],who define a feature as a volume. Fig-ure 1(a) shows the same set of commonfeatures regarded as volumes or as agroup of topologic entities. It is impor-tant to recognize how features can bedefined differently because the proposedalgorithms for feature recognition fromsolid models cannot be used inter-changeably between the alternate ap-proaches. Algorithms for feature recog-nition can deal only with a specificdefinition of features.

Although there are infinite possibleshape patterns for features, it may stillbe possible to categorize them intogroups or classes. Such a classificationwould be useful for feature support, fordeveloping a standard terminology, andfor data exchange. For example, fea-tures may be classified as polyhedral ornonpolyhedral. Features may also beclassified as prismatic or rotational. Theattributes associated with features mayinclude dimension, orientation, toler-

266 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 4: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

ance, spatial relationship, and topologiccomponents.

1.2 Interpreting Geometric Models toObtain Features

An active area that has received muchattention in integrating CAD and CAPPhas been the development of an intelli-gent interpreter of CAD data (geometric

models) to obtain features. Such an in-terpreter would serve to translate thelow-level entities (faces) in the geomet-ric models produced by a CAD systeminto a set of features suitable for manu-facturing by means of an automatic fea-ture recognition process (AFR) thatwould determine the features from anexisting CAD-produced geometric modelof a component such as a boundary rep-

Figure 1. (a) Several common prismatic manufacturing features which can be defined volumetricallyor geometrically; (b) part with interacting features.

Computing Surveys • 267

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 5: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

resentation (B-Rep), a constructive solidgeometry representation (CSG), engi-neering drawings, and so on. We discussgeometric models of components in thenext section.

Figure 2 shows the component mod-ules of automatic feature recognition[Shah 1991]. The constructed featuresconstitute the high-level primitives thatcontain the semantic manufacturing in-formation used for process planning orassembly. Once features are hypotheti-cally found, they must be verified forcorrectness. This is generally donethrough either a set of rules, which de-termine if any given feature is not valid,or through volume-checking methods,which ensure that each feature gener-ated is within the volume to be removedfrom the machined raw stock. The feed-back loop shown in the figure is in placein case the verification fails, in whichcase the feature recognition processmust be repeated to search for a differ-ent set of features and the new featuresmust be verified in turn. We note thatfor a number of systems, some or all ofthe tasks of feature recognition are in-cluded within the duties of (computer-aided) process planning. For example,feature verification or even feature rec-ognition itself may be considered a dutyof the process planner. For clarity, weseparate the feature recognition taskfrom other process planning tasks (e.g.,tool selection), and focus only on it.

A number of techniques for automaticfeature recognition have been proposedin the past decade, but there have beendifficulties associated with a lack ofstandard definitions. The multiplicity offeature definitions has sometimes con-tributed to different classifications forthe same shape within the literature.

For example, Figure 3 has been classi-fied as a slot [Marefat and Kashyap1990; Joshi and Chang 1988], a pocket[Gupta et al 1994], or a depression [DeFloriani 1989].

Another difficulty in studying andproposing feature-recognition tech-niques has been robustness in handlingfeature interactions. When two or morefeatures intersect geometrically, openinto one another, and so on, this pro-duces what is generally termed a fea-ture interactions. The definition of fea-ture interaction depends on theapproach taken in defining features. Asmentioned in the previous section, somework has regarded features as (closed)volumes with certain characteristics,and other studies have regarded themas groups of topological entities (notnecessarily volumes) satisfying certaingeometric relationships. For volumetricfeature definitions, a feature interactioncorresponds to an intersection of thevolumes of two (or more) features. Fortopology-based feature definitions, aninteraction corresponds to modificationof the topological elements and the rela-tionships between the elements that de-fine each feature involved in the inter-action. For example, Figure 1(b) showsa component with interaction betweenits two features, that is, two slots.

Regardless of whether features areregarded as volumes or as particulargroups of topological elements, the diffi-culty of feature interactions for pro-posed techniques has been that the geo-metric interaction of features oftenproduces a different version of a fea-ture, and the characteristics of this newinstance are different from the repre-sentational characteristics used by thetechnique to define the given class of

Figure 2. Component modules in automatic feature recognition.

268 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 6: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

features. The new version might have adifferent number of faces, a differentnumber of edges, different geometricconstraints (perpendicularity, etc.) be-tween adjacent faces, a raw stockbounded volume that does not corre-spond to the expected volume for thatclass of feature, and so on. Because ofthese potential differences, feature-rec-ognition techniques cannot therefore ex-pect direct matches between the charac-teristics expected to represent a featureand the characteristics of all instancesof that feature. This leads to nonunique-ness in characteristics defining in-stances of a feature and a need for capa-bility and/or intelligence to cope withnonuniqueness and perform robustly inspite of it.

Another natural outcome when fea-tures interact is that there are inevita-bly alternative ways to describe a com-ponent according to its features, eitherby having alternative sets of matchesamong the geometric model of the com-ponent and the representations for fea-tures or, if there is no set of completematches, by having alternative reason-ing paths leading to alternative partialmatches. For example, according to thefeatures shown in Figure 1(a), the com-ponent in Figure 1(b) can be interpretedas having two interacting through slots,but an equally valid interpretation(based on geometric instances of shownfeatures) would be four blind slots and apocket in the middle. Being able to gen-erate alternate interpretations system-atically is very useful, because it allowsmanufacturing process planners to ben-efit from the information and generateprocess plans that are superior in termsof cost, quality, or both. Interpretations

that provide access to all features fromfewer access directions may producebetter machining process plans, becauseit is estimated that as much as 80% ofproduction time is spent in establishingdifferent setups.

In the remainder of this article, wefirst review schemes for representingcomponents via CAD geometric modelsand then discuss a variety of solutionsto the problem of automatic feature rec-ognition. We study advantages and dis-advantages, as well as the applicationscope of each solution. The mechanismsfor automatic feature recognition are di-vided into several categories of methodsbased on the overall approach: syntacticpattern recognition, graph-based, rule-based, volume- and cell-based, and evi-dence-based reasoning. Such an infor-mal grouping is useful to betterunderstand the state-of-the-art technol-ogy related to feature recognition fromCAD geometric models. Associated witheach technique are important issues re-lated to feature recognition includinghow features are represented, algo-rithms developed for feature recogni-tion, application scope of the proposedtechnique, underlying assumptions, andprototype systems developed. One em-phasis of the article is on mechanismsfor attacking problems associated withinteracting features since, as we havenoted, they have posed difficulties infeature recognition.

2. CAD AND GEOMETRIC MODELING

Design is an iterative process that in-volves proposing a design solution, test-ing and evaluating the design solution,modifying the proposed solution, andfinally optimizing the solution. WithinCAD, the graphics capabilities of a com-puter are substituted for the work thattraditionally would have been done withpencil and paper. Furthermore, the sim-ulation capabilities of the computer helpthe designer test and evaluate a proposeddesign solution. CAD can reduce thedesign cycle, increase design accuracy,

Figure 3. Example of simple part with slot.

Computing Surveys • 269

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 7: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

and free workers from tedious and re-petitive work.

With the rapid development in data-base, simulation, and artificial intelli-gence technology, CAD’s functions haveevolved from simple computer graphicsand computer-aided drawing and draft-ing to advanced 3D graphical represen-tation, analysis, and simulation. Cur-rent CAD systems allow a user todesign a 3D part, study the mechanicalaction of the part through simulation,and automatically produce engineeringdrawings of the part. The user can alsoanalyze stresses and deflection of thepart using finite element analysis tech-niques. The generic functions of a CADsystem may include geometric model-ing, engineering analysis, and auto-mated drafting, as well as kinematicsanalysis. For the purposes of this arti-cle, we are concerned with the geomet-ric modeling aspect of CAD systems.Such geometric models are eithersearched via automatic feature-recogni-tion techniques or are augmented withfeature information in feature-based de-sign. Therefore, it is important to coverthe basic aspects of geometric modeling.

2.1 Geometric Modeling andRepresentation Schemes

Geometric models are represented usingwireframes, which represent the partshape with interconnected edge seg-ments, or by using 3D solid models,which model the volume enclosed by theshape of the physical design. Since solidmodels carry more information thanwireframe representations, most re-search on features has used solid mod-els as input. In a typical solid-modelingsystem, the user constructs a modelwith building blocks of elementary solidshapes called primitives. The user maygenerate and/or modify a model by siz-ing, adding, and subtracting geometricsolid primitives from a base component.The base component is typically a solidrectangular block called the stock.

A range of commercial solid modelersand design packages are available, but

an important distinction must be madebetween solid-modeling packages anddesign packages. At the heart of a solid-modeling package is a kernel that sup-ports solid-modeling operations such asintersections, differences, center ofmass calculations, and the like. A de-sign package (or standard CAD tool)generally allows the construction of de-sign models (which may or may notinclude solid models), but may not allowaccess to any of the preceding solid-modeling operations. There are pack-ages that combine a solid-modeling ker-nel and a design tool as well. ACIS(Spatial Technologies) is an example ofa commercial solid modeler and Pro/ENGINEER (Parametric TechnologyCorporation) is an example of a com-mercial CAD package or design tool.

A representation scheme for solidmodeling is defined as a mapping S thatmaps physical objects from a domain Minto representations in a model space R;that is, S: M R. In unambiguous repre-sentation schemes, each representationin the model space corresponds to onephysical object in the domain. Uniquerepresentation schemes ensure thateach physical object admits (can bemapped to) only one syntactically cor-rect representation. Six major tech-niques (schemes) used to represent andmaintain a 3D model by a CAD solid-modeling system are:

—pure primitive instancing (PPI),—spatial occupancy enumeration (SOE),—cell decomposition (CD),—sweeping (S),—constructive solid geometry (CSG),

and—boundary representation (B-Rep).

PPI involves reusing already stored de-scriptions of solids, such as blocks,brackets, and the like, and applying atransformation to them by instantiatingcertain parameters, to generate new ob-jects. Although the original descriptionsare referred to as generic primitives,the individual objects created throughthis transformation are called primitive

270 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 8: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

instances. PPI is a unique representa-tion scheme, but because it lacks re-strictions on the generic primitives, it isnot necessarily unambiguous. PPI pro-vides no way to combine object in-stances to create structures that repre-sent new and more complex objects.

SOE subdivides 3D space into smallvolumes called voxels (an abbreviationfor volume elements). To represent anobject, it classifies these volumes as ei-ther empty or containing a solid. This isa variation of octrees in which 3D spaceis recursively subdivided into octantsand classified as full, empty, or par-tially full. (Juan-Arinyo and Sole [1995]present a conversion from SOE to avariant of octrees.) SOE is unique andunambiguous but has the drawback ofbeing potentially verbose, due to itsenumerative nature.

Cell decomposition (CD) is similar toSOE, but it starts the decompositionwith the object, not with 3D space. CDsubdivides the object into primitivecomponents that are either disjoint ormeet precisely at a common face, edge,or vertex. The object is then thought ofas being these primitive componentsglued together. Figure 4(a) shows theCD representation for a simple exampleobject with a slot. Since engineeringobjects may be decomposed into consti-tuting components in different ways,CD is, in general, not unique.

Sweeping is very closely related to theconcept of a generalized cylinder. It isbased on the notion of moving a two-dimensional set (a cross-section) along athree-dimensional space curve (axis) tosweep out a solid volume (Figure 4(b)).A sweep can generally be described byW 5 W(r, f ), where r(s) 5 [x(s), y(s),z(s)] is a vector function representingthe axis parametrically in terms of thearc length variable s. Normally, f repre-sents the boundary of the cross-sectioncurve; that is, f 5 (x(u, s), y(u, s)),although f may also be a set member-ship function describing the interiorpoints of the cross-section at any pointalong the axis. The dependence of thecross-section on the arc length of the

axis allows the cross-section to shrink,expand, or change in other fashions asit is swept along the axis. Althoughsweeping is intuitively appealing, likecell decomposition, it is not a uniquerepresentation scheme.

The last two solid-modeling tech-niques (CSG and B-Rep) have receivedthe most attention and therefore areconsidered the most significant repre-sentation schemes. Constructive solidgeometry (CSG) is a volumetric repre-sentation scheme in which solids maybe represented as compositions, via(regularized) set Boolean operations, ofprimitive shape entities positionedproperly in space via rigid motion oper-ations. The primitive shape entitiesused in CSG are typically parameter-ized blocks, cylinders, cones, andspheres, and the Boolean operations in-clude regularized union, difference, andintersection [Requicha 1980]. CSG rep-resents and maintains objects as trees,the leaves of which are the primitiveentities involved in constructing the ob-ject and the interior nodes of which areBoolean operations and motion transfor-mations (Figure 4(c)). The “*” in thefigure refers to regularized Boolean op-erations so as to prevent dangling edgesand faces.

The concepts of adding and subtract-ing elementary volumes, called primi-tives, at an abstract level can be likenedto manipulating features during the de-sign process (similar to feature-baseddesign). These CSG primitives may alsotranslate into machining operations,which originally provided further moti-vation for the scheme. For example,drilling a hole can be interpreted assubtracting a cylinder from a base part.One drawback of the CSG representa-tion scheme is that, in general, it is notunique.

Boundary representations (B-Reps)model objects by hierarchically storingtheir boundaries. The object boundary issegmented into a set of nonoverlappingfaces. Each face is specified by describ-ing the surface it is embedded on and itsbounding edges. Each edge is, in turn,

Computing Surveys • 271

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 9: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

represented by the curve it lies on andany associated vertices. Vertices aresimple three-dimensional coordinatepoints. The example in Figure 4(d)shows the boundary representation fora simple component with a slot. One of

the earlier influential systems adoptingthis approach [Baumgart 1972] pro-posed “winged-edge” data structures forrepresenting this information.

Boundary representation schemes areunambiguous [Requicha 1980]. They are

Figure 4. Solid model representation schemes for example object with a slot: (a) cell decompositionsubdivides the object into (glued-together) primitive components that meet precisely at a face; (b)sweeping represents the object by a cross-section ( f ), and a sweep axis (r(s)); (c) CSG represents theobject as a tree whose nodes are primitive volumes, Boolean operations, and rigid motions; (d) B-Repscheme represents the object by describing faces, edges, and vertices forming its boundary in ahierarchical structure.

272 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 10: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

also unique when the boundary of theobject is partitioned into maximal andconnected faces. This aspect is desir-able, because it makes B-Rep, unlikeCSG, independent of the operations (ortheir order) used in constructing themodel. Conversion of CSG representa-tions to boundary representations is rel-atively well understood [Requicha andVoelcker 1985]. However, the inverseproblem has not been well addresseduntil recently [Shapiro and Vossler1993].2 Due to CSG’s nonunique nature,B-Rep is more commonly used for geo-metric modeling and feature recogni-tion, but more important, nearly all au-tomatic feature recognition mechanismsrely on B-Rep or CSG for their input.

Many of these geometric modelingsystems use procedures based on theEuler theorem to test and help ensurevalidity of the models. Regardless of thesolid-modeling scheme used, the outputof current solid-modeling systems de-scribes part topology and geometry interms of low-level surface entities suchas faces, edges, and vertices, possiblyalong with such information as surfacefinish, dimensions, density, tolerances,and so on.

The schemes previously discussed are“manifold” models with strict rules fortheir topological correctness. However,some applications require “nonmani-fold” models and some of the rules ontopological correctness need to be re-laxed. Readers are referred to the selec-tive geometric complexes (SGC) model[Rossignac and O’Connor 1990] for afurther discussion.

2.2 STEP: The International Standard forthe Exchange of Product Model Data

Finally, it should be noted that there isa developed standard for the exchangeof solid model data, although it hasbeen limited commercial usage thus far.

STEP (the international Standard forthe Exchange of Product Model Data) isbeing developed by the InternationalStandards Organization (ISO) (STEP it-self is ISO Standard 10303). STEP Ap-plication Protocol 203 (AP203) is thestandard for the exchange of mechanicalpart and assembly data. PDES is theorganization responsible for the testingand support of STEP within the UnitedStates. STEP consists of schemes tostore and transmit geometric primitivesdata (solid models) using the EXPRESSlanguage. These sequential file formatsare defined to permit the transfer ofproduct data between different CAD (orsolid modeling) systems. The format isintended to be independent of the man-ner in which the information is createdand stored within any particular CADsystem. The information contained inthis format may include geometric andtopological information such as verticesof an edge, edges of a face, and faces foran object as well as certain manufactur-ing information such as density and di-mension.

3. AN INFORMAL CLASSIFICATION OFFEATURE RECOGNITION MECHANISMS

All AFR algorithms include two impor-tant components: the definition of thefeatures and the feature-recognitionmechanism. Various approaches havebeen developed for automatic feature-recognition mechanisms that can be in-formally classified into the categories:

—syntactic pattern recognition,—graph-based methods,—rule-based methods,—volumetric methods (including “cell-

based” techniques), and—evidence-based reasoning methods.

Syntactic pattern recognition character-izes the overall part shape as the com-position of certain geometric primitives.Feature recognition proceeds by parsingthe input syntactic expression of a partusing grammar rules to identify thesyntactic patterns representing fea-

2 Due to the nonuniqueness of CSG, conversion toCSG representations is a difficult problem. Re-cently, however, Chirehdast and Papalambros[1994] developed a routine to convert SOE to CSG.

Computing Surveys • 273

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 11: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

tures. In graph-based feature recogni-tion, the topological shape of a part isrepresented as a graph (generally withnodes of the graph corresponding to thefaces of the object and the arcs of thegraph corresponding to the edges of theobject. However, other graph represen-tations, for example, Chuang and Hend-erson [1990], represent the object with agraph whose nodes are vertices of theobject and whose arcs correspond to itsedges). This graph representation isthen searched for certain properties toidentify the features embedded in thepart. In rule-based methods, rules at-tempt to specify a set of necessary andsufficient preconditions for the patternsfound in a feature. Recognition is car-ried out through an inference controlmechanism that determines how to ap-ply these rules to the input data. Thisincludes forward chaining, backwardchaining, or opportunistic rule firing. Involumetric methods, the finished mate-rial is represented as a combination of aset of volumes. If a CSG representationof the part is the input, the nonunique-ness of the representation would be ahurdle—there are many ways to definethe same feature by different combina-tions of Boolean operations on the CSGprimitives. Thus, the nonunique repre-sentation must be simplified before itcan be recognized through patternmatching. In the convex-hull method,the part (or the volume to be removedfrom the part) is partitioned into sub-volumes. The convex-hull algorithmscompute the difference between the ob-ject and its convex hull recursively untilthe difference is a null set. The convexhulls are then rearranged to obtain re-moval volumes for machining. Cell-based techniques also decompose thepart (or the volume to be removed fromthe part) into primitive volumes (cells).These cells are then recombined to pro-vide the features of the original part. Inthe evidence-based reasoning methodonly hints or evidence, and not full-fledged features, are generated at first.Then the patterns are elaboratedthrough hint recombination or evidence

accumulation. Finally, there are a fewmethods that do not entirely fall intoany of these categories, and we haveclassified them as “other” due to theirunique or hybrid nature. (Note thatmany of the classified techniques stillutilize several different feature-recogni-tion strategies. In this sense, even theclassified techniques could be called hy-brid.)

4. MACHINE FEATURE IDENTIFICATIONAND RECOGNITION TECHNIQUES

In this section, we survey various AFRtechniques and summarize each tech-nique’s approach to feature definition,mechanisms developed for feature rec-ognition, application scope, assumptionsmade, and limitations. AFR techniquesare classified into three groups based onthe their input information: B-Rep,CSG, and 2D models.

4.1 AFR Using B-Rep

The majority of AFR techniques pro-posed by researchers use B-Rep as theirinput information. These methods in-clude syntactic, graph-based, rule-based, cell-based, and evidence-basedreasoning methods, as well as some hy-brid methods.

4.1.1 Syntactic Pattern Recognition.The syntactic pattern approach for fea-ture recognition from boundary repre-sentations received much attention inthe early ’80s [Fu 1982]. Prior to that, ithad been successfully applied to 2D rec-ognition in computer vision. Syntacticpattern recognition is a formalized tech-nique for representing complex patternsin terms of simple subpatterns and rela-tions among subpatterns. A given pat-tern is decomposed recursively into sim-pler subpatterns called primitives. Justas an alphabet in a formal languagemay be combined into words and sen-tences, sequences of geometric primi-tives can be combined to form an ex-pression that represents the complexpatterns of features. The possible com-bination sequences can be organized ac-

274 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 12: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

cording to syntactic language rules, justlike the grammar for a formal language.The resulting language (or expression)is called a pattern description language.The rules that define valid compositionsof primitives into patterns are specifiedby the grammar of the pattern descrip-tion language. The grammar is definedby the ordered tuple (Vt, Vn, P, S),where Vt is the set of terminal symbols,Vn is the set of nonterminal symbols, Pis the set of productions, and S is thestart symbol of the language. Correctsentences in this language are con-structed by sequentially using produc-tions from P after the start symbol Suntil a terminal symbol is reached. Therecognition process proceeds by firstconstructing an expression for a patternor object based on the defined primi-tives and the grammar rules. This ex-pression, consisting of the string ofprimitives, is then parsed using the setof productions in P to identify the fea-ture pattern it represents. In most ap-plications, patterns refer to contours ofthe cross-sections of a part and theprimitives are usually line segmentsand curve segments (such as edges) thatform the contours.

Jakubowski [1982] uses the syntacticapproach for automatically interpreting

rotational parts—parts that have anaxis of symmetry—and polyhedralparts. With this approach, machineparts are described by such contourprimitives as line segments (e.g., edges),curve segments, and surface segments,coupled with a set of operators such asrevolution and sweeping, to describe theoperations for generating a 3D partfrom its 2D cross-sections. Figure 5shows an example based on thismethod. Figure 5(a) shows some of thebasic geometric primitives. Groups ofsimilar parts can be described by in-stantiating a generic description withcertain parameters (e.g., the part shownin Figure 5(d) is represented (Figure5(b)) by the instantiation of several ofthe s1–s4 primitives). A part is de-scribed by organizing the primitivesinto an expression according to gram-mar rules. Two grammar rules havebeen applied to construct the expres-sions for a part and to develop theirparsers: extended context-free grammarand regular right part grammar. Themost important task of the grammarrules is to distinguish the repetitiveparts of contours from the nonrepetitiveones [Jakubowski 1982]. Figures 5(c)and (d) show a regular expression forthe cross-section of a class of rotational

Figure 5. (a) Examples of basic primitives for line segments and curve segments; (b) describedcross-section; (c) regular expression for the cross-section; (d) part corresponding to the contour.

Computing Surveys • 275

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 13: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

parts, along with the contours repre-sented by the expression and a partinstance having such contours. To iden-tify the features represented by the ex-pression, parsers are constructed usingthe same grammar rules and are subse-quently applied to the input expressionsfor the parts.

Similar techniques have been devel-oped for more specific classes of parts.For example, Li [1986] uses a similar,but simpler, approach to identify turn-ing features from the cross-sections of arotational part. Choi [1982] focuses onan approach identifying hole geome-tries. Staley et al. [1983] developed amethod designed for primitive depres-sions or protrusions whose cross-sec-tions consist entirely of the chosen set of2D primitive patterns, but cannot beextended to a feature for which thecross-section is inconsistent along dif-ferent sections on the sweep axis. Thisis a common thread among all of thesemethods—since they all interpret a 3Dpart from its cross-section, they fail ifthe cross-section varies. All the methodsuse similar primitives from the partcross-section, and if the pattern doesnot match the symbols in the givengrammar the methods do not work.

To recognize features in a general 3Dpart, Kyprianou [1980] proposed one ofthe earliest methods, which directlyused syntactic pattern recognition cou-

pled with a graph representation of thepart. In this approach, the B-Rep of apart is first converted into a face-edgegraph with nodes of the graph repre-senting faces and arcs representingedges of the part. The arcs are labeledwith the edges’ concavity. The featuresare generated by parsing the face-edgegraph. The significance of this work isthat surfaces and edges are the basis forthe pattern primitives instead of lineand curve segments. Hence, it is possi-ble to recognize 3D features directlywithout first converting to a 2D repre-sentation. The three basic structuralprimitives used in constructing the fea-ture grammar are convex loop, concaveloop, and smooth. A loop is an orderedset of faces, such that the first and lastfaces, and each pair of adjacent faces,each share an edge. A loop is defined asconvex if its successive faces are sepa-rated by only convex edges. It is concaveif it contains at least one concave edgeand smooth if it contains edges onwhich there is no change in surfacenormal between the adjacent faces.Based on these primitives, a depressionis identified if convex edges are on theinner loop of a face, and, similarly, aprotrusion is identified by concaveedges on the inner loop of a face. It ispossible to identify different categoriesof features such as slots, pockets, simpleor nested depressions, protrusions, and

Figure 6. Cube and its face adjacency hypergraph representation.

276 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 14: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

the like, using this technique. The rec-ognition consists of several steps. First,all edges and loops of the graph for apart are examined and the edges areclassified as either concave, convex, orsmooth. Then a list of faces to whichfeatures are attached is created. Fi-nally, all the faces belonging to a fea-ture are identified and the recognizedfeature is classified as either a depres-sion or a protrusion of the part. Sincethe syntactic pattern definition of a fea-ture may not define a closed volume, therecognized features are then completedby adding dummy entities such asedges, faces, and vertices to form closedsolid volumes.

Choi et al. [1984] describe a similarapproach except that they do not retainedge-concavity information in the graphof the part. Consequently, this approachcan only recognize prismatic depressionfeatures. More recently, Falcidieno andGiannini [1989] extended the work inKyprianou [1980] to parse structuredface adjacency hypergraphs (SFAHs)rather than simple face-edge graphs. Aface adjacency graph (FAH) is first de-fined as a triple G 5 (N, A, H), whereN is the set of nodes in the graph corre-sponding to the faces in the object, A isthe set of all arcs in the graph corre-sponding to the edges in the object, andH is the set of hyperarcs in the graphthat, for each vertex of the object, con-nects all the nodes corresponding to thefaces incident on the vertex. Figure 6shows a cube and its FAH representa-tion.

The features recognized by parsingthe FAH graph are arranged into a hier-archical graph, the SFAH, which de-scribes the hierarchy through adjacencyrelationships among the extracted fea-tures. That is, the SFAH is a graphwhose nodes are the features of thepart, and the arcs represent adjacency(or containment) of the features. Theadvantage of such a hierarchical de-scription of the extracted features isthat it provides a more global view ofthe part. The limitation of this methodis that the system can only recognize

features that define loops on the bound-ary of the object, that is, prismatic pro-trusion and depression features. As aresult, it is not applicable to featureentities such as bevels, chamfers, andsteps (area-features), since the loops forsuch features defined on the boundaryof the object coincide with the externalloop of a face.

To summarize, the syntactic patternapproaches have successfully been ap-plied to 2D prismatic parts, rotationalparts with turning features, and axis-symmetric volumes. However, successfor nonaxis-symmetric 3D parts or rota-tional parts with nonturning featureshas been limited. This may be partiallydue to lack of a suitable language for 3Dobjects. Another limitation has been theambiguity of the syntactic patterns[Wang 1992]. The primitives involved inthe syntactic approach usually cannotrepresent certain geometric properties,such as the size of the primitive, rela-tive orientation, edge concavity, and thelike, that are important for distinguish-ing among features. This aspect maylead to one syntactic expression’s corre-sponding with several different featuresand may, therefore, cause invalid shapeconstructs to be identified. Subsequentvalidation rules in many cases may betoo difficult to derive and these rulesmay not be sufficient to filter out thesespurious constructs. Since using the 2Dpatterns in syntactic pattern recogni-tion severely limits the ability of thelanguage to deal with the world of CADparts (which are generally 3D), it ispossible to write the rules as generalinference rules. However, this techniquewill make the method more like a rule-based approach than syntactic patternrecognition and, therefore, largely de-feats the purpose of syntactic parsing.The majority of syntactic pattern recog-nition techniques were developed al-most a decade ago, and few current fea-ture-recognition schemes employ thisstrategy.

Neural networks have been usedrecently in Prabhakar and Henderson[1992] to attack the problem of feature

Computing Surveys • 277

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 15: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

recognition. The neural networks in thisresearch perform pattern matching on amodified B-Rep input to recognize fea-tures. (Although this pattern matchingcould also be considered a type of rulefiring, it is justifiable to discuss thisapproach here.) For this approach theB-Rep model of a part is converted to anadjacency matrix that describes the ad-jacencies between each pair of faces inthe part. The matrix is then parsed forpatterns (i.e., pattern matching) with adifferent neural network for each de-fined feature. If the neural network fora given feature finds a match within theadjacency matrix, then that particularfeature is recognized.

4.1.2 Graph-Based Approaches. Thegraph-based approach, which gainedmomentum toward the end of the ’80s,is currently one of the most prevalentfeature-recognition techniques. Al-though many of the very recent feature-recognition works have moved awayfrom graph-based techniques, they stillpresent an important school of thoughton the feature-recognition problem. Onereason the graph-based approach is pop-ular is that it can directly use manydeveloped concepts and algorithms fromapplied mathematics, especially ingraph theory and topology. In graph-based feature recognition, the B-Rep ofa part is translated into a graph repre-senting its topology. Primitive featuresare also represented by graphs as tem-plates. Usually, the graph representa-tion consists of nodes and links corre-sponding, respectively, to the faces andedges of the part. Additional informa-tion may be incorporated into the graphto represent the properties of geometricentities such as concavity and face ori-entation. The graph representation isthen searched, using subgraph isomor-phism, for certain properties to identifythe features embedded in the part thatmatch the templates of the primitivefeatures. The identified subgraphs aresubsequently extracted as the featuresembedded in the part.

Graph-based feature extraction was

first introduced in Joshi & Chang [1988]through the attributed adjacency graph(AAG) for a part. The AAG makes use ofthe B-Rep information on faces andedges. An AAG is defined as a tripleG 5 (N, A, T), where N is the set ofnodes, A is the set of arcs (links), and Tis a set of attribute values for arcs in A.The arc values in T are either 0 or 1,marking the arcs as concave or convex,respectively. Figure 7(a) shows a part(an object with a slot feature) and itsAAG. The nodes F1–F10 represent thefaces and the arcs represent the edges.An arc is labeled 0 if the correspondingedge is concave and 1 if the edge isconvex.

In this method, the topological andgeometric relationships for a depressionfeature are first translated into a localAAG that represents feature faces andhas only concave links. Unique proper-ties for a particular feature are subse-quently extracted from the local AAG ofa feature and represented in terms ofheuristics that define the feature. Forexample, Figure 7(b) shows the AAG fora pocket and a generic rule for the defi-nition of a pocket may be given as:

—its graph is cyclic,—it has exactly one node “n” with the

number of incident 0-arcs equal to thetotal number of nodes 21,

—all other nodes have degree three, and—after deleting node “n” the number of

0-arcs is greater than the number of1-arcs.

Such a definition of a pocket is generalenough to identify a wide range of in-stances of this feature. It also allows therecognition of nested features.

Instead of directly applying subgraphisomorphism to the AAG of the part,which is computationally intensive, aheuristic method is proposed to dividethe part graph into components thatcould contain features. The heuristic isbased on the following observation: aface that is convexly adjacent to all itsneighboring faces (a convex node) is notlikely to belong to a depression feature.

278 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 16: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

The removal of such convex nodes willseparate the AAG into several con-nected components, and if there are nointeractions between features, each ofthese connected components (a sub-graph) will represent an isolated fea-ture or a depression in the original part.The recognition method, which is basedon subgraph isomorphism and graph-based heuristics, is then applied to eachcomponent to identify the kind of fea-ture represented by the component. Tohandle interacting features, Joshi im-plemented a heuristic rule that splitsarcs and nodes to form complete featuresubgraphs. However, this heuristicsplitting can handle only some interac-tions between features. The difficultyarises when there are interactions thatcan possibly destroy an adjacency be-tween two faces. This in turn meansthat the pattern of the feature within

the AAG is lost, and hence unrecogniz-able. Therefore, more complex interac-tions in which the graph patterns of thefeatures involved are modified are be-yond the capability of this method,which requires more information thansimple heuristics.

The significance of this research is inbeing among the first to propose thegraph-based approach for extractingmachining features. The advantage ofJoshi’s method is its use of both forwardchaining and a heuristic method to re-duce the computational effort. Figure 8shows a simple part whose constitutingprimitive features are not correctlyidentified by the previous approach. Theheuristic eliminates face 1 and thus thefeature formed by faces 1 and 2 (a stepas defined by Joshi) will not be recog-nized. Another limitation of this ap-proach is that the derived rule set rep-

Figure 7. Examples of AAGs for (a) part with a slot, and (b) pocket.

Computing Surveys • 279

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 17: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

resentation used for the description of afeature may be ambiguous. Specifically,the same rule may describe two differ-ent features as shown in Figure 9,where two different features are repre-sented by the same rule set due to theambiguity of the feature definition rule.

De Floriani [1989] introduces a simi-lar graph-based approach to identifyingthe topological features of an object. Thegraphs used in this technique are callededge-face graphs (EFG). In an edge-facegraph, a cut node corresponds to a facein the object that splits the graph intotwo or more connected parts describedas biconnected components. Similarly,separation pairs correspond to pairs offaces on the object which, when re-moved, may split the object into con-nected pairs. Thus, the feature extrac-tion algorithm decomposes the EFG intobiconnected and triconnected compo-nents. The components are subse-quently organized into what is called anobject decomposition graph (ODG).Based on arcs incident on a componentin the ODG, an entity is classified as aDP-feature or an H-feature. DP-featuresare protrusions or depressions on a setof faces of the object and H-features arethrough-holes, handles, or bridges. Fig-ure 10 shows examples of some objectswith their associated ODGs. Themethod provides a global understandingof the object shape. Construction of theODG provides not only a list of featuresbut also their relationships in the globalshape of the part. Unlike local extrac-tion based on geometric information,this method can identify “compound”features formed by a combination ofthrough-holes and protrusions or de-

pressions. However, the identificationdoes not provide a sufficiently detailedclassification for manufacturing and en-gineering purposes. In order to be ap-propriate for automation and planningfunctions, additional mechanisms toidentify manufacturing-related primi-tives, such as pockets, slots, and holesthat comprise the DP- and H-features,would be necessary.

Henderson et al. [1990] proposed asimilar graph-based approach based onthe assumption that distinct featuresubgraphs can be isolated from theirenvironments (the body graph) by detec-tion of so-called cut vertex nodes. Cutvertex nodes represent the entrancefaces linking the features to the bodypart. Another graph-based algorithm forfeature extraction suggested by thesame research group is called vertex-edge pattern extraction [Chuang andHenderson 1990]. According to thistechnique, the topological and geometricproperties around a vertex can be usedfor its classification. Several types ofvertices are suggested. Based on thisvertex classification, each feature canbe represented by a vertex-edge (V-E)graph, in which the nodes represent thetype of vertices and the links representthe edges. This approach follows theconcepts of bi- and triconnected compo-nents proposed earlier in De Floriani[1989]. Pattern-matching algorithmsare then used to find the subgraphs ofan object V-E graph that match V-Egraphs for features.

The limitation of the cut-vertexmethod is that there is no proof that acut vertex node always represents anentrance face that links a feature to thebody of the part. This aspect is furthercomplicated by situations in which afeature may have more than one en-trance face in the part.

Sakurai and Gossard [1990] proposeda different approach to graph-based fea-ture definition and recognition. A fea-ture can be a cavity, a protrusion, orneither. In this technique, a feature isrepresented by a feature graph. A fea-ture graph is a B-Rep of the feature’s

Figure 8. Interacting feature not correctly recog-nized using AAG.

280 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 18: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

faces augmented with user fact nodesand parameter nodes. Both user factnodes and parameter nodes can refer tothe same entity in the B-Rep graph.Although parameter nodes specify anattribute of a feature such as width,length, and the like, user fact nodesmay supply additional geometric infor-mation such as parallelism, coaxiality,and perpendicularity among faces. Fig-ure 11 shows a generic feature graph. Atemplate feature is the generic defini-tion of a feature, and a recognized fea-ture is an instance of a template fea-ture. The template feature is defined byinteractively selecting a set of faces in agraphical display of the solid model andcoupling them with user facts and pa-rameters. Feature recognition is accom-plished through graph matching bysearching the entire solid model to findinstances for each template feature. Thegraph matching is implemented by com-paring each face of the template featurewith every face of the solid model todetermine whether the two faces have

the same geometric type, a matchingnumber of loops, and a matching num-ber of edges.

To recognize interacting features, thealgorithm first removes the recognizedfeatures from the original object. Whenthe recognized feature is a cavity, thefeature removal generates a volumethat fills the cavity and it is added tothe solid model. On the other hand,when the recognized feature is a protru-sion, the procedure generates the vol-ume of the protrusion and subtracts itfrom the solid model. The purpose ofsuch removal is to simplify the shape ofthe solid model so that other yet unrec-ognized features can be identified.

The advantage of this method is thateach feature can be defined easily andinteractively without requiring a so-phisticated language. However, thereare interacting situations in which thefeatures are not correctly identified, aswhen intersecting features have coinci-dent faces when features have volumesthat split each other completely (i.e.,

Figure 9. Ambiguity of feature description using rules.

Computing Surveys • 281

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 19: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

the volumetric difference between thetwo features is two strictly disjoint re-gions of space). A general problem with

such face-based pattern recognitionmethods is that it is difficult to create afeature volume from a set of faces that

Figure 10. Biconnected components and their object decomposition graphs: (a) protrusion, handle, andbridge, with associated ODGs depicted in (b) [De Floriani 1989].

Figure 11. Schematic representation for feature graph [Sakurai and Gossard 1990].

282 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 20: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

do not enclose a volume. The removal ofa volumetric feature also tends to com-plicate further recognition in cases ofarbitrary interactions between featuresbecause it tends to generate extraneouselements or alterations that may com-plicate recognition of the involved fea-tures.

Corney and Clark [1991] developed agraph-based algorithm for identifyingholes and pockets with interactions inthe form of nonunique entrance faces.The method first constructs an aspectface-edge graph from the edge-facegraph by deleting nodes that are paral-lel or antiparallel to a particular direc-tion of view. Simple cycles in this aspectgraph are identified and line segmentslinking the vertices associated with ev-ery pair of adjacent faces are drawn. Byconsidering the loop formed by a projec-tion of these line segments the partiallydestroyed face adjacency is recovered.The projection is taken on a plane nor-mal to the direction of view. In recentrelated work, Clark and Corney [1994]described similar steps for recognizinggeneral depressions and protrusions ofa part, which can then be mapped intodomain-specific features.

Fields and Anderson [1994] intro-duced an oriented face adjacency graph(OFAG), similar to the face adjacencyhypergraph, to address the problem offeature recognition. As with the FAH,the OFAG for a part has nodes thatcorrespond to the faces of the part andarcs that correspond to the edges of thepart. However, between any two nodes(faces) there are two directed arcs, eachaugmented with concavity/convexity in-formation as well as information aboutwhere each face intersects with another.One face can intersect the exterior orinterior of another face. Using this newgraph, Fields presents a linear-time al-gorithm for matching templates withinit for the recognition of features. Thesacrifice involved in a time-efficient al-gorithm is that this approach classifiessets of faces in the part into categoriesof features. Although such a categoriza-tion is not necessarily a drawback, it

does mean the features extracted arefurther removed from domain-specificfeatures than in the approaches previ-ously described.

It has been pointed out [Marefat et al.1990] that one shortcoming of manygraph-based techniques is that the repre-sentations carry insufficient informationfor unique identification and recogni-tion of features. Important informationsuch as the relative orientation betweenobject faces is not effectively used,which may lead to ambiguity and non-uniqueness in the representation andrecognition of features, especially in thecases involving interacting features.Another problem that needs to be ad-dressed is related to the mechanismsneeded to validate the extracted fea-tures.

The success of graph-based methodshas focused for the large part on polyhe-dral objects. In addition, most graph-based approaches consider only a lim-ited set of patterns for the definitions offeatures. Searching for more generaldefinitions becomes complicated due tothe large number of patterns. Also, animportant inherent problem in allgraph-based techniques is computa-tional complexity. Graph constructionfor both the primitives and parts andsubgraph isomorphism can both be com-putationally expensive. As discussed inSedgewick [1984], the problem of sub-graph isomorphism corresponds to de-termining whether two graphs can bemade identical by renaming the verti-ces. The general problem remains com-putationally intractable, although effi-cient algorithms for special types ofgraphs are known. To ease this prob-lem, research is now being directed to-wards reducing the required subgraphmatching time by applying heuristics.Peters [1993] presents an example forthe domain of sheet metal parts to showthat engineering knowledge can be usedto reduce a theoretical combinatorial ex-plosion to tractable bounds. Researchershave also succeeded in dividing thegraph representation of a part into fea-ture and body components so that pat-

Computing Surveys • 283

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 21: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

tern-matching only applies to featurecomponents, thus reducing the searchspace [Joshi and Chang 1988; Hender-son 1984; Henderson et al. 1990;Marefat and Kashyap 1990; Marefat etal. 1990]. However, simply reducing thesearch space does not necessarily ex-pand the domain of parts that graph-based methods can handle. To expandthe scope of this work, mathematicianshave developed efficient algorithms[Wang 1992] for identifying the graphnodes that separate feature subgraphsfrom body subgraphs.

Computational complexity is not theonly drawback of graph-based ap-proaches. Graph-based approaches aretypically weak at recognizing featuresthat intersect (interacting features).The feature graph representations arebuilt from the topology of the part. How-ever, in feature interactions the faceadjacencies in the topology that arechanged as a result of interactionsmake this information nonunique.Therefore, when exact matches are re-quired in graph-based approaches, thereis often difficulty in correctly identify-ing features within interactions.

Another potential limitation of graph-based approaches is verbosity in termsof the number of graphs required torepresent the features. As illustrated inGadh and Prinz [1992], for each primi-tive and its variants, a new set of graphrepresentations must be created. There-fore, mechanisms must be developed toaccommodate the variations in featureshapes. Due to these limitations, muchcurrent feature-recognition researchhas moved away from direct graphsearching in favor of other approaches.Nevertheless, graph-based matchingstill appears in some current research,although generally only at a final stagein the recognition process when theproblem has been sufficiently reducedin size.

4.1.3 Rule-Based Approaches. Therule-based method for feature recogni-tion gained much momentum in themid-’80s, after successful applications of

expert systems to other domains. As inother expert systems, in which rules areused for knowledge representation, in-ference rules in feature recognition areused to capture knowledge about geo-metric and topological properties of fea-tures. A rule-based feature system con-sists of rules, an inference mechanism(or rule interpreter), and working mem-ory. Rules attempt to specify a set ofnecessary and sufficient preconditionsfor the patterns found in a feature. Theantecedents of the rules are statementsdescribing the geometric and topologicalproperties of a pattern such as adja-cency relationships among entities, ori-entation relationships among entities,and the types of entities involved. Theconsequence of a rule is usually identifi-cation of a feature such as a slot, pocket,or hole. A generic rule looks like

(rule , rule#. (if (, condition 21 .)(, condition 22 .) . . . (, condition 2N .))(then (,action21.) (,action22.) . . .

(,action2N.)))

In the preceding, action could representa recognized primitive feature giventhat all the required (geometric and to-pological) conditions are satisfied. Theinference mechanism controls how theserules are applied to the input data andmay employ forward chaining, back-ward chaining, or opportunistic rule fir-ing [Henderson 1984]. The workingmemory contains the intermediate in-ference results from firing rules and thefeatures that have been recognized atany time. These types of systems areusually implemented in a logic pro-gramming language or a production sys-tem that directly supports logical infer-ence, such as Prolog or OPS5.Henderson [1984], Kung [1984], andHummel [1989] are examples in thiscategory.

Henderson [1984] uses logic program-ming rules to extract swept subtractivefeatures such as cylindrical holes, pock-ets, and slots. With this method, a 3Dmodel in boundary representation isconverted into facts in PROLOG. These

284 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 22: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

facts are used by production rules thatencode the necessary and sufficient con-ditions for a feature. An example ruledescribing a cylindrical hole featureshown in Figure 12 may look like

IF A face of type planar existswhich is a hole entranceface,and the face adjacent to theentrance face is of cylindricaltype,and the face is convex,and the next adjacent face isof planar type,and this planar face is onlyadjacent to the cylindricalface,

THEN the entrance face, thecylindrical face, and theplanar face comprise acylindrical hole.

To implement this in PROLOG, theserules are then formalized using predi-cate calculus (predicates and terms) asshown:

Cylindrical-hole (set-of-faces):-entrance-face (face1),Adjacent (face1, face2)Cylindrical (face2)Convex (face2)Adjacent (face2, face3)Not-equal (face3, face1),Plane (face3)Adjacent-faces (face3, face1)

Set-of-faces (face1, face2, face3).

When this rule is applied to the inputB-Rep file, it returns a set of faces thatcomprise a feature if the execution ofthe rule is successful. Similarly, rulesmay be defined for other features,whether cylindrical or polyhedral.Henderson’s method begins with sub-tracting the solid model of the desiredpart from a stock, generating the vol-ume corresponding to the material to beremoved. Feature recognition then isperformed on this removed material vol-ume by applying rules. When a featureis recognized, the machined volume forthe feature is generated and subtractedfrom the original removal volume. Theconcept of an entrance face in the rulesallows extra information about machin-ing operations to be derived. Specifi-cally, the accessibility (the orientationin which a feature can be machined, or“accessed”) can be derived for each fea-ture recognized using the entrance facefor the feature. The recognized featuresare then bound into a feature graph inan order based on these accessibilitiesthat is convenient for machining opera-tions.

Kung [1984] developed a similar sys-tem that converts B-Reps into symbolicfacts describing geometric and topologi-cal properties. The boundary faces ofthe objects are decomposed into edgeloops and ultimately into items calledF-faces, which are surfaces that can beformed by a single machining operation.Using rules, these surfaces are thenclassified as being cylindrical, noncylin-drical, basic, or secondary. Further rec-ognition can be performed using thisclassification. Two hierarchies of fea-ture pattern rules are implemented, onefor cylindrical features and one for poly-hedral features. The rules for the cylin-drical features and polyhedral featuresare applied sequentially and in the de-creasing order of complexity in eachcase. This system does not consider fea-ture interactions at all, but it does dem-onstrate that cylindrical features can be

Figure 12. Example feature (cylindrical hole)and its associated rule.

Computing Surveys • 285

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 23: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

recognized just as easily as polyhedralfeatures.

Dong and Wozny [1988] propose arule-based feature recognition systemthat utilizes the concept of frames.Frames are data structures containingmultiple slot/value pairs. In the contextof this work, frames are created for boththe part representation and the featurerepresentation. For example, the framefor a part consists of slots (and appro-priate values) for the number of facesand edges in the part, the material ofthe part, and frames for each face in thepart. The frames for the faces in turnconsist of the number of edges in theface, as well as the type of face (planar,etc.), and a normal to the face. Featureframes consist of slots for width andheight of the feature, as well as thegeometry and topology that define thefeature. The recognition is then per-formed by exhaustively searching thepart frame for matches to all instancesof feature frames.

PART (Planning of Activities, Re-sources and Technology) is a commer-cial process-planning system originallydeveloped at the University of Twente[van Houten et al. 1989]. PART incorpo-rates a rule-based feature recognitionsystem. The patterns to be identified asfeatures are specified in a feature de-scription language. Feature recognitionwas two phases, feature pattern recog-nition and parameter extraction. Thefeature patterns are recognized andcompared by using a set of predefinedfunctions (rules). These functions oper-ate on lists of geometric entities such asfaces or edges. A check for subsumingand equal features eliminates redun-dant features. Parameter extraction ob-tains the position, orientation, and di-mensions of the features. Adjacentfeatures may be combined to form com-pound features for a hierarchy of fea-tures.

Although the rule-based method forfeature representation is simple andsuccessful for isolated features and sim-ple interacting features, it has somelimitations. First, it is verbose: to repre-

sent a simple feature like a slot, we mayneed up to 15 statements. Second, it isimpossible to encode all propertiesabout all the different occurrences of afeature in a rule set since feature char-acteristics are nonunique. It is possiblethat one rule representation may corre-spond to more than one feature. Rule-based systems look for exact matcheswith rule preconditions; to recognize allinstances we may need rules for everyconceivable pair of interactions betweenfeatures and/or every configuration ofan abstract feature. Due to this enumer-ative nature, with n feature types, consid-ering only pairwise interactions the rec-ognition algorithm would at best beO(n2), since n2 cases have to be consid-ered.

Although syntactic pattern recogni-tion is the formalization of pattern rulesusing pattern grammars, the rule-basedmethod uses the rules themselves inplace of the formalized language to pre-vent the limitations that grammarprimitives impose. Since no grammar orprimitives are required in a rule-basedmethod, any definable feature concept,whether 2D or 3D, can be described byrules.

4.1.4 Convex-Hull Techniques. Un-like other feature-recognition methodsintroduced earlier, which rely on prop-erties of surface entities for feature rec-ognition, convex-hull techniques usevolumetric properties to extract featuresfrom solid models. The technique is basedon the idea of finding the materials thatmust be removed from a raw stock toproduce a part. Instead of relying on pat-tern matching like the techniques previ-ously mentioned, this approach exploitsconvex hull algorithms and Boolean oper-ations for feature analysis. The convexhull is the smallest convex set that con-tains the polyhedral object. The recogni-tion is attained by decomposing the objectin stages as the (regularized) set differ-ence from its convex hull.

To reflect the nature of this decompo-sition method, Woo [1982] called theconvex decompositions alternating sum

286 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 24: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

of volumes (ASV). ASV decompositionrepresents an object by a series of con-vex volumes with alternating signs (forvolume addition and subtraction). ASVdecomposition works by first construct-ing a convex hull for the given objectand then finding the regularized setdifference between the object and itsconvex hull. If this set difference isempty, the ASV returns the object as asingle convex object and terminates;otherwise, the object is partitioned intoconnected components and each con-nected component represents its defi-ciency. ASV decomposition is then reap-plied recursively to each deficiency untilthe resulting set differences for all defi-ciencies are empty. Figure 13 shows theASV decomposition for a polyhedral

part with a through slot and a blindslot. Here P stands for the object,CH(P) is the convex hull of P, andCHD*(P) represents the regularizedconvex-hull difference (deficiency).

Using the ASV technique, a noncon-vex polyhedron can be represented by ahierarchical tree (similar to a CSG tree)whose root node represents the object,intermediate nodes represent the unionand set difference operators, and leafnodes represent the primitive convexpolyhedral sets or an empty set. Thereare certain major issues in convex-hullbased techniques. The first is noncon-vergence: ASV decomposition does notalways terminate, which limits the do-main of geometric objects that ASVdecomposition can handle. The ASV de-

Figure 13. ASV decomposition of polyhedral object P.

Computing Surveys • 287

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 25: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

composition does not terminate whenthe convex hull of one volume in thedecomposition is equal to the convexhull of that same volume’s deficiency.Intuitively, such a situation creates acycle in the ASV decomposition. That is,the same volume occurs over and overagain within the ASV tree. Another is-sue is conversion from alternating sum-of-volumes to features. Although thecomponents in the hierarchical ASVtree represent convex hulls and set-dif-ferences, these convex sets may not rep-resent features in general. Conversioninto features is therefore required, asillustrated in Figure 14. The researchby Woo et al., discussed in the follow-ing, represents the major work in thisfield.

Woo’s [1983] work is the earliest ef-fort in this category. In this approach,the ASV of an object V can be formallydefined as

V 5 O ~21!iHi,

where Hi represents each convex hull atdifferent stages of decomposition.

No knowledge concerning the types ofthe volumes or their classification isproduced. Human interaction is there-fore required to guide the manufactur-ing of each convex hull component. Thedifficulties with this earliest effort in-clude its limitation to convex parts be-cause of lack of guaranteed convergencefor general nonconvex parts, or of con-version of the generated volume compo-nents into features for subsequent ma-chining. Tang and Woo [1991a, b] alsopropose an approach to reducing theissue of computational complexity in-volved in the ASV decomposition anddescribe an algorithm that checks if agiven object will have a convergent ASVdecomposition. For the computationalcomplexity issue, they describe a linearspace and an O(n logN)-time algorithmand data structure for computing thedifference between an object and itsconvex hull. An O(N2 log N) algorithmthat determines if a part has a conver-gent ASV decomposition is also devel-oped. This algorithm utilizes the algo-rithm for finding differences between

Figure 14. Conversion of ASV components (a) into features (b).

288 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 26: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

objects and their convex hulls to checkwhether any given stage of the ASVdecomposition is nonconvergent. It thenmust check each such stage.

Kim [1990, 1992, 1993], Kim and Roe[1992], and Waco and Kim [1994a, b,1993] are the latest efforts in convexhull techniques for feature recognition:they solve the nonconvergence and com-ponent volume conversion problems andtherefore expand the application scopeto concave parts. To remedy the noncon-vergence problem, they propose a modi-fied version of the convex decompositionalgorithm called alternating sum of vol-umes with partitioning (ASVP). TheASVP decomposition begins with thesteps for ASV decomposition until non-convergence is detected. Once noncon-vergence is detected, remedial partition-ing is applied. Then, the ASVdecomposition steps are reapplied toeach partitioned component. Figure14(a) illustrates the ASVP algorithm fora simple object.

Using the ASVP decomposition, theypropose a novel approach to identifyingand extracting volumetric features frompolyhedral objects: (i) ASVP decomposi-tion is applied to the boundary repre-sentation of the given object to obtainthe alternating sum of volumes; (ii) theASVP volumes are then converted intofeature entities by various combinationsof these volumes; (iii) recognized fea-tures are then classified into genericgroups based on volume contributionand local accessibility information usingthe normal vectors of the original facesof each component. The various combi-nation operations used to convert ASVPcomponents into features include combi-nation of volumes with opposite volumecontributions and combining compo-nents with positive volume contribu-tions. Since the resulting features mayhave both positive and negative compo-nents for machining applications, posi-tive features are subsequently con-verted to negative features (whichcorrespond to volumes to be removedfrom the part). This task is achieved by

rewriting the Boolean expression of thepositive components.

In summary, the convex-hull ap-proach can handle most parts with in-teracting features by finding the alter-nating sum of volume decomposition.However, when features interact, cer-tain common volumes may be shared bymore than one feature, but the decom-position algorithm allocates the com-mon volume to only one of the involvedfeatures. This problem may be ad-dressed either by using feature-growingtechniques or by recognizing featuresthrough hints. Also, it should be notedthat it is difficult to construct convexhulls for curved objects. Menon and Kim[1994] suggest that local rounding oper-ations such as fillets can be separatelyrecognized and removed from the B-Rep, and the remaining features can befound by subsequently applying ASVPto the approximate part. Finally, afterthe gross features are identified, thelocal rounding operations can be re-stored. In terms of cost, the computa-tional complexity of the approach is atleast as great as that of computing con-vex hulls and performing set-differenceoperations.

4.1.5 Cell-Based Techniques. Cell-based techniques are similar to convexhull techniques in that both decomposethe volume of the part. Moreover, cell-based techniques are also concernedwith decomposing the volume of thepart that is to be removed (called thedelta volume, or -volume) into smallervolumes. These volumes (or cells) theneither need to be directly recognized asfeatures or, as in ASV decomposition,need to be mapped (usually through re-combination) to features.

Tseng and Joshi [1994] give an exam-ple of some recent work with cell-basedfeature recognition. First the volume tobe machined is identified and decom-posed into basic removable blocks (cells)by extending all the bounding faces andconsidering all possible intersections.This intuitively “cuts” the -volume intopieces according to its own half-spaces.

Computing Surveys • 289

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 27: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

The next step involves the reconstruc-tion of these cells into feature volumes.Through 1D, 2D, and 3D cell connec-tions a maximal connected feature blockis created. Next, in order to classify thefeature block, the nonsolid virtual facesare identified and deleted from the at-tributed adjacency graph (AAG) of thefeature block. The classification of thefeature block is then performed viamatching of the resultant AAG througha simple rule-based algorithm. One ad-vantage of this approach is that by re-combining the cells in different orders itis possible to generate all the possiblealternative interpretations of a part.The most prevalent drawback is thatthe faces of the delta volume (i.e., thefaces used in the decomposition intocells) must sufficiently divide the deltavolume itself. Therefore, the delta vol-ume must be polyhedral, and if thedelta volume of a part is convex, the celldecomposition will simply be one largecell.

Several researchers [Sakurai andChin, 1993; Sakurai 1994, 1995; Daveand Sakurai, 1995] also utilize cell-based techniques for feature recogni-tion, extending the work of Tseng andaddressing some of its weaknesses.Their work also begins by decomposingthe delta volume of a part. However,they allow for curved faces to be recog-nized by matching cylindrical faces toportions of the curved faces. After thedecomposition, these methods must alsorecombine the cells into features. Theapproach taken is first to combine thecells into maximal cells, which are setsof the cells that obey some proximityand adjacency specifications. Thesemaximal cells are then used to find thefeatures of the part: they are subtractedfrom each other to produce features. Itshould be noted that these methods arealso well suited to generating alternateinterpretations of a part by subtractingthe maximal cells in different orders.

4.1.6 Evidence-Based Reasoning Ap-proaches. The feature recognition pro-cess can be realized by a fundamental

AI paradigm: generate-and-test, wherethe generate task is realized throughpattern matching and the test task isaccomplished through feature valida-tion. Generation is a process of findinghypotheses about possible features us-ing pattern-recognition techniques. Val-idation, on the other hand, is a processin which hypothesized features are ver-ified based on additional geometric ortopological constraints. Features notpassing the validation test are rejected.This verification is a necessary stepsince feature hypotheses may representa feature that is combinatorially possi-ble but cannot be realized physically onthe original object due to physical andgeometric constraints. A common methodfor verification is to use an expert sys-tem in which rules are used to representfeatures and constraint knowledge andeach feature hypothesis is checkedagainst the rules to see whether anyrules have been violated.

Marefat and Kashyap [1990] andVandenbrande and Requicha [1990,1993] used this generate-and-test strat-egy. In Marefat and Kashyap [1990],knowledge is represented by graphs, therecognition process is guided by an hy-pothesis generate-and-test process, andverification is realized through a rule-based expert system, where rules areused for representation of features andconstraint knowledge.

The method proposed in Vanden-brande [1990]; Vandenbrande andRequicha [1990, 1993]; and Requicha[1996] represents considerable progressin recognition of interacting features us-ing a rule-based approach for generat-ing hints. In this approach the algo-rithm searches for hints and incompletefeatures in the first stage. Productionrules generate hints on the presence ofa feature. An incompletely specified fea-ture is associated with each hint. A hintabout a feature may be generated by acharacteristic combination of part faces,by a design feature from which a manu-facturing feature can be inferred, or bycertain manufacturing properties suchas dimensions that are associated with

290 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 28: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

a particular feature type. For example,a hint for a slot may be produced fromtwo parallel planar faces with opposingnormals, and a hint for a hole may beproduced from a thread attribute.Searching for feature hints rather thancomplete feature descriptions enablesthe approach to identify interacting fea-tures. The reason is that when featuresinteract, their topological propertiesmay change, and hence they may not berecognized as unique complete descrip-tions, but the existing patterns and at-tributes can still offer many hints aboutthe feature’s existence. The recognizeruses a rule-based approach for generat-ing clues or hints about potential fea-tures from information gathered fromseveral sources including nominal andtolerance geometry, attributes (e.g.,thread), and functional features speci-fied by a designer. Hints are subse-quently validated using geometric test-ing based on criteria closely associatedwith machinability constraints.

Feature hints are passed to a classi-fier that categorizes them into threegroups: promising, unpromising, and re-jected. Rejected hints are discarded. Un-promising hints are stored in a black-board and all activities on them aretemporarily suspended. A blackboardmodel prescribes the organization of thedomain knowledge and all the input,intermediate, and partial solutionsneeded to solve the problem [Nii 1986].Pieces of knowledge are applied at themost opportune time, resulting in incre-mental generation of partial solutions.The unpromising hints may be reacti-vated later upon receiving further infor-mation. Promising feature hints are fur-ther processed by the feature completer,which searches for all relevant dataabout the feature. The feature comple-tion is achieved by growing the featurevolumetrically along feature-specific di-rections and classifying the feature withrespect to the part and the raw mate-rial. Completion can be one-dimen-sional, involving linear, radial, or circu-lar extensions, or two-dimensional,where a feature cross-section is also ex-

tended laterally in a plane normal tothe translational sweep axis. The com-pleted features are stored in the black-board, where another set of rules at-tempts to combine them with otherfeatures that satisfy certain precondi-tions. For example, two coaxial and ad-jacent holes are combined to form acounterbored hole, which is a type ofcomposite hole.

Figure 15 shows the proposed archi-tecture of the system based on hints.The feature finder operates in severalstages by selectively activating sets ofrules, which are applied to the availabledata. In the verification phase, the rulesfor verifying clues and resolving con-flicting hints are activated. A proof-of-concept implementation is developed ina Knowledge Craft/PADL-2 testbed.Vandenbrande’s method can deal effec-tively with interactions, since thesearch process does not rely on completeinformation.

As with the generate-and-test methodpreviously described, evidential reason-ing, or uncertainty reasoning, has beenused for feature recognition. Evidentialreasoning offers a consistent means forhandling uncertainties. Uncertaintymay arise in design due to conflicting,redundant, or missing data. When fea-tures interact, uncertainty develops as aresult of the nonuniqueness of the pat-terns associated with the topology andgeometry of features in these interac-tions. When a feature interacts withanother feature, certain kinds of topo-logic and geometric changes are possible[Wang 1992].

(1) The new feature modifies the topo-logic properties of the existing fea-ture, but its own properties are notchanged.

(2) The topologic properties of the newfeature are modified, but the pat-terns used in recognition of the ex-isting feature are not changed.

(3) Both the new and the existing fea-tures are modified.

Computing Surveys • 291

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 29: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

Regardless of the kind of interaction,the resulting representation of the fea-tures usually does not correspond topredefined feature patterns. Thus sim-ple pattern matching will not be able torecognize these features. Specifically,the modified geometric or topological in-formation may need to be recovered inorder to complete the broken or changedpatterns prior to recognition or match-ing. Uncertainty reasoning offers a for-mal and consistent mechanism to ac-complish this goal through evidenceaggregation. The idea is that eventhough there are many uncertainties inpossible conclusions from data pre-sented by two or more interacting fea-tures, there is also rich evidence that, ifcombined properly, can help in recover-ing the modified and/or necessary infor-mation.

With this approach, evidence support-ing or rejecting the existence of in-stances of different features can be com-bined to describe depressions of a partin terms of manufacturing features. Insuch a framework, each piece of evi-dence may not by itself be sufficient forrecognizing a feature, but generates aprobability (or a weight), which is ameasure of confidence that relates theevidence (a topological or geometric re-lationship) to a feature. It is the collec-tion of evidence and consistent combina-tion of its components that produces adescription of the features involved.

The two most popular techniques forhandling multiple sources of evidenceare Bayesian belief accumulation [Pearl1988] and the Dempster–Shafer theory[Shafer 1976]. In the former, the rela-tionships between evidence and hypoth-

Figure 15. Architecture of feature finder using feature hints [Vandenbrande 1990a; Vandenbrandeand Requicha 1993].

292 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 30: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

eses are described by three numbers:the prior probabilities, the likelihoods,and the posterior probabilities. Evi-dence (topological and geometric rela-tionships) supports or disconfirms thehypotheses about the existence of differ-ent feature instances through a mea-sure of confidence or a likelihood assign-ment. This evidence can then becombined using probability axioms andthe Bayesian rule. In the Dempster–Shafer approach, relationships amongthe evidence and the hypotheses aredescribed in terms of the belief intervalsand basic probability assignments,which are the extent to which a piece ofevidence contributes to the proof of anhypothesis. In this method, evidence(topological and geometric relationshipssupporting or not confirming the hy-potheses about the existence of differentfeature instances) exerts its influencethrough a quantity called a basic proba-bility assignment, which assigns a mea-sure of belief to a set of supported hy-potheses.

Both mechanisms offer consistent andcoherent means to combine available to-pological and geometric evidence toovercome the difficulties associatedwith the nonuniqueness of features ininteractions. There are several impor-tant advantages to such a scheme forextracting and identifying features.First, since features are recognized bythe collection of evidence, the individualpieces of evidence need not carry equalweight, and in fact some of these maysupport conflicting conclusions. As longas the cumulative combination of thepieces of evidence is in favor of a correctinterpretation, a correct description ofthe part will be obtained. Second, oneneed not know ahead of time which setof topological and geometric relation-ships, or which patterns, will be ob-served for each feature. In fact, at dif-ferent times different topological andgeometric relationships may indicatethe same feature class. Third, the sametopological or geometric relationshipmay simultaneously support two differ-

ent features with different degrees ofconfidence.

In the field of feature recognitionfrom CAD models, Marefat has pro-posed a method using uncertainty rea-soning in analyzing interacting features[Marefat and Kashyap 1990]. The ap-proach is tailored towards handling ma-chining features and uses a new graphrepresentation, referred to as a cavitygraph, to represent the depressions of apart. Cavity graphs are an extension ofthe attributed adjacency graphs pro-posed in Joshi and Chang [1988] butdiffer from the AAGs in the followingaspects. First, each node in the cavitygraph is labeled with its principal nor-mal direction, which determines the ori-entation of a face with respect to otherfaces. (Since this orientation is relativeto the other faces, it establishes a rela-tive spatial relationship between theface and other faces in the depression ofthe part.) Second, the cavity graph in-troduces the concept of unification,which uses the same node to representtwo or more distinct object faces whentwo or more faces can be merged into alarger virtual face. Unification of facesis possible if the unified face does notinterfere with the interior of the object[Marefat et al. 1990]. Finally, since de-pressions are usually associated withconcavities, cavity graphs contain onlyconcave links. A part may have severalcavity graphs associated with its differ-ent depressions. Figure 16 shows anexample part with a slot feature, theAAG and the cavity graph for this ex-ample part.

Primitive features are defined in afashion similar to the AAG approach,but utilizing the new cavity graph. Rec-ognition is carried out through an hy-pothesis generate-and-test method. Hy-pothesis generation is carried out bypartitioning the cavity graph of the partinto the subgraphs that represent thefeature templates. The advantages ofcavity graphs are that they represent amuch smaller search space, conse-quently reducing the computation re-

Computing Surveys • 293

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 31: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

quired for pattern matching, and thatthey carry local spatial information.

Although cavity graphs and the gen-erate-and-test process improve the abil-ity to extract interacting features bythemselves, a better method is gainedby the incorporation of an evidentialreasoning technique in a graph-basedcontext. Marefat and Kashyap [1990]formulate this problem as one of identi-fying the necessary and most probablevirtual links (links that do not exist butneed to be added to the cavity graph) forextraction of features from the parti-tions of the cavity graph. This approachworks by combining available geometricand topological evidence about eachcandidate virtual link using Dempster’srule of combination. Dempster-Shafertheory is exploited to identify the mostprobable virtual links among all possi-ble candidates. The results of this evi-dence aggregation identify virtual links

that are subsequently augmented to theoriginal cavity graph, resulting in a su-pergraph that can readily be partitionedto extract features.

The major contributions of this ap-proach include its introduction of evi-dential reasoning for recognition of fea-tures. This mechanism uses a clusteringtechnique to select the virtual links inits final phase. A similar approach hasbeen developed based on Bayesian net-works [Ji and Marefat 1995]. In addi-tion, a new contribution of this methodis the generation and incorporation ofhierarchical feature-based evidence. Noproof that the technique will alwaysfind the correct virtual link cluster wasprovided, but in the experiments per-formed, the proposed techniques alwaysprovided the correct set of virtual links.

Finally, Trika and Kashyap [1994]proposed a feature-recognition methodsimilar to the work of Ji and Marefat

Figure 16. (a) Part with a slot feature; (b1) its global graph, and; (b2) its cavity graph.

294 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 32: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

[1995] in which the notion of the cavitygraph is again utilized to represent apart and features. Furthermore, virtualarcs that enable interactions of featuresto be handled are hypothesized and cre-ated. However, virtual arcs are createdby extending faces of the part and com-puting intersections; that is, the faces ofthe part are extended and checked forpairwise intersections. When two ex-tended faces intersect (at an edge) thisedge becomes a virtual arc. Once thevirtual arcs are restored, the featurerecognition can occur through graphmatching.

Due to the nonuniqueness in featurerepresentations, evidential reasoning isan especially well-suited approach tofeature recognition. A nonmonotonicreasoning approach such as constraintrelaxation would also belong to this cat-egory. For example, in the case of apocket not bounded on one side, amethod relying strictly on pattern rec-ognition would fail because of its inflex-ibility, since it expects and recognizesthe pattern of a pocket as an entity withfour walls. Evidential reasoning canalso be advantageous in obtaining mul-tiple interpretations of a given part interms of different sets of features, be-cause the same set of evidence can pointto the existence of different sets of fea-tures, each set yielding an alternativeinterpretation.

4.1.7 Other Approaches. Many ofthe feature-recognition approaches dis-cussed call upon different techniquesand are in a sense hybrid, but they allshare one underlying mechanism thatcategorizes them. Here we discuss sev-eral approaches that, for one reason oranother, could not be placed in any ofthe preceding sections.

De Martino et al. [1994a] propose afeature-recognition mechanism that in-corporates both syntactic patternmatching and graph-based ideas. Themotivation for this combination is theneed for a system that first recognizesthe protrusions and depressions of thecomponent so that features (suitable to

some domain) then can be recognized bygraph matching. The advantage of de-composing the problem into these stepsis that the second recognition stage (theidentification of specific features) can bemodified for different domains of fea-tures.

In recent work, Gupta et al. [1994],Gupta and Nau [1995], Nau et al.[1993], and Regli et al. [1994] recognizea part as a collection of MRSEVs (mate-rial removal shape element volumes)—aSTEP-based library of machining fea-tures. MRSEVs are volumetric featurescorresponding to machining operationson three-axis milling machines. Fromthe CAD model, the algorithm con-structs sets of MRSEVs occurring inalternative interpretations of the de-sign. The different MRSEV models arethen evaluated to yield the optimal in-terpretation (in terms of machiningcost). The feature-recognition algorithmis based on the assumption that everyprimary valid MRSEV will contributesome face in the delta volume. That is,each face in the delta volume of a part ismatched to all possible features thatcould create such a face. All the faces inthe delta volume are considered and theset of all primary MRSEVs is con-structed. The researchers argue thatwithin a restricted domain this ap-proach can find all of the possible inter-pretations of a part.

4.2 AFR Using CSG

The feature-recognition techniques in-troduced so far use B-Reps as their in-put information from the solid modeler.In this section, we investigate the use ofanother solid representation scheme,namely, constructive solid geometry(CSG). CSG is a volumetric representa-tion in which a solid object is explicitlyrepresented by an ordered binary tree.The leaves of the tree are instances ofprimitive solids. The intermediatenodes contain regularized Boolean oper-ations including union, intersection,and difference. Figure 17 shows a CSGrepresentation for a part.

Computing Surveys • 295

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 33: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

A CSG representation is simple andunambiguous. It is a useful paradigm ininteractive design, but its representa-tion is not unique. This is the majorproblem encountered when using CSGfor feature recognition and other appli-cations. By nonuniqueness, it is meantthat one solid object may admit severaldifferent valid CSG representations.Figure 18 shows the same part as inFigure 17, but with a distinct CSG rep-resentation. The nonuniqueness iscaused by the fact that any Booleanexpression may have an infinite numberof equivalent expressions and meansthat all the CSG nodes involved in aspecific feature could, in general, bescattered around within the tree. Thisaspect in turn may mean that an indi-vidual CSG primitive, such as a paral-lelepiped block, a sphere, or a triangu-lar prism, is too general and ephemeralto be equated to a feature. In addition,the difference operation in the CSG treemay not always correspond to a manu-facturing material-removal operation.On the other hand, certain removal op-erations may be implicit without usingany difference operation. For example,the union of two partially overlappedcoaxial cylinders of different radii would

represent a cylindrical part after a latheoperation [Lee and Fu 1987]. Due tothese difficulties, attempts to use CSGrepresentation for automatic featurerecognition begin by converting them toa simpler representation.

Lee proposed an approach that con-verts a CSG representation into a simi-lar, but unique, tree representation byidentifying the different nodes in theCSG belonging to the same feature andmerging them into one node. New nodesare constructed such that each uniquelyrepresents a machining feature [Leeand Fu 1987]. The proposed approachconsists of two steps, namely, featureidentification and unification. Featureidentification is used to identify allprimitive nodes in a CSG that may be-long to one feature. Unification is usedto aggregate these identified nodes intoone node, transferring a specific featureinto a desirable and isolated representa-tion. Unification not only reduces thedegree of nonuniqueness of the CSGtree, but also allows manufacturing at-tributes to be associated with meaning-ful geometric volumes. Figure 19 showsthe schematic diagram for this method.

Feature identification is accomplishedthrough pattern matching. Features are

Figure 17. CSG representation for an example part.

296 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 34: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

modeled as patterns of volumetric prim-itives that satisfy certain geometric con-straints, especially constraints for facialand axial alignment. The rationale be-hind classifying features through theirprincipal axes is that each feature classhas a unique type of axis. Here the typeof axis (or principal axis) is defined bythe coordinate frame it is within, itsorientation, origin, and length. For ex-ample, features like cones, cylinders,

and tori can all be characterized by asingle axis, features like spheres haveaxes with arbitrary orientation, and fea-tures like cubes, due to their asymme-try, have 12 axes. During the featurerecognition process, CSG primitives arefirst partitioned into equivalent classesaccording to the orientations of theiraxes, each consisting of members paral-lel to each other. Within each equiva-lence class, axes involved in a particularfeature can be located according to theconditions defined by the feature. Thisleads to the recognition of specific fea-tures within each equivalence class.

Once all the features have been iden-tified, unification can be initiated. Dur-ing this phase, the CSG tree is rebuiltby merging or grouping equivalent CSGnodes into one node to represent aunique manufacturing feature. Unifica-tion consists of these steps:

(1) tree reconstruction in which all par-ticipating nodes of the feature arerelocated and grouped to form a sub-tree, and

(2) tree transformation in which thesubtree resulting from the first stepis replaced by an equivalent sub-tree.

Once all feature nodes have been uni-fied, the feature subtrees are processed

Figure 18. Nonuniqueness of the CSG representation.

Figure 19. Block diagram for extracting featuresfrom CSG input.

Computing Surveys • 297

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 35: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

bottom-up and replaced with simplifiedsubtrees or primitives that directly cor-respond to features.

Recently, Perng et al. [1990] also de-veloped an algorithm for automatic fea-ture recognition from the CSG tree rep-resentation. In this technique, the CSGrepresentation is first transformed intoa different hierarchical volumetric rep-resentation called destructive solid ge-ometry (DSG). From the DSG represen-tation, the required object surfaceinformation is derived in terms of aboundary representation. The purposeof this transformation is to overcomethe problem that CSG tree primitivescannot be used directly by an applica-tion. The transformation is character-ized as follows.

Input:The CSG tree can be expressed inthe “inorder” form as

P 5 P0 6 P1 6 . . . 6 Pn,

where the symbols 6 are defined asgeometric binary union or differ-ence operations, P is the part, andPi are the CSG primitives.Output:

P 5 S 2 E1 2 E2 2 E3 . . . 2 Em,

where S is the raw stock materialand Ei are the excess material vol-umes contained in S.

The constraints for the transformationare that every Ei must belong to one ofthe defined feature primitives and all Eimust be disjoint. The transformationconverts the union operations in theCSG into difference-only operations andthe CSG primitives into disjoint remov-able volumes. Figure 20 illustrates thistransformation process, with Figure20(a) showing the part, Figure 20(b)showing the CSG representation, andFigure 20(c) showing the DSG represen-tation. The DSG is suitable for auto-matic feature recognition, since theprimitives are disjoint removal volumes,which correspond to some manufactur-ing operation.

To recognize features from the DSGrepresentation, features are first classi-fied hierarchically for pattern-matchingconvenience. The recognized featuresare subsequently associated with fea-ture attributes including dimensionsand possible tooling entrance faces. Alimitation of this approach is that thetechnique cannot handle the CSG con-structs or primitives that result fromintersection operation(s).

Shpitalni and Fischer [1994] proposea recognition scheme for machining “re-gions” from CSG input. In this workmachining regions are defined as groupsof features that all interact with oneanother, but not with other regions. Therecognition approach is similar to thepreceding approaches in that it firstconverts the CSG representation into amore consistent representation. In thiswork, the intermediate representationis a positive CSG tree in which only(regularized Boolean) union and inter-section operations are allowed. Subtrac-tion operations in the original CSG treeare represented by negation and inter-section operations. Once the input is inpositive CSG tree format, the recogni-tion process recursively divides spaceinto quadrants until each quadrant iseither full or empty of material in thepart. Then each quadrant is labeled as apocket or island (depending on its beingempty or full), and finally these labeledquadrants are recombined to give themachining regions of the part. The re-combination strategy searches throughthe CSG nodes within the labeled quad-rants to group related volumes intolarger regions. Of course, this approachactually extracts machining featuresonly if the machining regions of a partare identically the machining features,which occurs when there are no featureinteractions.

Another approach to feature recogni-tion using CSG is that of Parry-Barwickand Bower [1995], which provides anovel technique for feature recognitionusing set theory. The approach offersimportant advantages. First, it allows

298 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 36: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

for user-defined features. This approachessentially performs template matchingwith a variable template on a specificsolid model. The advantage of such flex-ibility is the expanded domain to whichthe feature recognizer can be applied.Second, the approach allows for approx-imate matching of the templates; thatis, it does not require an exact templatematch, but rather can return a featurethat is a slight deviation from the inputtemplate. The mechanism of this ap-proach is given the template to match(which is encoded as a set, or volume)and the solid model input (a set of vol-umes (CSG)), the template is “moved”across the model and checked formatches. The movement is accom-plished by translating one (or more)variables in the space of the model. Forexample, to match a 3D template to a

solid model, the method would have totranslate the position of the template,the rotation of the template, and thescale of the template (in all a 10-dimen-sional problem). The method describedin this work is applied only to 2D mod-els although it is not theoretically lim-ited to any dimension.

In summary, although an importantmotivation for CSG development anduse has been that it could more closelyrepresent machining operations, it hasreceived less attention for feature iden-tification and recognition than thoseutilizing B-Rep input. The major diffi-culties have been the nonuniqueness ofthe representation and the lack of ageneral relationship among the primi-tives involved in the construction of aCSG and the features of the resultingdesign.

Figure 20. Example of converting CSG into DSG representation: (a) the part; (b) CSG representation;and (c) DSG representation.

Computing Surveys • 299

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 37: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

4.3 AFR from 2D Engineering Drawings

Most research in feature recognitionuses solid models as input, since it isbelieved that solid model representa-tions contain more information. Anothermotivation for the use of solid models isthat new generations of CAD systemsprovide this information directly. As aresult, comparatively little attentionhas been paid to automatic feature rec-ognition from 2D input (engineeringdrawings and sketches), even thoughengineering drawings are still fre-quently used to document design infor-mation. An engineering drawing here isa three-view representation in whichfront, side, and top views are given froman orthographic projection, whereassketches are a 2D drawing of a 3D part.

CAD-related research on engineeringdrawing has focused on the followingaspects. The first is the conversion ofengineering drawings on paper into aproper computerized representation,such as a symbolic file [Vaxiviere 1992].This conversion is usually accomplishedthrough algorithms that convert rasterimages from a scanner into CAD-read-able vector representations in terms oflines and curves. This research is a vi-sual recognition process involving scan-ning and preprocessing, vectorization,and post-processing. Although engineer-ing drawings in a wireframe representa-tion file are suitable for tasks such asdocumentation, wireframe representa-tions are not conducive to applicationssuch as automatic process plan genera-tion because all entities in these files

are in terms of low-level entities such aslines, edges, or faces.

The second aspect of CAD-related re-search on engineering drawings hasbeen to extract high-level features fromcomputerized engineering drawings.Some researchers have also attemptedto convert the symbolic 2D representa-tions obtained into 3D solid model rep-resentations [Aldefeld 1983; Dori andTombre 1995]. Figure 21 illustrates theschematic diagram of CAD-related re-search based on engineering drawings.Markowsky and Wesley [1986] is a goodsurvey of this area. In the following, wefocus on feature recognition from engi-neering drawings.

As in research on understanding solidmodel representations, the underlyingphilosophy for extracting features fromengineering drawings has been to viewa complex part as being composed ofelementary primitives (features) belong-ing to a set of predefined classes and torecognize these elementary primitivesby making use of the knowledge aboutthe class-dependent patterns of the 2Drepresentations. Research in this fieldusually makes the assumption that thethree-orthogonal-view representation isunambiguous; that is, one drawing cor-responds to one and only one uniqueobject. This assumption may not alwaysbe true.

Recently, Meeran and Pratt [1993] in-troduced a method implemented inPROLOG for the extraction of featuresfrom engineering drawings. Thismethod is based on the observation that

Figure 21. Schematic approach for identifying and extracting features from engineering drawings, orconverting them into solid models.

300 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 38: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

most simple manufacturing features,such as pockets and slots, are mani-fested in at least one view by closedloops of constructional entities, usingline and circular arcs. For example, acylindrical boss feature may contain acircle (a closed loop) in the top view andtwo rectangles in the front and sideviews, respectively. The identification ofthese loops through pattern matchingand subsequent combination of the rec-ognized entities from the three viewsare the basis for this feature recognitionmethod. To recognize closed loops, therecognizer is provided with a library ofpatterns, represented in productionrules, that correspond to a range of iso-lated features. The recognition processconsists of the following steps. First, allsimple isolated features are recognizedthrough pattern matching. The corre-sponding entities for the recognized iso-lated features in the three views aresubsequently removed from the originalviews. Next, the remaining compositeentities are examined using logic-basedproduction rules to see whether theybelong to interacting features. Those en-tities belonging to interacting featuresare then isolated for further processing.In the third step, the remaining compos-ite entities are gathered and groupedunder the heading of generalized pro-trusion or depression features.

Recognizing an isolated feature isstraightforward. An individual featureis recognized in terms of its pattern ofedges in the drawings of the three or-thogonal views. However, for the fea-ture to be recognized, certain correspon-dences must be established amongpatterns in different views. Given thesame machined entity in each view andthe correspondences among the matchedentities, an isolated feature is subse-quently recognized. The isolated fea-tures that can be recognized throughthis algorithm include cylindrical holes,slots, pockets, grooves, and threads.

To recognize interacting features, theapproach must be able to deal with in-complete patterns and infer the embed-ded features based on this incomplete

information. The general logic for deal-ing with feature interactions is complex,especially in the cases in which morethan two features interact with one an-other. The logic used in this researchincludes two steps: determining thelines and arcs that terminate at a previ-ously identified object, and extendingthese lines to determine if their exten-sion ends within the pattern. If so, weassume that the previously identifiedobject disrupts the current object, whosecomplete outline can be recovered byextending all terminal points. This sim-ple logic can only deal with simple two-feature interactions. Specifically, it isnot appropriate for an interaction inwhich both features are disrupted.

Earlier research work in this fieldincludes Burn [1991], which derives fea-ture data from drawings and uses themin the construction of a CSG solid modelof a part, and Perng [1988], which de-velops an algorithm for automatic 3Dmachining feature recognition. Otherresearch has tackled the feature-recog-nition problem for rotational parts. Thisis an easier problem since in essence,given the axis of rotation, it can bereduced to a 2D problem.

Research on automatic reconstructionof a 3D solid model from engineeringdrawings is a bottom-up interpretationprocess. Objects are represented hierar-chically in a network (such as a seman-tic net), with the top of the networkrepresenting 3D objects and the bottomrepresenting 2D primitives. The infer-ence process works up through the hier-archy by first grouping the 2D primi-tives to infer primitives at a higherlevel, which are in turn used to inferfeatures at even higher levels, continu-ing up through to the top of the hierar-chy for the entire object. This bottom-upinference process cannot always be suc-cessful in the absence of auxiliary infor-mation. It is also vulnerable to compu-tational explosion due to the hugesearch space and the exhaustive natureof the search. To reduce the searchspace, heuristic information is employedto help formulate an evaluation function

Computing Surveys • 301

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 39: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

for a best first search algorithm. In ad-dition, a model-guided search is alsoused by some researchers [Aldefeld1983] to further reduce the search spaceand to validate the hypotheses.

To summarize, the major difficultyencountered using engineering draw-ings for feature recognition or 3D solidmodel construction is the ambiguous na-ture of the underlying representation.This aspect is reflected by the fact that2D data may not contain sufficient se-mantic information to uniquely identifyan object. The assumption that threeorthographic views can unambiguouslydefine a unique object may therefore notbe realistic in real-world applications,and has limited most developed tech-niques to application to polyhedralparts because of inadequate facilitiesfor dealing with general shapes.

Finally, engineering drawings are notthe only kind of 2D input possible forfeature recognition. Hwang and Ullman[1994] describe a system to recognizefeatures from 2D freehand sketches.The input to this system is a 2D sketchof a 3D part. The overall system allowsthe user to interactively sketch a part,then have the feature recognized fromthis part. The preceding functionality isbroken down into the three subsystems:a 2D freehand sketching subsystem, afeature-recognition subsystem, and aspatial reasoning subsystem. Thesketching subsystem is responsible forthe user input. The feature-recognitionsubsystem works through a rule-based

system by matching the user’s sketches(line segments, arcs, ellipses) to 3D fea-tures. The spatial reasoning subsystemincorporates new features being drawnto include the previously recognized fea-tures found in the part.

5. OTHER PARADIGMS FOR OBTAININGFEATURE INFORMATION

In addition to using automatic featurerecognition to automate the link be-tween CAD geometric models and pro-cess planning, two other paradigms forintegrating design and manufacturingprocess planning have been studied byresearchers. The idea has been either toincorporate features into the CAD dataduring the design process or to devisesystems that recognize features with in-teractive support from a user. The para-digms for these approaches have beenrespectively called [Shah 1991]:

—design by features (or feature-baseddesign), and

—human-assisted feature recognitionfrom geometric models.

Human-assisted feature definition pro-vides a way for a qualified manufactur-ing engineer to interactively pick andgroup topological entities (edges, faces)from an image of the part to define afeature. Figure 22 [Shah 1991] showsan overview of this approach. One dis-advantage of this approach is that itdoes not provide for automatic transferof information between design and pro-

Figure 22. Human-assisted feature definition.

302 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 40: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

duction. Its advantage is that it allowsthe designer to design a part in what-ever way is most convenient. Prototypesystems for this purpose have been builtat General Motors Research Laborato-ries and at the National Bureau of Stan-dards [Brown and Ray 1987].

In an alternative paradigm, feature-based design (or design by features),primitive features are incorporated dur-ing the design stage (see Rosen [1993]for a survey of recent work in feature-based design). The main component offeature-based design is that it allowsusers to design by adding, subtracting,and manipulating instances of genericfeatures.

It may be recalled from the discussionat the beginning of this article that fea-tures are application-specific and do-main-dependent. For this reason, fea-tures usually are suitable either for adesign itself or for an application do-main (such as manufacturing). If thefeatures used during design are specificto design (design features), it will benecessary later to convert them to man-ufacturing (or application-specific) fea-tures so that a manufacturing applica-tion such as a process planner canperform its tasks.

Certain feature-based design systemssupport inheritance properties in fea-ture families, thus enhancing the designenvironment. Systems for this purposehave been built for designing injection-molded parts [Vaghul and Dixon 1985],aluminum castings [Vaghul and Dixon1985], and machined parts [Chang et al.1988].

Although feature-based design canpartially integrate part design and pro-cess planning, it has posed certain prob-lems [Karinthi and Nau 1992]. First, itmay require extra knowledge on thepart of the designer since manufactur-ing and assembly requirements mayneed to be considered, especially if thefeatures used during design are applica-tion-oriented. This is a task that mostdesigners are not qualified to under-take. Second, the approach traditionallydoes not address multiple feature inter-

pretations that may exist for the samecomponent. This is an important issuerelated to alternative strategies to pro-duce a given design. Finally, in feature-based design, as mentioned earlier, fea-tures are dependent upon a givenapplication. This implies that even iffeatures are incorporated into the CADmodel it may become necessary to rein-terpret the part with a different set offeatures.

Recent work has attempted to addressthe preceding difficulties of feature-based design in one of two ways: fea-ture-mapping techniques have been de-veloped to take a feature-based designand map its features to the features ofother domains; and generic/flexible fea-ture-definition strategies have been in-corporated into feature-based design.The problem of handling multiple fea-ture interpretations within feature-based design has been approached byintegrating AFR techniques with fea-ture-based design. In the following sec-tion, we discuss the techniques devel-oped to solve the problems in feature-based design.

5.1 Feature-Based Design and FeatureRecognition

Feature-based design has sometimesbeen regarded as an alternative to fea-ture recognition. Instead of simplysearching the CAD geometric models forfeatures, feature-based design incorpo-rates the features directly into the CADdescription. However, several difficul-ties have been encountered. First, fea-ture-based design does not provide amechanism for alternative feature de-scriptions of a part. That is, when adesigner draws a part using feature-based design, feature interactions canresult in the existence of new, alterna-tive features within the part. These fea-tures may or may not have been inten-tionally introduced by the designer, butin either case, they may not exist withinthe CAD model. Second, the featuresused for design may not correspond tothe features used for other applications

Computing Surveys • 303

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 41: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

(e.g., manufacturing). Moreover, if thedesigner is required to work with fea-tures specifically suited to an applica-tion domain, say manufacturing, thismay require too much knowledge on thepart of the designer or impose too manydesign limitations. Nevertheless, designfor manufacture is quite popular now,in view of the lack of robust commercialfeature-recognition systems.

There has been work that addressesthese shortcomings but does not usefeature recognition. For example, somerecent work in feature-based design hasallowed a user-definable set of featuresor has helped in the maintenance ofmanufacturing consistency.3 This workis not surveyed in this section since ithas not been concerned with featurerecognition per se. This section ad-dresses the difficulties in feature-baseddesign that make use of feature recogni-tion.

The general strategies for enhancingfeature-based design utilizing featurerecognition have been either to map thefeatures used in the design to featuresin other applications or to incorporatefeature-recognition strategies com-pletely. The idea of feature mapping hasalready been seen in the convex-hulltechniques for feature recognition. Herethe goal is to start with a description ofa part according to one set of featuresand then to map (or translate) this de-scription into a new description usingan entirely new set of features. Theconvex-hull techniques demonstratefeature mapping from ASV decomposi-tion to machining feature decomposi-tion.

Chamberlain et al. [1993] describe asystem to map protrusion features todepression features within a feature-based design framework so that, duringthe design of a part, a designer cancreate both depression and protrusionfeatures. However, only depression fea-

tures roughly correspond to manufac-turing features. Protrusion features, onthe other hand, are not directly manu-facturable (i.e., they do not directly cor-respond to manufacturing features)since they are produced by removingsurrounding material, not materialwithin the feature itself. The mappingprocess from protrusion features to de-pression features consists of two majorelements: extending the stock of thepart and recognizing depression fea-tures within this extension. That is,when a protrusion feature is called for,the stock of the part is extended toinclude this new protrusion. However,this extension may create material inaddition to the protrusion feature, sothis extra material needs to undergo afeature-recognition process.

In work integrating feature-based de-sign and feature recognition, there hasbeen some research in a modeling sys-tem based on incremental feature recog-nition [Laakko and Mantyla 1993]. Theapproach combines design by featuresand feature recognition and gives thedesigner the choice of using eithermethod. The designer’s task is simpli-fied by allowing both solid and featuremodeling operations. The method alsomaintains consistency between the geo-metric model and the feature-basedmodel. If a feature is added throughfeature-based design methods, not onlyis the geometric model updated, butnew features created from the interac-tions of old features with this new fea-ture are recognized. The feature recog-nition strategy is a graph-basedapproach.

Han and Requicha [1994] propose asystem to incrementally recognize fea-tures in a part during the design pro-cess. This system is based on the earlierwork in Vandenbrande [1990], Vanden-brande and Requicha [1990, 1993], andRequicha [1996], as described in Section4.1.6. After each step of the feature-based design process, the method com-putes the new features within the part,based on the old features found in thepart; the new feature is added, along

3 Please see Duan et al. [1993], Feng and Kusiak[1995], Chen and Hoffman [1995], Ovtcharova etal. [1994], Ovtcharova and Jasnoch [1993, 1995],and Yu et al. [1992].

304 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 42: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

with the spatial interactions betweenthese features.

De Martino et al. [1994b] provide anapproach to integrating feature-baseddesign and feature recognition. As withLaakko and Mantyla [1993], this ap-proach also maintains geometric andfeature-based design data, but thiswork maintains consistency betweenthe two by also storing an intermediatefeature model. This intermediate model,which represents features in a genericformat, is mapped to both the geometricmodel and the feature-based designmodel. Also as with Laakko and Manty-la’s system, when features are addedthrough feature-based design or bychanging the solid model directly, theintermediate model is altered and thisinformation is propagated through thesystem. The feature-recognition strat-egy is rule-based in this method, whichoffers another advantage in that featuremapping can occur from the intermedi-ate model to any domain-specific fea-ture model desired. This allows the fea-tures in the feature-based design modelto differ from those of the applicationdomain.

Finally, work presented in Ko et al.[1993] and Ko and Park [1994] providesanother integration of feature-based de-sign and feature recognition. In it a newmodel is created, in addition to the solidmodel, to represent the interactionsamong the features already recognized(or designed) within the part. When anew feature is added (or deleted), themodel checks what other features areaffected (through interaction) by thisnew feature. Only the affected featuresare updated with the new change. Thatis, the model in this approach maintainsa graph whose nodes are features andwhose arcs represent dependencies (in-teractions) of the features. When a newfeature is removed from the part, onlythe other features dependent upon thisfeature need be updated. The updatingoccurs through feature recognition,which is accomplished by searching forclosed loops of edges within the solidmodel.

6. SUMMARY AND CONCLUSION

This article has explored the issue ofautomatic understanding of shapesfrom CAD databases. This problem isparticularly important for applicationssuch as manufacturing and automaticinspection. The gap in information be-tween CAD and CAPP or automatedinspection is reflected by the fact thatthese applications require as inputhigh-level semantic information in theform of features, whereas traditionalCAD representations can provide onlylow-level geometric information such asfaces, edges, and vertices. This informa-tion mismatch has greatly hindered theprogress of manufacturing automation.Three approaches to bridging the gapare interactive feature recognition (hu-man-assisted), feature-based design,and automatic feature recognition. Theauthors have focused on reviewing, clas-sifying, and discussing in moderate de-tail each of the automatic feature iden-tification and recognition (AFR)techniques including graph-based meth-ods, logical inference methods, syntacticmethods, volumetric methods, and con-vex-hull techniques.

6.1 Information-Processing Methods

Features have been defined by someresearchers as collections of faces, andby others as volumes. The information-processing methods for AFR correspond-ing to these feature definitions can beinformally categorized into pattern-matching or volume-extraction tech-niques. Pattern-matching methods ac-complish their task based on therecognition of features as patterns madeup of topological entities such as faces,edges, and vertices. The volumetricmethods are based on generation andclassification of volumetric entities.

The pattern-matching methods canrelatively easily and quickly recognizeisolated features and simple interactingfeatures. The graph-based techniques,syntactic methods, and logical-inferencemethods can be classified as different

Computing Surveys • 305

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 43: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

approaches within this category. Thesemethods, however, exhibit fragile be-havior in interpreting more complicatedinteracting features, because feature in-teractions may produce unexpectedchanges in the topological patterns as-sociated with different features. For ex-ample, feature interactions may causethe deletion, fragmentation, addition, ormerger of topological entities. In addi-tion, feature-recognition techniquesbased on pattern matching have highcomputational complexity due to theneed to search (potentially exhaus-tively) huge search spaces. These as-pects strongly suggest that patternmatching alone is not appropriate forsolving real-world feature-recognitionproblems. However, with the aid ofother techniques such as evidential rea-soning, pattern matching can recognizerather complex interacting features. Asa result, pattern matching coupled withthese techniques seems to offer an at-tractive approach. An advantage of suchcombinations is that they can still fullyexploit the benefits of the various pat-tern-matching techniques. The recog-nized features must still be verified toinsure feature validity.

Convex-hull techniques such as ASVand ASVP are not as sensitive to thepatterns of topological and geometricentities. However, these methods maynot be mature enough to develop com-plete interpretations of the interactingfeatures from the ASV components. Thereason is that in interacting situations,certain common volumes may be sharedby more than one feature, but decompo-sition algorithms normally allocatethese common volumes to only one ofthe interacting features. This problemmay be addressed by developing fea-ture-growing techniques, repeatedly se-lecting primitives and combining themwith their adjacent volumes if they sat-isfy specific matching conditions.

6.2 Information Requirements

In terms of input information require-ments, B-Reps are currently the most

popular geometric representationscheme in mechanisms for automaticrecognition of features from design mod-els. B-Rep provides a description of anobject in terms of its surface and edgeentities. These surface and edge entitiesencourage the use of pattern-matchingtechniques for feature recognition. How-ever, these entities are also sensitive tofeature interactions since interactionscan significantly change the observedentities or their properties. The mainadvantages of this scheme are that it isunambiguous and unique (ignoringchanges in tessellation) and that boththe volumetric and pattern-matchingtechniques can easily use it.

The CSG representation is simple,concise, unambiguous, and a useful par-adigm in interactive design. It encour-ages techniques that are based on themanipulation of volumes. Interactionsamong features are easier to deduce andresolve at the volumetric level. How-ever, these operations must eventuallyaccess the boundaries of the interac-tions between the volumes, and calcu-lating these boundaries using the CSGrepresentation scheme is expensive. An-other major problem with the CSGscheme is its nonuniqueness (the samedesign may have an unlimited numberof CSG representations), which hasgreatly hindered efforts in feature rec-ognition using this scheme. As a result,CSG has received little attention and,more important, efforts to use CSG forautomatic recognition of features in-variably begin by converting it into asimpler representation.

Although engineering drawings arestill the format by which a majority ofdesigns are represented and/or trans-ferred, in comparison with solid modelrepresentation schemes little attentionhas been paid to these for feature recog-nition. The major problems encounteredin employing engineering drawings forfeature recognition or 3D solid modelconstruction include the ambiguity inthe representation of engineering com-ponents and the difficulty in convertingengineering drawings on paper into an

306 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 44: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

effective computer format. The ambigu-ity is reflected by the fact that the 2Ddata may not contain sufficient seman-tic information to uniquely identify adesign object. The assumption thatthree orthographic views can unambigu-ously define a unique object is thereforenot realistic, and such an assumptionsignificantly limits the applicationscope of the involved methods. In addi-tion, the conversion of engineeringdrawings from paper to a computer for-mat such as a symbolic edge-face repre-sentation is a difficult problem that in-volves complex image-processingtechniques.

An ideal representation would be ahybrid representation scheme thatwould inherit the advantages of bothB-Rep and CSG. A representation ofthis nature could enable us to deal withinteracting features more easily.

6.3 Shortcomings of Existing Systems

Most of the existing approaches to AFRhave been limited to a particular appli-cation. This is understandable since thedefinition of features is application-spe-cific. For example, the required featurecomponents might be quite different for,say, process planning and finite elementanalysis, both of which may differ fromthe designer’s perception of features.Application-independent features maybe useful only as an intermediate stageand have to be processed further to suitthe application. Furthermore, the fea-tures obtained must be validated for thegiven application. For example, a slotfeature is a valid machining featureonly if it can be accessed by the cuttertool. However, in the existing literaturethere has been little focus on the valida-tion of the recognized features. In fact,one may argue the validity is specific tothe application and should be left, forexample, to the process planner. Sucharguments separate the issues of valid-ity of features for application from thegeometric interpretation issues.

For design by features we need todecide upon a set of features and base

the model on this finite set. However,the “same” feature may have differentconnotations in the different approaches[Shah 1990]. For example, Figure 7(a),which is defined to be a slot, can be aslot, a pocket, or a profile [Vanden-brande and Requicha 1990, 1993;Requicha 1996]. It is a pocket in theMRSEV library used in Gupta et al.[1994] and is considered as a depressionin the approach used in De Floriani[1989]. In the convex-hull techniques[Woo 1982], the model is rendered interms of alternating sum of volumesrather than features such as slots orpockets. This is a problem, since fea-ture-based modelers need to interfacewell with existing modelers and applica-tion programs [Shah and Mathew 1991].When a model is transferred from onesystem to another the features musthave the same meaning in both sys-tems. This should also be true wheninterfacing a feature modeler with anapplication. Standardization is neces-sary for this to be possible. Shah andMathew discuss the conflict betweentransferability of shape information andversatility versus convenience of anyfeature data exchange standard.

Existing approaches primarily dealwith machining features. Recently,Lentz and Sowerby [1993] developed analgorithm for feature extraction andrecognition for a limited domain ofsheet metal parts. In addition, informa-tion such as tolerances and functionalfeatures has not been effectively uti-lized for feature recognition. A good ex-ample of a system taking advantage ofsuch information would be Vanden-brande and Requicha [1990; 1993] andRequicha [1996]. In this approach toler-ances and attributes trigger hints onthe existence of features.

Furthermore, many of the existingsystems deal with an abstraction of real-world components. As a result, thesemethods, though they provide a frame-work, cannot be applied directly to anengineering problem. The feature li-brary chosen may have patterns thatcan never be machined. For example,

Computing Surveys • 307

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 45: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

slots and pockets are simplified intorectangular blocks and their corner ra-dii ignored. A pocket is usually ma-chined by a milling cutter, which has afinite radius. Figure 7(b) shows a pocketthat cannot be machined in a millingmachine—a milled pocket would realis-tically look like Figure 23.

REFERENCES

ALDEFELD, B. 1983. On automatic recognition of3D structure from 2D representations. Com-put. Aided Des. 15, 2, 59–64.

BAUMGART, B. G. 1972. Winged edge polyhe-dron representation. Stanford AI Lab Tech.Memo, AIM-179, STAN-CS-320.

BROWN, P. AND RAY, S. 1987. Research issueson process planning at the National Bureau ofStandards. In Proceedings of the 19th CIRPInternational Seminar on Manufacturing Sys-tems.

BURN, J. M. 1991. B-Rep to CSG ConversionTool-Oriented Process Planning. Springer-Verlag.

CHAMBERLAIN, M. A., JONEJA, A., AND CHANG, T.-C. 1993. Protrusion-features handling indesign and manufacturing planning. Comput.Aided Des. 25, 1, 19–28.

CHANG, T. C., ANDERSON, D. C., AND MITCHELL,O. R. 1988. QTC—an integrated design/manufacturing/inspection system for pris-matic parts. In Proceedings of ASME Confer-ence on Computers in Engineering (SanFrancisco, CA), Vol. 1, 417–426.

CHEN, X. AND HOFFMAN, C. M. 1995. On edit-ability of feature-based design. Comput.Aided Des. 27, 12, 905–914.

CHIREHDAST, M. AND PAPALAMBROS, P. Y. 1994.Conversion of spatial-enumeration schemeinto constructive solid geometry. Comput.Aided Des. 26, 4, 302–314.

CHOI, B. K. 1982. CAD/CAM compatible tool-oriented process planning for machining cen-ters. Ph. D. Thesis, Purdue University.

CHOI, B. K., BARASH, M. M., AND ANDERSON,D. C. 1984. Automatic recognition of ma-chined surfaces from 3-D solid model. Com-put. Aided Des. 16, 2, 81–86.

CHUANG, S. H. AND HENDERSON, M. R. 1990.Three-dimensional shape pattern recognitionusing vertex classification and vertex-edgegraphs. Comput. Aided Des. 22, 6, 377–387.

CLARK, D. E. R. AND CORNEY, J. 1994.Identification of general protrusion and de-pression features. In Proceedings of ASMEConference on Computers in Engineering, Vol.1, 55–65.

CORNEY, J. AND CLARK, D. E. R. 1991. Methodfor finding holes and pockets that connectmultiple faces in 2 1/2D objects. Comput.Aided Des. 23, 10, 658–668.

DAVE, P. AND SAKURAI, H. 1995. Maximal vol-ume decomposition and its application to fea-ture recognition. In Proceedings of ASMEConference on Computers in Engineering,553–568.

DE FLORIANI, L. 1989. Feature extraction fromboundary models of 3D objects. IEEE Trans.Pattern Anal. Mach. Intell. 11, 8, 785–798.

DE MARTINO, T., FALCIDIENO, B., AND GIANNINI,F. 1994. An adaptive feature recognitionprocess for machining contexts. Adv. Eng.Softw. 20, 91–105.

DE MARTINO, T., FALCIDIENO, B., GIANNINI, F., HAS-SINGER, S., AND OVTCHAROVA, J. 1994b.Feature-based modeling by integrating designand recognition approaches. Comput. AidedDes. 26, 8, 646–653.

DONG, X. AND WOZNY, M. 1988. FRAFES, aframe-based feature extraction system, In In-ternational Conference on Computer Inte-grated Manufacturing (IEEE, Troy, NY), 296–305.

DORI, D. AND TOMBRE, K. 1995. From engineer-ing drawings to 3D CAD models: Are we readynow? Comput. Aided Des. 27, 4, 243–254.

DUAN, W., ZHOU, J., AND LAI, K. 1993. FSMT: Afeature solid-modeling tool for feature-baseddesign and manufacture. Comput. Aided Des.25, 11, 29–38.

FALCIDIENO, G. AND GIANNINI, F. 1989. Auto-matic recognition and representation ofshape-based features in a geometric modelingsystem. Comput. Vision Graph. Image Pro-cess. 48, 10, 93–123.

FENG, C.-X. AND KUSIAK, A. 1995. Constraint-based design of parts. Comput. Aided Des. 27,5, 343–352.

FIELDS, M. C. AND ANDERSON, D. C. 1994. Fastfeature extraction for machining applications.Comput. Aided Des. 26, 11, 803–813.

FINGER, S. AND SAFIER, S. 1990. Representingand recognizing features in mechanical de-signs. In Proceedings of Design Theory &Methodology Conference (Chicago, IL), 19–25.

Figure 23. Actual machinable pocket.

308 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 46: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

FU, K. S. 1982. Syntactic Pattern Recognitionand Applications. Prentice-Hall, EnglewoodCliffs, NJ.

GADH, R. AND PRINZ, F. B. 1992. Recognition ofgeometric forms using the differential depthfilter. Comput. Aided Des. 24, 11, 583–599.

GUPTA, S. K. AND NAU, D. S. 1995. Systematicapproach to analyzing the manufacturabilityof machined parts. Comput. Aided Des. 27, 5,323–342.

GUPTA, S. K., KRAMER, T. R., NAU, D. S., REGLI,W. C., AND ZHANG, G. 1994. BuildingMRSEV models for CAM applications. Adv.Eng. Softw. 20, 121–139. Also available asISR-TR93-84.

HAN, J. H. AND REQUICHA, A. A. G. 1994. Incre-mental recognition of machining features. InProceedings of ASME Conference on Comput-ers in Engineering, Vol. 1, 143–149.

HENDERSON, M. R. 1984. Extraction of featureinformation from three dimensional CADdata. Ph. D. Thesis, Purdue University.

HENDERSON, M. R., CHUANG, S. H., AND GAVANKAR,G. P. 1990. Graph-based feature extrac-tion. In Proceedings of NSF Design and Man-ufacturing Systems Conference (Tempe, AZ),183–189.

HUMMEL, K. E. 1989. Coupling rule-based andobject oriented programming for the classifi-cation of machined features. In Proceedings ofASME Conference on Computers in Engineer-ing, Vol. 1, 409–418.

HWANG, T.-S. AND ULLMAN, D. G. 1994. Recog-nize features from freehand sketches. In Pro-ceedings of ASME Conference on Computers inEngineering, Vol. 1, 67–78.

JAKUBOWSKI, R. 1982. Syntactic characteriza-tion of machine-parts shapes. In Cybern. Syst.Int. J. 13, 1–24.

JI, Q. AND MAREFAT, M. 1995. Extracting andidentifying form features: A Bayesian ap-proach. Comput. Aided Des. 27, 6, 435–454.

JOSHI, S. AND CHANG, T. C. 1988. Graph-basedheuristic for recognition of machined featuresfrom a 3D solid model. Comput. Aided Des. 20,2, 58–66.

JUAN-ARINYO, R. AND SOLE, J. 1995. Construct-ing face-octrees from voxel-based volume rep-resentations. Comput. Aided Des. 27, 10, 783–791.

KARINTHI, R. R. AND NAU, D. 1992. An algebraicapproach to feature interactions. IEEE Trans.Pattern Anal. Mach. Intell. 14, 2, 469–484.

KIM, Y. S. 1990. Convex decomposition andsolid geometric modeling. Ph. D. Thesis, Stan-ford University.

KIM, Y. S. 1992. Recognition of form featuresusing convex decomposition. Comput. AidedDes. 24, 9, 461–477.

KIM, Y. S. 1993. Form feature recognition usingconvex decomposition. In Proceedings of NSF

Design and Manufacturing Systems Confer-ence (Charlotte, NC).

KIM, Y. S. AND ROE, K. D. 1992. Conversions inform feature recognition using convex decom-position. In Proceedings of ASME Conferenceon Computers in Engineering, Vol. 1, 233–244.

KO, H. AND PARK, M.-W. 1994. Integrationmethodology for feature-based modeling andrecognition. Adv. Eng. Softw. 20, 75–89.

KO, H., PARK, M.-W., KANG, H., SOHN, Y., AND KIM,H. S. 1993. Integration methodology forfeature-based modeling and recognition. InProceedings of ASME Conference on Comput-ers in Engineering, 23–34.

KUNG, H. 1984. An investigation into develop-ment of process plans from solid geometricmodeling representation. Ph. D. Thesis, Okla-homa State University.

KYPRIANOU, L. K. 1980. Shape classification incomputer-aided design. Ph. D. Thesis, Cam-bridge University, U.K.

LAKKO, T. AND MANTYLA, M. 1993. Feature mod-eling by incremental feature recognition.Comput. Aided Des. 25, 8, 479–492.

LEE, Y. C. AND FU, K. S. 1987. Machine under-standing of CSG: Extraction and unificationof manufacturing features. IEEE Comput.Graph. Appl. 7, 1, 20–23.

LENTZ, D. H. AND SOWERBY, R. 1993. Featureextraction of concave and convex regions andtheir intersections. Comput. Aided Des. 25, 7,421–437.

LENTZ, D. H. AND SOWERBY, R. 1994. Hole ex-traction for sheet metal components. Comput.Aided Des. 26, 10, 771–783.

LI, R. K. 1986. A conceptual framework for theinteraction of computer-aided design and com-puter-aided manufacturing. Ph. D. Thesis, Ar-izona State University.

MAREFAT, M. AND KASHYAP, R. L. 1992. Auto-matic construction of process plan from solidmodel representations. IEEE Trans. Syst.Man Cyber. 22, 5, 1097–1115.

MAREFAT, M. M. AND KASHYAP, R. L. 1990. Geo-metric reasoning for recognition of three-di-mensional object features. IEEE Trans. Pat-tern Anal. Mach. Intell. 12, 10, 949–965.

MAREFAT, M., FEGHHI, S. J., AND KASHYAP, R. L.1990. IDP: Automating the CAD/CAM linkby reasoning about shape. In Proceedings ofSixth IEEE Conference on Artificial Intelli-gence Applications (CAIA) (Santa Barbara,CA), Vol. 2, 172–177.

MANTYLA, M., NAU, D., AND SHAH, J. 1996.Challenges in feature-based manufacturingresearch. Commun. ACM 39, 2, 77–85.

MARKOWSKY, G. AND WESLEY, M. A. 1986. Gen-eration of solid models from two-dimensionaland three-dimensional data. In Solid Model-ing by Computer: From Theory to Application.Plenum, New York, 23–51.

Computing Surveys • 309

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 47: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

MEERAN, S. AND PRATT, M. J. 1993. Automatedfeature recognition from 2D drawings. Com-put. Aided Des. 25, 1, 7–17.

MENON, S. AND KIM, Y. S. 1994. Handlingblending features in form feature recognitionusing convex decomposition. In Proceedings ofASME Conference on Computers in Engineer-ing, Vol. 1, 79–92.

NAU, D. S., GUPTA, S. K., KRAMER, T. R., REGLI,W. C., AND ZHANG, G. 1993. Development ofmachining alternatives based on MRSEVs. InProceedings of ASME Conference on Comput-ers in Engineering, 47–57.

NII, H. P. 1986. Blackboard systems: Theblackboard model of problem solving and theevolution of blackboard architectures, partone. AI Mag. 7, 2, 38–53.

OVTCHAROVA, J. AND JASNOCH, U. 1993. To-wards a consistency management in a fea-ture-based design. In Proceedings of ASMEConference on Computers in Engineering,129–143.

OVTCHAROVA, J. AND JASNOCH, U. 1995. Fea-ture-based design and consistency manage-ment in CAD applications: A unified ap-proach. Adv. Eng. Softw. 20, 65–73.

OVTCHAROVA, J., HABINGER, S., VIEIRA, A. S., JAS-NOCH, U., AND RIX, J. 1994. SINFONIA: Anopen feature-based design module. In Pro-ceedings of ASME Conference on Computers inEngineering, Vol. 1, 29–43.

PARRY-BARWICK, S. AND BOWYER, A. 1995. Multi-dimensional set-theoretic feature recognition.Comput. Aided Des. 27, 10, 731–740.

PEARL, J. 1988. Probabilistic Reasoning in In-telligent Systems. Morgan Kaufmann, PaloAlto, CA.

PERNG, D. B. 1988. Automatic 3D machiningfeature extraction from 2D CAD data. Ph. D.Thesis, National Chiao Tung University, Tai-wan.

PERNG, D. B., CHEN, Z., AND LI, R. K. 1990.Automatic 3D machining feature extractionfrom 3D CSG solid input. Comput. Aided Des.22, 5, 285–295.

PETERS, T. J. 1993. Mechanical design heuris-tics to reduce the combinatorial complexity forfeature recognition. Res. Eng. Des. 4, 4, 195–201.

PHAM, D. T. 1991. Artificial Intelligence in De-sign. Springer-Verlag, New York.

PRABHAKAR, S. AND HENDERSON, M. R. 1992.Automatic form-feature recognition usingneural-network-based techniques on bound-ary representations of solid models. Comput.Aided Des. 24, 7, 381–393.

REGLI, W. C., GUPTA, S. K., AND NAU, D. S. 1994.Feature recognition for manufacturing analy-sis. In Proceedings of ASME Conference onComputers in Engineering, Vol. 1, 93–104.

REQUICHA, A. A. G. 1980. Representation for

rigid solids: Theory, methods, and systems.Comput. Surv. 12, 4, 105–131.

REQUICHA, A. A. G. 1996. Geometric reasoningfor intelligent manufacturing. Commun. ACM39, 2, 71–76.

REQUICHA, A. A. G. AND VOELCKER, H. B. 1985.Boolean operations in solid modeling: Bound-ary evaluation and merging algorithms. Proc.IEEE 73, 1, 30–44.

ROSEN, D. W. 1993. Feature-based design: 4 hy-potheses for future CAD systems. In Proceed-ings of ASME Conference on Computers inEngineering, 119–128.

ROSSIGNAC, J. R. AND O’CONNOR, M. 1990. Se-lective geometric complex: A dimension-inde-pendent model for pointsets with internalstructures and incomplete boundaries. In Geo-metric Modeling for Product Engineering, M.Wozny, J. U. Turner, and K. Preiss, eds.,North-Holland.

SAKURAI, H. 1994. Decomposing a delta volumeinto maximal convex volumes and sequencingthem for machining. In Proceedings of ASMEConference on Computers in Engineering, Vol.1, 135–142.

SAKURAI, H. 1995. Volume decomposition andfeature recognition: Part 1—polyhedral ob-jects. Comput. Aided Des. 27, 11, 833–843.

SAKURAI, H. AND CHIN, C.-W. 1993. Definingand recognizing cavity and protrusion by vol-umes. In Proceedings of ASME Conference onComputers in Engineering, 59–65.

SAKURAI, H. AND GOSSARD, D. C. 1990. Recogni-zing shape features in solid models. IEEEComput. Graph. Appl. 10, 5, 22–32.

SEDGEWICK, R. 1984. Algorithms. Addison-Wes-ley, Reading, MA.

SHAFER, G. 1976. A Mathematical Theory of Ev-idence. Princeton University Press, Princeton,NJ.

SHAH, J. J. 1991. Assessment of features. Com-put. Aided Des. 23, 5, 331–343.

SHAH, J. J. AND MANTYLA, M. 1995. Parametricand Feature-Based CAD/CAM: Concepts,Techniques, and Applications, John Wiley,New York.

SHAH, J. J., NAU, D. S., AND MANTYLA, M.,eds. 1994. Advances in Feature BasedManufacturing, Elsevier, North Holland.

SHAPIRO, V. AND VOSSLER, D. L. 1993. Separa-tion for boundary to CSG conversion. ACMTrans. Graph. 12, 1, 35–55.

SHPITALNI, M. AND FISCHER, A. 1994. Separationof disconnected machining regions on the ba-sis of a CSG model. Comput. Aided Des. 26, 1,46–58.

STALEY, S., HENDERSON, M. R., AND ANDERSON, D. C.1983. Using syntactic pattern recognition toextract feature information from a solid geo-metric data. Comput. Mech. Eng. 2, 2, 61–66.

310 • Q. Ji and M. M. Marefat

ACM Computing Surveys, Vol. 24, No. 3, September 1997

Page 48: Machine Interpretation of CAD Data for Manufacturing ...qji/Papers/acm_survey.pdf · Machine Interpretation of CAD Data for Manufacturing Applications ... copies are not made or distributed

TANG, K. AND WOO, T. 1991a. Algorithmic as-pects of alternating sum of volumes part 1:Data structure and difference operation. Com-put. Aided Des. 23, 5, 357–365.

TANG, K. AND WOO, T. 1991b. Algorithmic as-pects of alternating sum of volumes part 2:Nonconvergence and its remedy. Comput.Aided Des. 23, 6, 435–422.

TRIKA, S. N. AND KASHYAP, R. L. 1994. Geo-metric reasoning for extraction of manufac-turing features in iso-oriented polyhedrons.16, 11, 1087–1100.

TSENG, Y.-J. AND JOSHI, S. B. 1994. Recognizingmultiple interpretations of interacting ma-chining features. Comput. Aided Des. 26, 9,667–688.

VAGHUL, M. AND DIXON, J. R. 1985. Expert sys-tems in a CAD environment: Injection mold-ing part design as an example. In Proceedingsof ASME Conference on Computers in Engi-neering, Vol. 2, 77–82.

VAN HOUTEN, F. J. A. M., VAN’T ERVE, A. H., ANDJONKERS, F. J. C. M. 1989. PART, a CAPPsystem with a flexible architecture. In SecondCIRP Workshop on CAPP (Hannover).

VANDENBRANDE, J. 1990. Automatic recognitionof machinable features in solid models. Ph. D.Thesis, University of Rochester.

VANDENBRANDE, J. AND REQUICHA, A. A. 1990.Spatial reasoning for automatic recognition ofinteracting features. In Proceedings of ASMEComputers in Engineering Conference, Vol. 1,251–256.

VANDENBRANDE, J. H. AND REQUICHA, A. A. G.1993. Spatial reasoning for the automatic

recognition of machinable features in solidmodels. IEEE Trans. Pattern Anal. Mach. In-tell. 15, 12, 1269–1285.

VAXIVIERE, P. 1992. Celesstin: CAD conversionof mechanical drawings. IEEE Comput. 25, 7,46–54.

WACO, D. L. AND KIM, Y. S. 1993. Consider-ations in positive to negative conversion formachining features using convex decomposi-tion. In Proceedings of ASME Conference onComputers in Engineering, 35–46.

WACO, D. L. AND KIM, Y. S. 1994a. Geometricreasoning for machining features using con-vex decomposition. Comput. Aided Des. 26, 6,477–489.

WACO, D. L. AND KIM, Y. S. 1994b. Handling in-teracting positive components in machiningfeature reasoning using convex decomposi-tion. Adv. Eng. Softw. 20, 107–119.

WANG, E. 1992. Using automatic feature recog-nition to interface CAD to CAPP. In Proceed-ings of ASME Conference on Computers inEngineering, Vol. 1, 215–231.

WOO, T. C. 1982. Feature extraction by volumedecomposition. In Proceedings of Conferenceon CAD/CAM Technology in Mechanical En-gineering (MIT, Cambridge, MA), 76–94.

WOODWARK, J. R. 1988. Some speculations onfeature recognition. Comput. Aided Des. 20, 4,189–196.

YU, T.-T., CHEN, Y.-M., AND MILLER, R. A. 1992.A framework for sheet metal part design andmanufacturing assessment. In Proceedings ofASME Conference on Computers in Engineer-ing, Vol. 1, 53–60.

Received October 1993; revised February 1997; accepted May 1997

Computing Surveys • 311

ACM Computing Surveys, Vol. 24, No. 3, September 1997