step-based feature extraction from step geometry for agile ...nagi/papers/stepfeature.pdf ·...

22
Ž . Computers in Industry 41 2000 3–24 www.elsevier.nlrlocatercompind STEP-based feature extraction from STEP geometry for Agile Manufacturing Mangesh P. Bhandarkar, Rakesh Nagi ) Department of Industrial Engineering, 342 Bell Hall, State UniÕersity of New York at Buffalo, Buffalo, NY 14260, USA Received 17 November 1997; accepted 10 May 1999 Abstract Feature recognition, from low level geometric entities of product design representations within a CAD model to facilitate process planning and manufacturing activities, has been of significant importance in computer integrated manufacturing Ž . CIM . However, the emerging paradigm of Agile Manufacturing has imposed additional requirements of ‘‘neutral format’’ so that form-feature information can be readily shared among multiple partners of a virtual enterprise. Recently, the Ž . STandard for the Exchange of Product model data STEP has emerged as the means for neutral form exchange of product related data. The ‘‘STEP efforts’’ have broken down the domain of manufacturing related activities in the form of Ž . application protocols APs target for specific functions which include drafting, configuration control and feature-based Ž . process planning to mention a few. Efforts are still on to increase the acceptance and use of this international standard IS . This paper focuses on our efforts to support the STEP standard with the development of a standards-oriented form-feature extraction system. The developed feature extraction system takes as a input a STEP file defining the geometry and topology of a part and generates as output a STEP file with form-feature information in AP224 format for form feature-based process w planning. The system can also be interfaced with a recent IGES to AP202 translator M.P. Bhandarkar, B. Downie, M. Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing to STEP drafting data, accepted by Computers in Industry, July, 1999; M.P. Bhandarkar, Satisfying information needs in Agile Manufacturing through translation and feature extraction into STEP product data models, MS Thesis, State University of New York at Buffalo, x Ž . 1997. to allow conversion of legacy data. The feature recognition algorithm is boundary-representation B-Rep based and follows a sequential approach through an existing classification of features. Properties of each feature class are exploited to enable their extraction. The algorithm is currently developed for prismatic solids produced by milling operations and that Ž Ž .. contain elementary shapes such as plane and cylindrical surfaces possibly using non-uniform rational B-splines NURBS . Special attention has been paid to implementation issues. We demonstrate the efficacy of the system using representative parts. q 2000 Published by Elsevier Science B.V. All rights reserved. Keywords: STEP; Form feature; Feature extraction ) Corresponding author. Tel.: q1-7166452357; fax: q1- 7166453302; e-mail: [email protected] 1. Introduction Ž . Computer-aided design CAD systems have been used for geometric modeling since the 1960s. Geom- etry is usually represented in the CAD systems in 0166-3615r00r$ - see front matter q 2000 Published by Elsevier Science B.V. All rights reserved. Ž . PII: S0166-3615 99 00040-8

Upload: others

Post on 14-Jul-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: STEP-based feature extraction from STEP geometry for Agile ...nagi/papers/stepfeature.pdf · Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing

Ž .Computers in Industry 41 2000 3–24www.elsevier.nlrlocatercompind

STEP-based feature extraction from STEP geometry forAgile Manufacturing

Mangesh P. Bhandarkar, Rakesh Nagi )

Department of Industrial Engineering, 342 Bell Hall, State UniÕersity of New York at Buffalo, Buffalo, NY 14260, USA

Received 17 November 1997; accepted 10 May 1999

Abstract

Feature recognition, from low level geometric entities of product design representations within a CAD model to facilitateprocess planning and manufacturing activities, has been of significant importance in computer integrated manufacturingŽ .CIM . However, the emerging paradigm of Agile Manufacturing has imposed additional requirements of ‘‘neutral format’’so that form-feature information can be readily shared among multiple partners of a virtual enterprise. Recently, the

Ž .STandard for the Exchange of Product model data STEP has emerged as the means for neutral form exchange of productrelated data. The ‘‘STEP efforts’’ have broken down the domain of manufacturing related activities in the form of

Ž .application protocols APs target for specific functions which include drafting, configuration control and feature-basedŽ .process planning to mention a few. Efforts are still on to increase the acceptance and use of this international standard IS .

This paper focuses on our efforts to support the STEP standard with the development of a standards-oriented form-featureextraction system. The developed feature extraction system takes as a input a STEP file defining the geometry and topologyof a part and generates as output a STEP file with form-feature information in AP224 format for form feature-based process

wplanning. The system can also be interfaced with a recent IGES to AP202 translator M.P. Bhandarkar, B. Downie, M.Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing to STEP drafting data, acceptedby Computers in Industry, July, 1999; M.P. Bhandarkar, Satisfying information needs in Agile Manufacturing throughtranslation and feature extraction into STEP product data models, MS Thesis, State University of New York at Buffalo,

x Ž .1997. to allow conversion of legacy data. The feature recognition algorithm is boundary-representation B-Rep based andfollows a sequential approach through an existing classification of features. Properties of each feature class are exploited toenable their extraction. The algorithm is currently developed for prismatic solids produced by milling operations and that

Ž Ž ..contain elementary shapes such as plane and cylindrical surfaces possibly using non-uniform rational B-splines NURBS .Special attention has been paid to implementation issues. We demonstrate the efficacy of the system using representativeparts. q 2000 Published by Elsevier Science B.V. All rights reserved.

Keywords: STEP; Form feature; Feature extraction

) Corresponding author. Tel.: q1-7166452357; fax: q1-7166453302; e-mail: [email protected]

1. Introduction

Ž .Computer-aided design CAD systems have beenused for geometric modeling since the 1960s. Geom-etry is usually represented in the CAD systems in

0166-3615r00r$ - see front matter q 2000 Published by Elsevier Science B.V. All rights reserved.Ž .PII: S0166-3615 99 00040-8

Page 2: STEP-based feature extraction from STEP geometry for Agile ...nagi/papers/stepfeature.pdf · Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing

( )M.P. Bhandarkar, R. NagirComputers in Industry 41 2000 3–244

terms of low level geometric entities like vertices,edges and surfaces or in terms of solid entities likecubes, cylinders, etc. However, with the develop-ment of manufacturing technologies and the emer-gence of concepts like computer integrated manufac-

Ž .turing CIM , there is a need for extensive coopera-tion between different engineering activities. Morerecently, the emergence of a new manufacturingparadigm called Agile Manufacturing has taken theconcept of cooperation to a higher degree. Now,product data like design, manufacturing, utilization,maintenance and disposal is not only shared betweenvarious departments within a company, but is sharedbetween various ‘‘partner’’ companies of a virtualenterprise. In this context, feature extraction fromgeometric representation and feature-based model-ing have gained considerable amount of researchimportance as they allow the sharing of informationbetween design and manufacturing process planning.Manufacturing world has seen a considerable amountof change, from the computer-aided drafting, com-puter-aided designing, computer-aided manufactur-ing to the new and emerging concept of Agile Manu-facturing. In this new fragmented manufacturingworld, where different companies share data andinformation about their products through a standardform of exchange, the representation of product datain multiple views through a standard exchange for-

Ž .mat for multiple manufacturing applications hasbecome very essential. The ISO STandard for the

Ž .Exchange of Product model data STEP standardhas emerged as the means of neutral form for dataexchange between companies.

This paper focuses on the extraction of featureinformation by converting low level geometry infor-mation into higher level manufacturing information.The extracted features are stored in the STEP AP224format to facilitate their exchange between various‘‘partners’’ and direct interface with an automatedprocess planning system to create process plans formanufacturing.

The paper is organized as follows. Section 2provides some background on the STEP international

Ž .standard IS which is currently being developed,and an explanation of the STEP application protocolŽ .AP 224 for feature-based process planning. Section3 presents a review of some of the work done in thefield of manufacturing feature recognition. The char-

acteristics and properties of features as they relate tothe extraction process are detailed in Section 4 whichis followed by the discussion of its implementationin Section 5. To demonstrate the efficacy of theprocedure illustrative examples are presented in Sec-tion 6. Lastly, conclusions and recommendations forpossible extensions of this work are discussed inSection 7.

2. Background

The manufacturing practices have undergone a lotof changes in the past few decades. The designprocess of developing drawings on paper and thenconverting them into blue prints has been replacedby CAD systems. The manufacturing process hasalso undergone change from single facility manual

Ž .manufacturing to computer numeric control CNCmachines and multi-facility manufacturing separatednot only by location but also in the type of machinesand systems that are used. Recently, a new trend inmanufacturing called Agile Manufacturing has de-veloped wherein separate companies come togetherto form a ‘‘virtual enterprise’’ to manufacture aproduct of the right quality with the least cost and atthe right time. These new design and manufacturingtrends have demanded a way for representing prod-uct related data in a single neutral format which canprovide unambiguous data to support the variouslife-cycle stages of the product and also which can

Ž .be understood by all the design CAD and manufac-Ž .turing CNC systems. Emphasis on advanced tech-

niques such as feature-based manufacturing and de-sign have increased to reduce cycle time betweendesign and manufacturing and to increase collabora-tion between design and manufacturing teams.

2.1. MotiÕation

The representation of design information as ge-ometry and manufacturing information as form fea-tures in a neutral format is currently an activelyresearched area not only in academia but by indus-tries too. Companies will be able to communicateelectronic manufacturing information through simplemedia like electronic mail or over the Internet. De-sign and manufacturing of the part will not be re-stricted by geographic location any longer. The inte-

Žgrated product team consisting of engineers from

Page 3: STEP-based feature extraction from STEP geometry for Agile ...nagi/papers/stepfeature.pdf · Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing

( )M.P. Bhandarkar, R. NagirComputers in Industry 41 2000 3–24 5

.various engineering disciplines can develop the de-sign in one part of the world, save this design asSTEP data, and then pass the ASCII file to themanufacturing site where the same data can beviewed as per the manufacturing requirements.

This process essentially pushes all the input thatthe manufacturing and other ‘‘post-design’’ activitiescan provide into the design level of the life-cycle of

Žthe product. All the down stream activities manufac-.turing, assembly, etc. would now become views of

the same standard data relevant to that particularapplication. Shifting all the intelligence into the de-sign process leads to considerable cost saving. Indus-try estimates show that to make changes duringdesign only cost a tenth of what it would cost in thelater stages of the life-cycle of the product. Thisprocess also leads to the concurrent development ofthe design and manufacturing process plan of theproduct.

However, we are currently a long way from de-veloping an integrated product. There is also theissue of legacy data which have not been developedwith the concurrent engineering notion in mind. AnIS STEP is being currently developed to address theissue of having standard data spanning the variousstages of the life-cycles of product. Motivated by thiseffort the authors have tried to develop a mechanismfor extracting features from the design data of theproduct. These features can act as input to an auto-mated process planning system or also as input to aCNC machine for manufacturing the product di-rectly. By extracting the features out of the designdata the authors hope that the designer and manufac-turer would have to work together and be forced todevelop a ‘‘manufacturable product’’ at the designstage. Furthermore, the extracted features could bestored into a database and can act as design data forfuture design activities.

Section 2.2 provides some definitions for the termfeature with regards its interpretation in differentphases of product definition. Following this, anoverview of the STEP standard and the AP relevantto the current effort are provided.

2.2. Feature definition

Without getting into the complex notation for aformal mathematical definition, a feature can bedefined as characteristic of the part which carries

significance or higher semantic meaning to a particu-lar application. These various applications could bemanufacturing, engineering, design, assembly, etc.The meaning of the term feature as it may apply tothese disciplines is provided below.

w xIn works of Shah and Rogers 31 , the termfeature was defined as a set of information related toan object’s description. This description could be fordesign, for manufacturing or even for administrativepurposes. The authors have classified features intosets related to product engineering applications asfollows:Ø form features: which identify the combination of

geometric and topological entities in such a waythat it makes practical sense during the variousstages of the products life-cycle; for instance,shoulder and boss are examples of form featureswhich are important during design and manufac-turing;

Ø assembly features: which assist in the easy loca-tionrmating of parts for assembly, e.g., holes,slots, etc.;

Ø material features: which specify material compo-sition and condition information such as proper-tiesrspecification or treatment applied to materi-als and surfaces;

Ø tolerance features: such as geometric tolerancesor surface finish; and

Ø functional features: such as performance parame-ters, operating variables or design constraints,e.g., the aerodynamic shape of the wing of anairplane.In summary, form features are configurations on

the object that may be for engineering-analysis dur-ing design, for process planning during manufactur-ing and during assembly. The same configurationscould carry different connotation to different applica-tions such as design and manufacturing. For exam-ple, holes, pockets and steps are types of formfeatures that are represented as a set of surfacesduring design and can be associated with manufac-turing activities like drilling, end milling and slabmilling.

2.3. Standard for the exchange of product modeldata

Recent efforts in the development of a standardmechanism for exchanging and sharing product data

Page 4: STEP-based feature extraction from STEP geometry for Agile ...nagi/papers/stepfeature.pdf · Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing

( )M.P. Bhandarkar, R. NagirComputers in Industry 41 2000 3–246

have led to the development of the STEP standard.STEP provides a representation of product relatedinformation along with the mechanisms and defini-tions to enable product data exchange and sharing.The data generated is associated with the completelife-cycle of the product and can be exchanged be-tween different computer systems and used by thevarious manufacturing stages such as design, manu-facturing, utilization, maintenance and disposal.

Ž .STEP is based on a three layered architecture: ithe reference model which develops a number of

Ž .topical models specific to individual applications, iithe logical layer which specifies the format defini-

w x Ž .tion language called EXPRESS 27 , and iii thephysical layer which defines the communication filestructure called STEP file. This file transfer mecha-nism represents the static aspect of STEP whichallows exchange of product data. STEP also allowsdynamic sharing of data between different systems

Ž .through the standard data access interface SDAI .ŽSTEP is organized as a series of parts shown in

.Fig. 1 . These parts are published separately so thateach can be independently developed and vendorsneed not implement all the standards into their sys-tems. These parts fall into one of the followingclasses.

Ø Introductory: This class provides an introduc-tion to the concepts and fundamental principles ofSTEP, e.g., Part 1 — Overviews and fundamentalprinciples.

Fig. 1. Relationships between STEP parts.

Ø Description methods: The standardized meth-ods to be used when describing STEP entities toensure consistency and avoid ambiguity are de-scribed in this class, e.g., Part 11 — EXPRESS.

Ø Resource information models: This class de-fines the data content that is the basis for the devel-opment of the APs. These include models of generalapplicability and those that support a particular ap-plication or class of applications. The product data isrepresented in an application independent format,and is only implemented via an AP, described next,e.g., Part 41 — Fundamentals of product descriptionand support.

Ø APs: This class defines the resources informa-tion models to provide specific functionality. APsstate explicitly the information needs of a particularapplication, specify an unambiguous means by whichinformation is to be exchanged for that application,and provide conformance requirements and test pur-poses for the conformance testing. APs are based onthe resource information model but carry specificsemantics in the application domain of the AP, e.g.,Part 203 — Configuration controlled design.

Ø Implementation methods: This class describesthe multiple implementation methods that are sup-ported by the logically complete information model,e.g., Part 21 — Clear text encoding of the exchangestructure and Part 22 — SDAI specification.

Ø Conformance testing methodologies: The stan-dard procedures and tools required to undertake con-formance testing of products are described in thisclass, e.g., Part 31 — Conformance testing method-ology and framework: general concepts.

STEP uses a formal information modeling lan-w xguage, EXPRESS 27 , to specify the product infor-

mation to be represented. The use of a formal lan-guage enables precision and consistency of represen-tation and facilitates implementation. APs are used tospecify the representation of product information forone or more applications. APs are based on four

Ž . Ž .main ideas: i scope and context of application, iiŽ .an application reference model ARM defining the

Ž .requirements, iii an application-interpreted modelŽ .AIM which satisfies the requirements given in the

Ž .ARM using STEP constructs, and iv conformancerequirements and test procedures for compliance withthe AP. Fig. 2 shows the AP development processw x36 .

Page 5: STEP-based feature extraction from STEP geometry for Agile ...nagi/papers/stepfeature.pdf · Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing

( )M.P. Bhandarkar, R. NagirComputers in Industry 41 2000 3–24 7

Fig. 2. AP development process.

STEP enables all people contributing to the de-sign, manufacturing, marketing and supply of a prod-uct and its components to contribute to, to access,and to share information. STEP also attempts tounite manufacturing efforts among corporate part-ners, distant subsidiaries and suppliers across diversecomputer environments. It is intended to fit in com-pletely with the new emerging paradigm of virtualenterprises and agile manufacturing.

Several APs have already been developed to sup-port different kinds of engineering applications andquite a few are currently being developed for variousother manufacturing processes. Currently, the mostwidely used AP is the IS AP203 which is meant forrepresenting design and configuration managementinformation. Other APs like AP201 for explicit draft-ing, AP202 for associative drafting have also becomeIS. The AP for form feature-based process planning,AP224, which we have used in this paper for repre-senting the form-feature information is currently at

Ž .the final draft international standard FDIS stage.More details on STEP APs can be found in Refs.w x21,33 .

2.4. Application protocol AP224

w xAP224 is the STEP AP 23 which specifies therequirements for the representation and exchange ofinformation needed to define product data necessaryfor manufacturing single piece mechanical parts. The

product data is based on existing part designs thathave their shapes represented by form features.

AP224 covers the following:Ø product data that defines a single piece machined

part to be manufactured;Ø product data that covers parts manufactured by

milling or turning;Ø product data that is necessary to track down the

customer order in the shop floor;Ø product data necessary to identify the status of a

part in the manufacturing process;Ø product data necessary to track raw stock certifi-

cation;Ø product data necessary for tracking of a part

design deficiency;Ø form features that are necessary for defining

shapes necessary for manufacturing.This paper uses the feature representation capabil-

ity of AP224 to give a higher level representation tothe geometry and topology information of a part byway of form-features. The representation of productdata in terms of form features helps in the fabricationof parts in the manufacturing environment. AP224also contains the constructs to completely define thegeometry and topology, attach tolerance values to thegeometry elements and describe material specifica-tions for the part. All this helps to provide therelevant information for the downstream operationslike tool selection, speed and feed selection, etc. The

Page 6: STEP-based feature extraction from STEP geometry for Agile ...nagi/papers/stepfeature.pdf · Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing

( )M.P. Bhandarkar, R. NagirComputers in Industry 41 2000 3–248

AP224 data can thus act as input to a STEP-basedgenerative process planning system to create processplans consisting of routings, i.e., workstation selec-tion, tool selection, feed and speed data along withcomplete manufacturing times, detailed bill of mate-rials and manufacturing process plans.

The AP cannot be used for the representation ofthe following information:Ø product data for the representation of assemblies

ŽAP203 can be used for this kind of representa-.tion but it contains no form-feature information ;

Ø product data for representation of composite ma-terials;

Ø product data for the representation of sheet metalmanufacturing;

Ø product data for the representation of part pedi-gree;

Ø data pertaining to the design phase of the productdevelopment; and

Ø product data necessary to schedule and track theprogress of the part through the manufacturingprocess.

Fig. 3. Part of a STEP AP224 file.

Page 7: STEP-based feature extraction from STEP geometry for Agile ...nagi/papers/stepfeature.pdf · Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing

( )M.P. Bhandarkar, R. NagirComputers in Industry 41 2000 3–24 9

Ž .Fig. 3 is used to illustrate in text form thearrangement of form-feature entities in an AP224STEP file. The form features have been divided intothree major sub-categories, each subtypes of the

Ž . 1shape aspect entity, namely: machining feature s ,Ž . Ž .transition feature s , and replicate feature s . OtherŽ .support entities also subtype of shape aspect such

as profiles, paths and bottom conditions are definedto help completely describe the above form-features.The features are specified by a volume that is de-fined by a profile and by a path along which theprofiles are swept. A feature is defined by creatingan instance of the appropriate entity, for example,Fig. 3 describes a product containing a round hole.

ŽThe feature’s definitional parameters say in theabove example the diameter, orientation and maxi-

.mum depth of the hole are associated with thefeature using the shape definition with parametersentity. The profiles, paths and bottom conditions fora feature are associated creating instances of thespecified type such as circular closed profile, holebottom, etc. The form-feature is associated with theprofiles using the shape definition relationship en-tity.

3. Literature review

The field of feature recognition and feature-baseddesign has been considerably researched. In featurerecognition, the solid model for the part is firstcreated and then the manufacturing features are iden-tified or extracted from this model. On the otherhand, in the design by feature approach, there is a

Ždatabase of manufacturing or other type depending. Žon interest for feature extraction of features e.g.,

.holes, slots, grooves, etc. which the designer canuse to synthesize the part design. Other informationsuch as manufacturing tolerances, datum informa-tion, surface attributes and material specificationscan be specified by the designer. This section pre-sents the review of some research work that has beendone in terms of extraction of form features fromCAD information models. There is also a review of

1 Italicized text represents entity names and at times may notmake grammatical sense.

some of the STEP-based feature extraction methodsthat have been developed recently. A more complete

w xreview can be found in Ref. 4 .

3.1. Manufacturing feature recognition

In this section, we review some of the literaturethat is available for the field of manufacturing fea-ture recognition. This particular field is extensivelycovered because it is of particular relevance to thecurrent work especially considering that AP224 isused to describe machining features for manufactur-ing of a single piece mechanical part. A large num-ber of techniques have been developed for featuresrecognition. These techniques fall under the follow-

w xing categories 29 .

3.1.1. Sectioning methodsThis method is typically used for tool path genera-

tion and automatic process planning for 2.5D compo-nents encountered in the aerospace and avionics

w xindustries. Yue and Murray 40 have described atechnique for automatic process planning of suchtypes of parts. The technique involves validating the2.5D components by testing the workpiece for ap-proach direction, presence of non-planar faces, etc.The part is checked for presence of sharp corners,fillets, chamfers, hidden surfaces, tolerance require-ments and cutter interferences with the fixture andwith the component. The part volume is sliced in theX–Y plane to get the machining profiles and inter-section curves. An NC tool path can be generatedusing the same.

w xJung and Lee 17 developed a methodology forinterfacing CAD and computer-aided process plan-

Ž .ning CAPP -based on automatic feature recognitionfor rotational parts. The methodology uses the IGESgeometry representation of CAD data and identifiesfeatures using polygon decomposition and recogni-tion of precedences.

3.1.2. ConÕex hull decompositionThe convex hull decomposition technique decom-

poses a volume by subtracting it from its convex hulland repeating the process for all the resulting vol-

w xumes. Woo 38 developed this type of algorithm, inwhich a volume is decomposed into alternating sum

Page 8: STEP-based feature extraction from STEP geometry for Agile ...nagi/papers/stepfeature.pdf · Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing

( )M.P. Bhandarkar, R. NagirComputers in Industry 41 2000 3–2410

Ž .of volumes ASV and the features are extractedfrom it. The algorithm however has a problem ofnon-convergence resulting in erroneous volumes offeatures.

w xKim 18 developed a product shape recognitionalgorithm using convex decomposition, and extend-ing the original ASV to avoid non-convergence. Thealgorithm called alternating sum of volumes parti-

Ž .tioning ASVP can be applied to polyhedral solids.ASVP decomposition is a hierarchical decompositionof the boundary faces of the given solid. The ASVP

Ž .is converted into a form feature decomposition FFDwherein all the components represent meaningfulhigh level shape entities. However, this techniquecan only be applied to polyhedral solids. Pariente

w xand Kim 22 have integrated an incremental updateform feature recognizer with the earlier system. Thesystem can update the ASVP structure if any changesare made to the design.

w xFerreira and Hinduja 9 have also described afeature recognition technique that is applied to 2.5Dcomponents created from a boundary representationŽ .B-Rep solid modeler. The method involves deter-mination of the convex hull for the component’sfaces. The approach works on a face-by-face basisand so it is not capable to dealing with complexfeatures involving interactions between faces. Thesystem can also determine possible directions ofapproach for the cutter and machining depths.

3.1.3. Boundary-based methodsThe methods that take B-Rep data as input and

use geometric and topological relations between theboundary entities fall under this category. The B-Reptree is scanned and the features are identified bycomparing the tree structure with the structure re-

w xquired for a feature. Joshi and Chang 16 use theŽ .concept of attributed adjacency graph AAG for the

recognition of machining features from a B-Rep of asolid. The AAG is constructed in which every facebecomes a unique node and every edge exists as aunique arc. The feature recognition procedure iscalled to compare the nodes of the graph to a pre-de-fined feature library. If the configuration of a particu-lar pre-defined feature matches that of the graph, afeature is identified and extracted out. Interactionsbetween features and virtual features are also recog-nized by the procedure.

w xGavankar and Henderson 11 have developed agraph-based technique for the identification of pro-trusions and depressions from B-Rep of solids. Pro-trusions and depressions of the solid are found byexamining the internal face loops of the faces. Thetechnique cannot identify blind holes and pocketsthat open into more than one surface.

w xGhad and Prinz 12 developed a shape-featurerecognition system that is based on differential depthfilter, which reduces the number of topological enti-ties. The topological entities are transformed intoentities of a higher level of abstraction called loops.Loops assist in reducing the number of entities whichneed to be searched for the feature to be extracted.This algorithm has been demonstrated to yield fasterresults with parts having a large number of faces and

w xedges. Barber 2 has proposed a knowledge-basedsystem for retrieval of relevant data for planning

Ž .manufacturing applications. The system provides: iŽ .multi-level abstraction of part geometry, ii feature

information in an object-oriented, semantic net repre-Ž .sentation, and iii a mechanism to retrieve previ-

ously stored process plans.w xGu et al. 14 use B-Rep solid model data to

Ž .construct an attributed adjacency matrix AAM . Afeature recognizer uses fuzzy connectionist model, toconvert the AAM into feature patterns. The system iscapable of learning, and can recognize new features

w xwithout any a priori knowledge. Brun 5 has pre-sented an extraction procedure, where form-featuresare related to the modification of gross shape. Theform features are classified based on the type ofgeometric element it modifies: a vertex, an edge, theinterior of a face, or between two faces sharing acommon edge, or between n faces sharing n edgesand a vertex. The possibility of intersection betweenproposed features has been eliminated to avoid com-plexity.

w xSu et al. 35 have proposed a hybrid representa-tion scheme called enhanced CSG tree of featureŽ .ECTOF which integrates the feature model withthe solid model. The system can resolve featureinterference by decomposing the intersecting fea-tures, removing redundant feature volumes, reclassi-fying features, and forming complex depression fea-tures.

w xQamhiyah et al. 24,25 have presented a bound-ary-based procedure for the sequential extraction of

Page 9: STEP-based feature extraction from STEP geometry for Agile ...nagi/papers/stepfeature.pdf · Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing

( )M.P. Bhandarkar, R. NagirComputers in Industry 41 2000 3–24 11

form-features. The authors have developed a classifi-cation of form-features based on their effect on thebasic shape of the part. A loop-adjacency hyper

Ž .graph LAHG is developed for the part from itsB-Rep representation. The form feature extractionprocedure is sequential and has five stages. Eachstage goes through a particular type of form-featureclass to identify the constituent form features. After afeature is identified, the set of loops constituting thefeature are eliminated from the object. At the end ofeach stage, a valid B-Rep is reconstructed for each ofthe extracted components.

w xLiu et al. 20 have developed a PC-based systemcoded in C for form feature-based computer-aidedprocess planning system. The automatic feature ex-

Ž .traction system AFES for prismatic parts works offa CAD system. The AFES parses through the IGESB-Rep tree and extracts out the feature information.The algorithms proposed include concave edge test,oblique convex feature extraction algorithm, and thecomplex convex minimal enclosing box feature ex-traction procedure.

In summary, the boundary-based feature recogni-tion is the most popular method for feature recogni-tion. However, it does suffer from the lack of robustalgorithms, particularly where feature interactionsare present. Feature interactions remove portions ofthe features involved and the boundary-based meth-ods fail to recognize partial or incomplete features.

w xAlso, other than Ref. 12 , most of the B-Rep-basedfeature extraction methods are computationally ex-pensive as they involve the traversal of the B-Reptree to arrive at the face-edge relations.

3.1.4. Cellular decompositionThese methods have been applied for the determi-

nation of machining volumes from stock and partmodels. The Boolean difference between the volumeof the stock and the volume of the final part yieldsthe total volume to be removed. The volume is thendecomposed into individual pieces corresponding tospecific machining operations. CAM-I developed atGeneral Dynamics was the earliest example of thistype of feature extraction method. Sakurai and Chinw x26 have developed a form feature recognitionmethod called ‘‘spatial decomposition and composi-tion’’ which decomposes the space surrounding asolid model into minimal convex cells. Various com-

binations of the cells are composed to determine ifthey are volume features. This process continuesuntil all the features are identified. This process ishowever computationally very expensive.

w xVandenbrande and Requicha 37 developed amethod for feature recognition from a solid model ofthe part. The part is processed by production rulesthat generate hints for the presence of features bycombining part faces and other attribute specifica-tions about the face. These hints are further parsed to

w xidentify the form features. Dong and Parsaei 7proposed the concept of general manufacturing fea-

Ž .tures GMFs for feature extraction using the blankŽ .surface–concave edge BS-CE algorithm. The ex-

tracted features are then recognized using a rule-basedw xsystem. Coles et al. 6 have developed a feature

recognition method by generating volumetric featurerepresentations from conventional B-Reps of parts.The features are recognized by decomposing thefeature volume of the part into a set of smallervolumes through analytic face extension.

These systems are in the initial stage of develop-ment. Most of these systems lack generality and havebeen developed for specific use. Also, most of thesesystems can deal with simple prismatic solids withorthogonal features. There is also the obvious disad-vantage of presence of multiple models, i.e., non-uniqueness for a required application. However, someof the cellular decomposition methods particularly

w xRefs. 7,37 have been shown to deal with featureinteraction to a great degree. These methods alsohave the advantage of being able to recognize fea-tures from non-manifold solids, although at the costof computational effectiveness.

3.2. Design by feature

Design by feature is the other major school ofthought that can be found in form feature relatedresearch. This approach consists of designing thepart using a set of features from a database offeatures. The main advantage of this process is thatsince the features are essential for use in otherdownstream applications such as process planningand assembly planning, it makes sense to specifythem at the design stage.

w xFinger and Safier 10 have aimed to enable de-signers to compose mechanical designs from high-

Page 10: STEP-based feature extraction from STEP geometry for Agile ...nagi/papers/stepfeature.pdf · Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing

( )M.P. Bhandarkar, R. NagirComputers in Industry 41 2000 3–2412

level features. The system is also capable of provid-ing manufacturability, assemblability, functionalityand cost feed back during the designing process.

w xAvasarala and Stern 1 have implemented a form-feature-based modeler for the design of turned parts.The environment provides the designer with highlevel features for conveying the design intent withoutmanipulating the low level graphics. The authorshave pre-defined several classes of axisymmetricaland non-symmetrical features. However, the systemis restricted only to turned parts.

The design by feature method seems to overcomeall the problems of feature recognition but suffersfrom its own disadvantage of being limited by thenumber of features in the pre-defined library and theexistence of large quantities of legacy data whichcannot be used by this method.

3.3. STEP-based feature extraction

The ongoing effort to develop an IS for productdata exchange has lead to the development of the

w xSTEP standard. Gilman 13 has demonstrated theŽ . 2use of product data exchange using STEP PDES

form features in a feature-based designing environ-ment. The work focuses on the implementation of

Ž .the PDES form feature information model FFIM asa conceptual schema for an object-oriented database.

Some of the other work in this area includes thatw xof Ssemakula and Satsangi 32 for describing inter-

faces between process planning systems and CADsystems using the PDES standard, Shah and Matheww x30 which includes developing a translator to andfrom FFIM to ASU testbed developed at Arizona

w xState University and Wu et al. 39 for computer-Ž .aided engineering CAE and CAM applications for

mechanical systems.

3.4. ObjectiÕe

There is a need for converting the design informa-tion from geometry and topology into manufacturingrelevant form-features. The literature review pre-sented earlier in this section can be summarized as:

2 PDES was the pre-cursor to STEP in the US.

Ž .1 form features capture more information and prac-Ž .tical data than just low-level topological entities; 2

CAD packages, other than those based on feature-based modeling techniques, store part information inthe form of low-level entities which cannot be useddirectly for downstream manufacturing activities. Onthe other hand, feature-based designing suffers fromthe distinct limitation of the number of features that

Ž .can be created; 3 The existing feature recognizingsystems are restricted to the use of certain form of

Ž .input from a certain CAD system and producenative output either as textual information or asfeature information into a file. This does not lenditself easily to communication and data sharing be-tween different partner companies as warranted bythe Agile Manufacturing paradigm.

The objective of this work is to develop a stan-dards-oriented form-feature extraction system whichconverts design data into relevant manufacturing data.The system uses the STEP definition of the part asinput to the extraction process. The effort is to keepthe feature extraction system as general as possibleso that the data input can be from any STEP schema.The extracted features will be saved in the STEPAP224 format so that this can be further interfacedwith CAPP and CAM systems. The AP224 STEPfile not only contains feature information but alsoconsists of all the geometry information already ex-isting in the input file and can thus be visualizeddirectly using a STEP supporting CAD system.

4. Characteristics and properties of features rele-vant for the extraction process

The STEP-based feature extraction algorithmdraws significantly from the procedures developed

w x w xby Brun 5 and Qamhiyah 24 . The algorithm isŽcurrently developed for prismatic solids where the.part envelope consists of plane surfaces , produced

by milling operations, and that contain elementaryshapes such as plane surfaces, cylindrical surfaces,etc. However, representations of surfaces in the form

Ž .of non-uniform rational B-splines NURBS is ac-commodated in the algorithm. Approximately 40 to50% of the parts produced in the industry usingmilling can be represented using the above type of

w xrepresentation 13 .

Page 11: STEP-based feature extraction from STEP geometry for Agile ...nagi/papers/stepfeature.pdf · Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing

( )M.P. Bhandarkar, R. NagirComputers in Industry 41 2000 3–24 13

4.1. Basic shape unit for purpose of feature extrac-tion

Ž .The adÕanced brep shape representation ABSRis used as the functional unit for the feature extrac-tion process. For more information on the variousother forms of shape representations, the reader is

w xdirected to Ref. 4 . The ABSR consists of a set ofrepresentation items. This set contains an entity ofthe type manifold solid brep. The manifold solidbrep entity or its subtype namely brep with Õoidscontains the complete definition of the geometry andtopology of the solid in the B-Rep format. Themanifold solid brep is a finite, arcwise connectedvolume, bounded by one or more surfaces, each ofwhich is a connected, oriented, finite, closed mani-fold. There are no restrictions on the number of holesor voids within the volume. It contains an outerclosed shell which defines the outer extent of thesolid. If the solid contains any voids, they are de-fined using brep with Õoids, with the void formed bya set of oriented closed shells. Void shells arecontained completely within the outer shell. Theclosed shell which is a type of connected face set isa set of arcwise connected surfaces known as faces.The working unit in an ABSR is a subtype of facecalled adÕanced face.

The face is the topological entity of dimensional-ity 2, corresponding to a piece of surface bounded byloops. Each face is represented by its bounding loopswhich are defined as face bounds. Each face musthave at least one bound, and if there is more thanone bound, they must be distinct. One of the boundscan be classified as the face outer bound and thisdefines the outer loop of the face. A geometricsurface can be associated with each of the facesforming the solid. This can be done by using theadÕanced face entity or the face surface entity. ABoolean flag is used to signify whether the loopdirection is oriented in accordance or opposed to thesurface normal. Each adÕanced face of the solidshares an edge with exactly one other face to form aclosed set of faces. The loops bounding the surfacecan be constructed by a single vertex, or by stringingtogether connected edges, or by linear segmentsbeginning and ending at the same vertex. The loopformed by a single vertex is called Õertex loop, thistypically represents an apex of a cone where the

entire surface is degenerated down to a single pointand is bound by a single vertex. A loop whichbounds the face by a collection of edges is callededge loop. It is a path in which the start and endvertices are the same to close the loop around theface. The loop formed by a group of straight linesegments is called polyloop, in which a planar re-gion is bounded by straight lines. This type of loop isprimarily found in faceted B-Rep models for solids.

The edge loop consists of a list of oriented edges,which are constructed from another edge and containa Boolean flag to orient them so as to form a closedbound around the face. An edge is a topologicalentity bounded by two vertices not including them.The edge is oriented from the start to the end vertex,this orientation can be reversed by the Boolean flagfor the oriented edge. The edge can have an underly-ing geometry associated with it. This can be modeledusing the edge curÕe subtype which has the geome-try fully defined for an edge. A Boolean flag isattached to this entity indicating whether the direc-tion of the edge and the underlying curve are thesame or opposed to each other.

The vertex is the topological construct corre-sponding to a point. A single vertex can be shared bymany edges and subsequently by many faces. Avertex is represented as a Õertex point which can berepresented as a cartesian point in three-dimensionalspace.

The B-Rep solid, thus, formed from faces, edgesw xand vertices, satisfies Euler–Poincare formula 28´

for closed solids. If Õ, e, f , s, r and h are theŽ .number of vertices, edges, faces, shells surfaces ,

Ž .interior loops in the faces rings and through holesin the solid respectively, then according to the for-mula:

Õyeq fs2 syh qr 1Ž . Ž .

4.2. Classification of edges

The edges are classified as either convex or con-cave depending on the angle between the faces shar-ing this edge. This classification of edges is doneusing the underlying surface geometry of the facessharing this edge. In a B-Rep representation of asolid, the edges are represented in such a way that ifthe edges are traversed in the direction of the loop

Page 12: STEP-based feature extraction from STEP geometry for Agile ...nagi/papers/stepfeature.pdf · Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing

( )M.P. Bhandarkar, R. NagirComputers in Industry 41 2000 3–2414

bounding the face, the material of the solid alwayslies to the left. Due to this the outer loops boundingthe face are in the counterclockwise direction and the

w xinner loops are in the clockwise direction 5 . This isshown in Fig. 4.

Let e be the edge shared between two faces Fk i

and F . Then, convexity or concavity of the edge isj

found as follows.Ž . Ž . Ž .i First the cross vector product c of the face

Ž .normals of the faces is calculated as in Eq. 2 ,where f and f are the normals to the surfaces Fi j i

and F , respectively. Note that the order of thej

surface normals is from right to left of the edge viewperspective.

cs f = f 2Ž .i j

The direction of c will be parallel to the directionof e because of the face vector geometry and thek

w xright hand rule 19 . If the direction of c and e isk

the same, the edge formed is a concave edge, other-Ž .wise it is a convex edge. ii The direction of c is

Ž .determined by calculating the dot scalar productŽ .d of the resulting cross product c with the direc-

Ž .tional vector of the common edge e as in Eq. 3 ,k5 5 5 5where c is the magnitude of c, e is the magni-k

tude of e , and u is the angle between c and e ,k k

which in this case would either be 08 or 1808.

5 5 5 5dscPe s c e cosu 3Ž .k k

If the value of d is positive, it implies that u is 0and the edge is concave with respect to F and F ,1 2

otherwise the edge is convex. Fig. 5 illustrates thisprocedure for establishing the convexity or concavityof the edge. The edge e is directed from vertex 1 to1

vertex 2. The right face is F and the left face is F .1 2

Using the right hand rule the vector c is determined

Fig. 4. Edge directions in the outer and inner loop.

Fig. 5. Part showing the edge directions and the surface normals.

which is orthogonal to the right and left face direc-tions. The value of the dot product of c and e is1

positive, indicating they are in the same direction.Therefore, e is a concave edge.1

4.3. Classification of form-features

This section gives an overview of the classifica-tion of the form-features. The classification is basedon the effect of the features in changing the basic

w xshape of the solid 5,24 . The form features areclassified into four basic types:1. void features,2. internal form features,3. external form features, and4. connectivity modifying form features.

Form features belonging to the type Õoid featuresform voids within the solid. Voids are areas whichare totally enclosed within the outer shell of thesolid. Voids are represented as Õoid shells within thesolid and the solid is represented as brep with Õoids.Fig. 6 shows an example of this type of feature.

Fig. 6. Example of feature of type void.

Page 13: STEP-based feature extraction from STEP geometry for Agile ...nagi/papers/stepfeature.pdf · Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing

( )M.P. Bhandarkar, R. NagirComputers in Industry 41 2000 3–24 15

Fig. 7. Example of feature of type through.

The form-features of the type internal are theones which modify the internal shape of one or moresurfaces. Internal features are classified into two

Ž .sub-types: i through features which go rightthrough the solid and create a path from one outerface of the solid to another outer face, e.g., through-holes and through-pockets, Fig. 7 shows a solid with

Ž .this type of feature, and ii blind features whichalter the internal shape of a surface but do notpenetrate through the solid; these types of featuresbegin at one of the outer surfaces of the solid andend inside the solid, e.g., blind-holes and blind-pockets. Fig. 8 shows a solid containing this type offeature.

Form features belonging to the type externalmodify the external shape of the solid, e.g., steps,slots, external pockets, etc. External form features

Ž .are further classified in the three sub-types: i Edgemodifying: these features modify an edge of a face orbetween a pair of faces to create a feature. Anexample of this type of feature is an external pocketformed between two faces. Fig. 9 shows this type of

Ž .feature. ii Face modifying: these features are prob-

Fig. 8. Example of feature of type blind.

Fig. 9. Example of feature of type external edge modifying.

ably the most widely found features and are typicalin engineering applications. These features split up asingle face to create a feature on that face. However,these features may not be restricted to a singlesurface only. Modification of one or more of theadjoining faces may result depending on the type offeature. Examples of this type of feature are steps,slots, etc. Figs. 10 and 11 show examples of face

Ž .modifying features. iii Vertex modifying: thesetypes of feature modify the vertex between adjacentfaces, e.g., a cutout would fall under this category.Fig. 12 shows a solid with a vertex cutout.

ConnectiÕity modifying form features are thosewhich alter the ‘‘joint’’ between the various faces ofthe part, e.g., chamfers and rounded edges. Theseform-features are usually created as last or finishingoperations during the manufacturing process. Fig. 13shows a part with this type of form feature.

The order in which the above form features havebeen classified depends on the general manufactur-ing steps that are followed during the manufacturingprocess. Generally, features of the type ‘‘void’’would be produced first. These features are generally

Fig. 10. Example of feature of type face modifying.

Page 14: STEP-based feature extraction from STEP geometry for Agile ...nagi/papers/stepfeature.pdf · Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing

( )M.P. Bhandarkar, R. NagirComputers in Industry 41 2000 3–2416

Fig. 11. Example of feature of type face modifying.

created by the primary manufacturing processes likecasting and molding. The internal and external fea-tures are then created by the secondary manufactur-ing processes like milling and turning. Finally, de-pending on the tolerances and other design require-ments, connectivity modifying features are created atthe last stage of manufacturing using tertiary pro-cesses like grinding and deburring. These processesdo not involve considerable amount of material re-moval but require only the alteration of the joiningedge between two faces.

4.4. Properties of the feature types

The properties of some of the features defined inSection 4.3 are detailed in this section. The proper-ties of the feature of type void have not been identi-fied as the sufficient condition for the features oftype void is the presence of a brep with Õoid typeentity in the STEP file. A void shell or the innershell forms this feature.The description of the proper-ties of the remaining features are based on geometricreasoning and the understanding of the manufactur-ing processes by the authors.

Fig. 12. Example of feature of type vertex modifying.

Fig. 13. Example of feature of type connectivity modifying.

4.4.1. Type internalAs explained in Section 4.3, these features form

internal elements in the solid. The internal elementscould pass right through the solid in which case thefeature would be identified as a through feature orthey penetrate only to some distance into the solid inwhich case a blind feature, would be formed.

The presence of these features is identified by theexistence of inner loops on the faces. As explainedpreviously, a face of the solid is bounded by an outer

Ž .loop of edges or a vertex in some special cases andby one or more inner loops if there are any internalfeatures on the face. The edges of the inner loops areshared between the faces forming the outer cover ofthe inner faces. The type of underlying curve geome-try for the edges forming the inner loop and thesurface geometry for the faces forming the innerelements provides a clue as to the type of feature thatis formed.

For example, the existence of an inner loop withtwo edge elements bounding the loop with cylindri-cal surfaces or NURBS surfaces of cylindrical naturethat form the inner elements asserts that the internalfeature is a hole. If on the other hand the inner edgewere bounded by four edges and the edge geometrywas defined by straight edges, the feature that isformed is an internal-pocket. The presence of curvededges would indicate that the feature being formed isa rounded or circular pocket. These types of featureare common in machined parts and are produced bymilling operations, using an end mill to cut out therequired profile from the work-piece.

The next important thing is to determine whetherthe internal feature is blind or through. Here, theproperty of the STEP file to associate the geometryto the faces proves to be of great importance. If the

Page 15: STEP-based feature extraction from STEP geometry for Agile ...nagi/papers/stepfeature.pdf · Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing

( )M.P. Bhandarkar, R. NagirComputers in Industry 41 2000 3–24 17

geometry of the face forming the inner element isshared by more than one outer faces, the feature

Ž .would be of the type through feature Fig. 7 . On theother hand, if this were not the case and the surfaceis shared by only one outer element, the feature

Ž .would be of the type blind Fig. 8 . Blind featuresalso contain a ‘‘base face’’ which has concave loops.The concept of loop convexity and concavity isexplained in Section 4.2. If this ‘‘base face’’ has aninternal loop, it would indicate a stepped type ofinternal feature. Typical examples of these would bea counter-sunk or counter-bored hole or pocket. Theseproperties cover most of the cases of milled featuresthat are likely to be seen in a typical manufacturingsetup.

4.4.2. Type externalAs explained in Section 4.3, these features alter

the external shape of the solid, and are further classi-Ž .fied into three sub-types: i those that modify an

Ž .edge between two faces, called edge modifying; iithose that modify a single face of the solid, called

Ž .face modifying; and iii those that modify a vertexbetween adjacent faces, called Õertex modifying. Eachof these have a different set of properties which canbe used to uniquely identify these from the B-Repstructure of the solid.

Ø Edge modifying: These features are character-ized by the presence of a pair of faces sharing morethan one edge. Fig. 14 shows in bold the edgesforming the two faces F and F . The two faces1 2

share the edges e and e . These faces share more1 2

than one edge and this indicates the presence of anedge modifying feature between the two faces F1

and F . The above is only the necessary condition2

Fig. 14. Feature of the type edge modifying.

for the presence of an edge modifying feature. Thesufficient condition would be the determination ofthe convexity–concavity of the edge of faces F and3

F . These two faces must have exactly three concave4

edges and only one convex edge which is the edgeshared between these faces and the outer faces of thesolid namely F and F . If the above necessary and1 2

sufficient conditions hold true then there exists afeature of the type edge modifying in the solid.Typical examples of this type of feature are blind

Žpockets and blind slots which are notably produced.using the milling operation .

Ø Face modifying: These features partition atleast one face of the solid to generate new faces, oreliminate at least a single edge. If the face is changedto the extent of being partitioned into several newsurfaces, its identity in the B-Rep is lost completely.Due to this reason, these features cannot be identi-fied by tracing their effect on the surface underlyingthe face, edges or vertices. These features can beisolated by determining the convexity or concavityof the edges forming the loops bounding the face andalso that of the neighboring faces. To extract afeature of this type the edges forming the loops areanalyzed, and depending on the number of concaveedges, the features are classified. Given a face con-

Ž .taining four edges of a prismatic solid out of whichtwo edges are concave and the remaining two edgesare convex, there is a very high probability that thissurface is a part of a slot feature. The neighborhoodof this face has to also be looked at before any suchdecision can be made. If the faces sharing the con-cave edge have only one concave edge, it gives morecredibility to the fact that there exists a slot in thesolid. If on the other hand the given face has onlyone concave edge, and also the neighboring facewhich shares the concave edge has only one concaveedge, a step exists in the solid. Figs. 10 and 11 showexamples of face modifying features.

More complex features need further probing. Notonly are the immediate neighboring faces examinedbut the neighbors of these neighboring faces and soon are recursively analyzed till the outer face of thesolid is reached. If there are more than one faceswhich must be traversed to reach the outer face ofthe solid, there is a complex feature present in thesolid. A T-Slot would be a typical example of such acomplex feature. At this time, the algorithm is only

Page 16: STEP-based feature extraction from STEP geometry for Agile ...nagi/papers/stepfeature.pdf · Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing

( )M.P. Bhandarkar, R. NagirComputers in Industry 41 2000 3–2418

capable of classifying this presence as a complexfeatures. The exact identification of the type of facemodifying form feature is not done at this time. Thisis because the interpretation of the complex featureswould be dependent on the manufacturing setup thatexists within the company, or it would be dependenton the designer and manufacturer of the product.This should however not be considered as a defi-ciency of the feature extraction algorithm. The algo-rithm can later be expanded with setup informationto accommodate more complex features which mayexist at the manufacturing site.

Ø Vertex modifying: These features modify oreliminate a single vertex between adjacent faces. Inmost of the prismatic solids, a triplet of faces share acommon vertex. This vertex is the intersection pointof the three edges bounding the three faces. Theelimination of the vertex leads to the creation of aÕertex modifying feature. Another condition whichcan be regarded as the sufficient condition for estab-lishing the vertex modifying form feature is that thefaces formed as a result of eliminating the vertexmust have at least one concave edge. Existence ofthis type of feature can be found by first checkingfor adjacent faces. From this adjacency information,the B-Rep vertex data is checked to determinewhether these faces intersect at a vertex. Once thishas been established, the convexity and concavity ofthe edges can be found to satisfy the necessary andsufficient conditions for this type of form feature.Cutouts generally fall under this category of form-

Ž .features see Fig. 12 .

4.4.3. ConnectiÕity modifying form featuresSo far, all the above form features require the

existence of concave edges. The form features of thetype connectiÕity modifying do not require this con-dition. These form features are generally created inthe final stages of manufacturing and can be calledfinishing features. These features are very importantduring the assembly stage of the part to ensure thecorrect fit of the various parts into one another.Chamfers and rounded-edges are some of the exam-ples of this type of form feature. Features of theconnectivity can be identified by looking at theedges which form these features. The angle made bythe surface normal to the face is compared to theangles that typically exist for these types of features

or the underlying geometry of the face is examinedat the joint to determine what type of joint existsbetween the faces. If a cylindrical surface joins twosurfaces, the faces are joined by a rounded-edge. Thepresence of a plane surface at the intersection sug-gests that a chamfer is used for smoothing the edgesand removing the burrs which may be producedduring manufacturing.

5. Implementation of the feature extraction pro-cess

The feature extraction system is implemented us-ing object-oriented modeling principles and Cqqprogramming language. Fig. 15 presents a flow chartdescribing the feature extraction process. The featureextraction module takes as input the STEP file defin-ing the geometry and topology of the part. The inputmodule is currently developed to accept AP202 file

Fig. 15. Flow chart describing the feature extraction system.

Page 17: STEP-based feature extraction from STEP geometry for Agile ...nagi/papers/stepfeature.pdf · Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing

( )M.P. Bhandarkar, R. NagirComputers in Industry 41 2000 3–24 19

and can be interfaced with the IGES to AP202w xtranslation module 3,4 . However, the feature ex-

traction module can be modified to accept AP203files as input; this would require rebuilding the inputmodule and linking with the AP203 schema defini-tion. The feature extraction module uses an object-

w xoriented database called ROSE 15 . The EXPRESSschema definitions of AP202 and AP224 are con-verted into Cqq classes using the ‘‘express2cq

w xq’’ utility provided by ST-Developer 34 . The Cqq classes are compiled to create AP202 and AP224libraries which are linked to the main module.

After the module ‘‘reads-in’’ the STEP file, itgoes through the file to check whether the file hasthe required type of shape representation, namely theABSR. If the shape representation does not exist inthe file, it implies that the file does not have topol-ogy information which is essential for extraction offeatures. At this point the feature extraction processstops, informing the user that the file cannot beprocessed further. On the other hand, if there existsan ABSR entity in the file, the features can beextracted from the given topology information withinthe file and the extraction module continues further.

The first step after obtaining the correct type offile input involves the conversion of the AP202topology and geometry into the respective AP224entities. As has been previously described, an AP224file contains geometry, topology and form featuredata. The geometry and topology entities are derivedfrom the integrated resources and are the same inboth these schema. The conversion routine does aone-to-one mapping between the input and the out-put entities. This conversion is necessary becausecurrently a STEP file can have entities which arespecific to only a particular schema. Fig. 16 showsthe default header of a STEP file generated by

w xST-Developer 34 . The header contains informationregarding the description of the file, the name of thefile, the date and time stamp, author name, organiza-tion name generating the file and other information.The schema to which the file belongs is also defined.In this particular case, the file schema is ‘‘Associa-tive Draughting’’ meaning that the file is an AP202file. The conversion process is written as a separatemodule linked to the main module through a singlefunction call. The advantage of this is that, if a laterdate the issue of the schema inter-operability gets

Fig. 16. STEP header.

resolved and the STEP file could have entities be-longing to several different schemata, the featureextraction module can be updated easily by deletingthe conversion module from the main program.

After the entities have been converted, the modulegoes on to extract the feature information from theB-Rep information of the part in the AP202 file. Tofacilitate the extraction process, two lists have beencreated to maintain temporary storage of the faceswhich share a common edges and vertices. Theabove information linking faces, edges and verticesis present in the B-Rep tree. However, it is verycumbersome and memory intensive to parse the treemultiple number of times to extract out adjacencyinformation. Thus, even though there is some dataduplication, it results in saving in computation time.The lists are created using the ability provided byST-Developer that allows creation of non-persistentaggregate types from Cqq classes. The first list,called edge face list, consists of a list of a pair of

Ž .faces and the edge s that they share. To populatethis list the STEP file is scanned for edges and facesand all the edges are added to the edge face list. Theedges that bound each face are traversed one afteranother and the respective face is added to thecorrect position in the edge face list.

The second list, called Õertex face list, consists ofa vertex and the faces sharing this vertex. Sincefeature extraction is done from prismatic solids, inmost of the cases three faces come together at asingle vertex. The general method for the population

Page 18: STEP-based feature extraction from STEP geometry for Agile ...nagi/papers/stepfeature.pdf · Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing

( )M.P. Bhandarkar, R. NagirComputers in Industry 41 2000 3–2420

of this list is similar to that of the previous list,whereas it is more in-depth since it involves travers-ing the loops bounding the face right down to thevertex level. To populate this list, all the vertices andfaces in the STEP file are collected and each vertexis added to the list. The loops of each of the faces aretraversed to get the edge information, the edges aretraversed to get the vertex information and the facesare associated to the correct vertex in the Õertex facelist.

Once the lists have been populated the extractionof features begins. The first features that are ex-tracted are the Õoid features. Presence of these fea-tures can be found by the presence of the brep withÕoids entity in the STEP file. The brep with Õoidscontains a set of oriented closed shells, each ofwhich contains a set of connected face sets. Thesurface underlying each of these faces is checked toestablish the type of void. If all the faces are planesurfaces instantiated as plane entities or rationalb_spline surface entities, the Õoid feature forms arectangular void. The rational b_spline surface isanalyzed by using either the information attributecalled b_spline surface form which specifies whattype of surface is being defined or by using thedegree of the knots in the u and the Õ direction andthe list of control points of the b_spline surface. Theexplanation on the analysis of b_spline surfaces can

w xbe found in Ref. 4 . After the presence of a rectan-gular void is established an instance of a rectangularclosed profile is created. As the name suggests thisentity is used to define the presence of a rectangularprofile in the solid. The required attributes of thisentity are populated. If the faces forming the void arecylindrical surfaces or spherical surfaces, a featureinstance called circular closed profile is created andits required attributes are populated.

The next step in the feature extraction processinvolves the recognition of internal features. As de-scribed in Section 4.4.1, these features are extractedby the presence of internal loops for a particularface. The faces forming the outer shell of the solidare parsed one after another. The extraction of theinternal features is done in two passes. In the firstpass, if any face has an internal loop, an instance ofa class called internal is created. The edges formingthe internal loop of the face are traversed and fromthe edge face list the adjacent face is found. The

surface underlying this second face is added to atemporary list to trace the surfaces that have alreadybeen traversed. If a surface which is already in thistemporary list is encountered a second time, the

Žinternal through feature is present. At this time i.e.,.when the faces are encountered a second time , the

faces are deleted from the temporary list and theinstance of a through feature is created. The internalsurfaces are analyzed to find out what type of inter-nal feature is formed. If the surface is a plane surfaceor a NURB representation of a plane surface, aninstance of a pocket is created. The name attributeof the pocket is set to ‘‘rectangular’’. An instance ofthe pocket bottom entity is also created with itsname attribute set to ‘‘through’’. If the surfacesforming the internal feature are a combination ofplane and cylindrical surfaces, the pocket formed isnamed ‘‘non-rectangular’’, with the bottom condi-tion remaining the same as the previous case. If thesurfaces forming the internal element are all cylindri-cal surfaces, an instance of a round hole is createdwith a ‘‘through’’ bottom condition.

After all the faces have been parsed for the inter-nal features the temporary list is checked to see ifthere are any remaining faces. The presence of facesin the temporary list indicates the presence of a‘‘non-through’’ feature. Each of the remaining facesin the temporary list is examined and depending onthe underlying surfaces the feature instances arecreated. The reasoning behind the type of featurechosen is the same as described earlier, only thebottom condition varies with its name attribute de-scribing the type of bottom that exists for the feature.

The next phase involves the extraction of externalfeatures. Before the feature extraction algorithm pro-ceeds, the edges are classified into convex or con-cave using the edge classification algorithm de-scribed in Section 4.2. Each element of the edge facelist contains an enumeration type attribute which isused to describe the edge type. The classificationalgorithm first requires the determination of the sur-face normal information. If the surface is an instanceof a plane surface, the surface normal is determinedby using the axis2_placement_3d entity which de-termines the position of the surface. Theaxis2_placement_3d entity consists of a pointsthrough which the surface normal passes and twodirection entities which define the local X-axis and

Page 19: STEP-based feature extraction from STEP geometry for Agile ...nagi/papers/stepfeature.pdf · Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing

( )M.P. Bhandarkar, R. NagirComputers in Industry 41 2000 3–24 21

Z-axis for the plane. In STEP, the plane is definedin the local X and Y axes, hence, the surface normalis the local Z-axis direction.

In a more complex case where the surface is aNURB surface, the surface normal is calculated us-ing the DT-NURBS Generalized Spline Geometry

w xLibrary 8 . DT-NURBS is a FORTRAN librarydeveloped by Boeing for the Navy and is availableas freeware. The library takes the cross product ofthe two first-order partial derivatives of the splinesurface to find the normal to the surface. The outputof the DT-NURBS routine is normalized. To use thissurface normal for the concavity–convexity calcula-tion, the normal must be directed out of the solid.This can be checked using the Boolean flag of theadÕanced face entity which is ‘‘true’’ if the parame-terization of the surface is in the same direction asthat of the face and ‘‘false’’ otherwise. Dependingon the Boolean flag the direction of the normal isdirectly used for further calculation or reversed be-fore it is used.

After determining the edge convexity–concavity,the edge face list is scanned to check whether any ofthe faces share more than one edge. If there existssuch a pair of faces sharing more than one edge,there is a possibility of a pocket existing between thetwo faces. Using the edge face list, the faces thatform the pocket are determined and checked for thenecessary and sufficient conditions for the faces toform a pocket. If all the conditions are satisfied aninstance of a pocket is created and an instance ofpocket bottom is created to define the pocket com-pletely.

The B-Rep data is next evaluated for the presenceof face modifying features. These features are deter-mined using the information of edge concavity–con-vexity determined previously and the criterion forthe determination of these types of features. If thepresence of a ‘‘slot’’ feature emerges after the proce-dure is run, an instance of a slot is created and therequired attributes are populated. There is no directdefined feature for ‘‘step’’ in AP224; if a ‘‘step’’ ispresent in the solid, an instance of a flat face iscreated. The removal direction for the flat face isdefined parallel to the flat face of the ‘‘step’’.

Next, the Õertex modifying features are extractedaccording to the algorithm described earlier. Theedge face list is used to find adjacent faces and the

Õertex face list is used to check whether these adja-cent faces have a common vertex or meeting point.The absence of a vertex is tested further with theconcavity constraint. A vertex feature does not havea one-to-one mapping in AP224, and instead it hasbeen mapped to a remoÕal Õolume entity. RemoÕalÕolume is a sub-type of a machining feature entityand is used for representing generalized features. Aninstance of a remoÕal Õolume is created and theattributes are populated.

Finally, the connectiÕity feature set is extracted.The connectiÕity features are mapped into AP224transition features which include chamfer, edgeround and fillet. The surface normal informationderived earlier for calculating the edge concavity–convexity is used to determine the angle between theintersecting faces. Depending on the type of connec-tiÕity feature between the faces, determined by thealgorithm in Section 4.4.3, an instance of a chamferor edge round is created and its attributes are popu-lated.

The feature extraction process is now completeŽand all the features that are present in the part and

.are within the scope of this work are extracted atthis point. The AP224 STEP file is saved in the Part21 file format. This file is computer interpretable andcan be exchanged between various CAD systems orcan be input to an automated process planning sys-tem which creates a manufacturing process planfrom the feature data in the file. The working of theabove feature extraction process is demonstrated withthe help of two examples in Section 6.

6. Demonstration of the feature extraction processwith examples

Fig. 17 shows a test part created using ProrEn-gineer for the testing of the feature extraction sys-tem. This file is used as input to the feature extrac-tion system. The feature extraction system first ex-tracts out the blind hole and creates an instance ofthe same in the AP224 STEP file. Next, the external‘‘steps’’ are extracted by the system. All the entitiesare saved in an AP224 STEP file. The extractionprocess takes less than 10 s of CPU time on a SiliconGraphic O running IRIX version 6.3 to complete2

execution.

Page 20: STEP-based feature extraction from STEP geometry for Agile ...nagi/papers/stepfeature.pdf · Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing

( )M.P. Bhandarkar, R. NagirComputers in Industry 41 2000 3–2422

Fig. 18 shows a bull pin block which is a morecomplicated solid than the previous example and isused to demonstrate the effectiveness of the featureextraction system. The STEP AP202 file containingthe B-Rep of the bull pin block serves as input to thefeature extraction system. The part contains 36 faces,96 edges and 62 vertices. It can be easily seen thatthe bull pin block satisfies the Euler–Poincare for-´

Ž Ž ..mula Eq. 1 for a valid solid. The feature extrac-tion system first checks whether there are any inter-nal voids in the solid; in this particular case, thereare none and hence no void features are extracted.Next, the system checks for internal features. Thebull pin block contains two round holes and onethrough pocket. The through pocket is non-rectangu-lar in nature identified by the presence of cylindricaland plane surfaces forming the walls of the pocket.The round holes are bound on the outside by twofaces, both of which are cylindrical surfaces. Next,the system establishes the concavity–convexity of allthe edges by calculating the surface normals andtheir subsequent cross-products. The surfaces of thebull pin block are instantiated as NURB surfacesand, hence, the DT-NURBS FORTRAN library isused to calculate the surface normals. The featureextraction system next extracts the external features.The system extracts out two end cutouts that arepresent in the solid and one blind pocket which isformed between the triangular faces of solid. Theentire extraction process take less than 15 seconds tocomplete.

From the limited examples attempted, we observeŽthat the run time is acceptable for simple parts i.e.,

parts with a reasonable number of faces, edges,

Fig. 17. Test part for the feature extraction process.

Fig. 18. Bull pin block.

.vertices of the B-Rep . We hope to acquire largerSTEP files which can then be tested and do acomparative study of the run times and performoptimizations as necessary. However, that activity isoutside the scope of the current paper.

7. Conclusions and recommendations

This work is aimed at addressing the data ex-change and sharing needs of Agile Manufacturing.The contribution of the research is the developmentof a feature extraction system which takes a STEPfile as input and produces a form-feature STEP file.This STEP file can be exchanged between variouscompanies and can serve as input to further down-stream activities such as process planning, schedul-

Ž .ing and material requirement planning MRP .The primary objective of this work is to develop a

feature extraction system that can store the featuredata in a computer interpretable format and whichcan be transmitted between various locations. Thefeatures are extracted from the design data for theparticular product and this would force the designerto seek input from the manufacturing engineeringand the manufacturing engineering to provide inputto the design engineer, so that the product developedcan be directly manufactured and the number ofdesign changes made as a result of manufacturingconstraints is restricted to a minimum. The featureextraction system developed is aimed at overcomingthe shortcomings of the design by feature approach

Page 21: STEP-based feature extraction from STEP geometry for Agile ...nagi/papers/stepfeature.pdf · Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing

( )M.P. Bhandarkar, R. NagirComputers in Industry 41 2000 3–24 23

which is limited by the number of features in thepre-defined library of features. The extracted formfeatures are saved in the STEP Part 21 file formatwhich can be read by some of the currently availableCAD systems and exchanged between various sys-tems over the Internet or by electronic mail. Theoutput file generated by the feature extraction systemcontains all the geometry and topology informationrequired to completely define the solid and also formfeature information. The form feature informationgives higher level meaning to the group the facesforming the solid and can be used for CAPP andCAM.

The feature extraction mechanism has currentlybeen developed for solids which can be manufac-tured by milling process. AP224, as mentioned pre-viously, covers products that can be manufactured bymilling and turning. Thus, the current work shouldbe expanded to extract features from turned parts.Also, currently, the APs supported are AP202 andAP224. The feature extraction system could be ex-panded to support AP214 which is an AP pushedforward by the automotive companies and is used forrepresenting geometry, topology and assembly infor-mation. The AP224 STEP form features can be usedfor generative process planning. Another possibleextension to this research could be the use of theform-feature information along with the geometry

Ž .and topology information for Group Technology GTcoding of the solid. The GT code can be used foridentifying part families of similar parts. This can befurther used for generating alternative process plansand cellular manufacturing types of algorithms.

Another possible future research direction in-volves the creation of an integrated manufacturingenvironment in which a part would be designedusing a standard available CAD system. The designwould be saved in the STEP format. The featureextraction system would be used to extract out formfeatures. Thus, the generated AP224 file could beused as input to an automated process planningsystem which would generate the manufacturing pro-cess plan and an automatic NC coding system whichwould generate the NC program for manufacturingthe product. The NC program can be used for actualmanufacturing of the product or for a Rapid Proto-typing type of operation in a research-based environ-ment.

Acknowledgements

Rakesh Nagi acknowledges the support of theNational Science Foundation career grant DMI-9624309. We acknowledge STEP Tools, RensselaerTechnology Park, Troy, NY, for a software grant ofST-Developer. The suggestions of the editor and tworeferees were very helpful in improving the paper.

References

w x1 P.V. Avasarala, E.L. Stern, Form feature-based design ofturned parts, ASME Proceedings of the 1994 ASME DesignTechnical Conferences, Sept. 11–14, 1994, Minneapolis,DE-Vol. 73, 1994, pp. 135–143.

w x2 K.S. Barber, A feature-based CAD representation enablingcase-based planning across multiple manufacturing applica-tions, IEEE International Conference on Systems, Man andCybernetics, 1994, pp. 142–147.

w x3 M.P. Bhandarkar, B. Downie, M. Hardwick, R. Nagi, Migra-tion from IGES to STEP: one-to-one translation of IGESdrawing to STEP drafting data, Computers in Industry, 2000,in press.

w x4 M.P. Bhandarkar, Satisfying information needs in AgileManufacturing through translation and feature extraction intoSTEP product data models, MS Thesis, State University ofNew York at Buffalo, 1997.

w x5 J. Brun, From characteristic shapes to form features, Proceed-ings of IFIP International Conference on Feature Modelingand Recognition In Advanced CADrCAM Systems, Valen-ciennes, France, Vol. 1, 1994, pp. 315–326.

w x6 J.K. Coles, R.H. Crawford, K.L. Wood, Form feature recog-nition using base volume decomposition, ASME, Interna-tional Computers in Engineering Conference and Exhibition,Minneapolis, Sept. 11–14, 1994, pp. 281–297.

w x7 J. Dong, H. Parsaei, Manufacturing feature extraction andŽ .recognition, Computers and Industrial Engineering 25 1993

141–144.w x8 DT_NURBS Generalized Spline Geometry Library, URL,

http:rrdtnet33-199.dt.navy.milr.w x9 J.C.E. Ferreira, S. Hinduja, Convex hull based feature recog-

nition method for 2.5D components, Computer Aided DesignŽ . Ž .22 1 1992 41–49.

w x10 S. Finger, S.A. Safier, Representing and recognizing featuresin mechanical designs, Design Theory and Methodology —DTM ’90, Presented at the 1990 ASME Design TechnicalConferences — 2nd International Conference on DesignTheory and Methodology, Chicago, 1990, pp. 19–26.

w x11 P. Gavankar, M.R. Henderson, Graph-based extraction ofprotrusions and depressions from boundary representations,

Ž . Ž .Computer Aided Design 22 7 1989 442–450.w x12 R. Ghad, F. Prinz, Recognition of geometric forms using

Ž .differential depth filter, Computer Aided Design 24 11Ž .1992 538–598.

Page 22: STEP-based feature extraction from STEP geometry for Agile ...nagi/papers/stepfeature.pdf · Hardwick, R. Nagi, Migration from IGES to STEP: one-to-one translation of IGES drawing

( )M.P. Bhandarkar, R. NagirComputers in Industry 41 2000 3–2424

w x13 C. Gilman, The use of the PDES form feature informationmodel as the primary representation for a form feature-baseddesign environment, Master’s Thesis, Rensselaer PolytechnicInstitute, Troy, NY, 1990.

w x14 Z. Gu, Y.F. Zhang, A.Y.C. Nee, Generic form feature recog-nition and operation selection using connectionist modeling,

Ž .Journal of Intelligent Manufacturing 6 1995 263–273.w x15 M. Hardwick and the RPI DICE team, ROSE 3.0 User

Manual, Rensselaer Design Research Center, RensselaerPolytechnic Institute, Troy, NY, 1991.

w x16 S. Joshi, T.C. Chang, Graph-based heuristics for recognitionŽ .of machined features, Computer Aided Design 20 1988

58–66.w x17 M.Y. Jung, K.H. Lee, A CADrCAPP interface for complex

rotationally symmetric parts, International Journal of Produc-Ž . Ž .tion Research 34 1 1996 227–251.

w x18 Y.S. Kim, Recognition of form features using convex decom-Ž . Ž .position, Computer Aided Design 24 9 1992 .

w x19 E. Keryszig, Advanced Engineering Mathematics, 5th edn.,Wiley, India, 1995.

w x20 S.C. Liu, M. Gonzalez, J.-G. Chen, Development of anautomatic part feature extraction and classification system

Ž .taking CAD data as input, Computers in Industry 29 1996137–150.

w x21 National Institute of Science and Technology, Index of STEPParts, URL, http:rrwww.nist.govrsteprparts.

w x22 F. Pariente, Y.S. Kim, Incremental and localized update ofconvex decomposition used for form feature recognition,

Ž . Ž .International Journal of Production Research 28 8 1996589–602.

w x23 Part 224, Mechanical product definition for process planningŽ .using form features, Document ISO TC184rWG3 N264 T7

National Institute of Standards and Technology, USA, 1996.w x24 A.Z. Qamhiyah, Form Feature Extraction and Coding for

Design by Features, PhD Dissertation, University of Toronto,1996.

w x25 A.Z. Qamhiyah, R.D. Venter, B. Benhabib, Geometric rea-soning for extraction of form features, Computer Aided

Ž . Ž .Design 28 11 1996 887–903.w x26 H. Sakurai, C.W. Chin, Definition and recognition of volume

features for process planning, in: J.J. Shah, M. Mantyla, D.S.¨ ¨Ž .Nau Eds. , Advances in Feature-Based Manufacturing, Chap.

4, 1994, pp. 65–79.w x27 D.A. Schenck, P. Wilson, Information Modeling: The EX-

PRESS Way, Oxford Univ. Press, USA, 1994.w x28 J. Shah, M. Mantyla, Parametric and Feature-based¨ ¨

CADrCAM, Wiley, USA, 1995.w x29 J. Shah, M. Mantyla, D. Nau, Manufacturing Research and¨ ¨

Technology: 20. Advances in Feature-Based Manufacturing,Elsevier, The Netherlands, 1994.

w x30 J.J. Shah, A. Mathew, Experimental investigation of theSTEP form-feature information model, Computer Aided De-

Ž . Ž .sign 23 4 1991 282–296.w x31 J. Shah, M. Rogers, Functional requirements and conceptual

design of the feature-based modeling system, Computer AidedŽ .Engineering Journal 5 1 , 9–15.

w x32 M.E. Ssemakula, A. Satsangi, Application of PDES to

CADrCAPP integration, Computers and Industrial Engineer-Ž . Ž .ing 18 4 1990 435–444.

w x33 STEP on a page, URL, http:rrwww.mel.nist.govrsc5rsoapr.

w x34 STEP Tools, URL, http:rrwww.steptools.com.w x35 C.J. Su, T.L. Sun, C.N. Wu, R.J. Mayer, An integrated

form-feature-based design system for manufacturing, JournalŽ .of Intelligent Manufacturing 6 1995 277–290.

w x36 K. Al-Timimi, J. MacKrell, STEP: Towards Open Systems,CIMdata, ISBN 1-889760-00-5, 1996.

w x37 J.H. Vandenbrande, A.A.G. Requicha, Spatial reasoning forautomatic recognition of interacting form features, ASMEInternational Computers in Engineering Conference and Ex-position, Boston, Aug. 5–9, 1990, pp. 251–256.

w x38 T.C. Woo, Feature extraction by volume decomposition,Proc. Conf. CADrCAM Technology in Mechanical Engi-neering, Cambridge, MA, USA, 1982.

w x39 J.K. Wu, T.H. Liu, G.W. Fisher, PDESrSTEP-based infor-mation model for CAE and CAM integration, InternationalJournal of Systems Automation: Research and Applications 2Ž .1992 375–394.

w x40 Y. Yue, J.L. Murray, Validation, workpiece selection andclamping of complex 2.5D components, in: J.J. Shah, M.

Ž .Mantyla, D.S. Nau Eds. , Advances in Feature-Based Manu-¨ ¨facturing, Chap. 9, 1994, pp. 185–213.

Rakesh Nagi is an Associate Professorof Industrial Engineering at the StateUniversity of New York, Buffalo. He

Ž .received his Ph.D. 1991 and M.S.Ž .1989 degrees in Mechanical Engineer-ing from the University of Maryland atCollege Park, while he worked at theInstitute for Systems Research and IN-

Ž .RIA, France. His B.E. 1987 degree inMechanical Engineering is from Univer-sity of Roorkee, India. Dr. Nagi’s majorresearch thrust is in the area of produc-

tion systems. His recent research interests are in Agile Enterprises,Information-Based Manufacturing and Logistics and Supply ChainManagement. He was awarded the National Science Foundation’sfaculty early career award in 1996 and SME’s Milton C. ShawOutstanding Young Manufacturing Engineer Award of 1999. Heis a member of IIE, SME and ASEE.

Mangesh P. Bhandarkar is a softwareengineer with Inso Corporation, PDMDivision. He represents Inso corporationat the Object Management Group and isa co-author of the PDM-Enabler specifi-cation. He is currently a member of thefinalization task force for the specifica-tion. He has an M.S. in Industrial Engi-

Ž .neering from SUNY Buffalo 1997 andB.S. in Production Engineering from

Ž .University of Bombay, India 1995 .