You are on page 1of 17



Reinholt Geelink, Otto W. Salomons, Fjodor van Slooten

Fred J.A.M. van Houten and Huub J.J. Kals
University of Twente
Department of Mechanical Engineering
Laboratory of Production and Design
Enschede, The Netherlands

ABSTRACT a facility for feature definition, usually provide some kind of pro-
In this paper, interactive ”constraint based feature definition” is gramming interface to the geometric modeler. Often, the program-
used to drive both feature based design and feature recognition. At ming interface has limited access to the geometry processing func-
present, hardly any feature based CAD or CAPP system does offer tions of the modeler. So–called Knowledge Based Engineering
adequate facilities to easily define application specific features. (KBE) systems, like ICADTM, have a better programming interface
Feature definition by means of programming is an error prone and and easier access to the geometric modeler in comparison with
difficult task. The definition of new features has to be performed by ”traditional” CAD or CAPP systems. Nevertheless, even within
domain experts in the fields of design and manufacturing. In general KBE systems, feature definition remains difficult and error prone.
they will not be programming experts. This paper elaborates on in- It requires in–depth programming skills. The person in charge of de-
teractive feature definition, aiming at facilitating the definition of fining new features usually can be regarded as a domain expert in
features by non–programming experts. The interactive feature defi- the field of design or manufacturing or both. Present feature defini-
nition functionality is implemented in a re–design support system tion functionality requires this person to be a programming expert
called FROOM. It supports feature based design. Feature definition as well. In practice, this is seldom the case. Therefore, language
is also used in a Computer Aided Process Planning system, called based approaches such as mentioned in for instance (Krause et al.,
PART, for the definition of features to be recognized. Conceptual 1991a,b), (Laakko and Mäntylä, 1992) and (Sreevalsan and Shah,
graphs are used as an aid in the definition of features and for the rep- 1991) should not be preferred in the current context. This paper
resentation of the features. The conceptual graphs are automatically elaborates on interactive feature definition, thus facilitating the def-
transformed into feature recognition algorithms. Degrees of free- inition of features without programming. It aims at providing do-
dom (DOF) analysis is used for support during feature definition main experts (non programming experts) a tool with which feature
and for solving geometric constraints related to the feature to be de- definition can be performed relatively easily. The interactive fea-
fined. ture definition is applied in a prototype of a re–design support sys-
tem, called FROOM, to support feature based design. It is also ap-
plied in the PART process planning system for the definition of
1. INTRODUCTION manufacturing features. There are some differences between the
Most new generation CAD and CAPP systems are feature based. definition of features for design and recognition purposes. For de-
The CAD systems should support design feature class definition in sign purposes, the feature’s behaviour is important, e.g. in case of
order to allow end–users to model geometry by instantiating pre– instantiation or modification. In feature recognition, it is important
defined design features. CAPP systems, if they cannot handle fea- to be able to relax the definitions of features in order to cope with
ture based product models as an input, need feature definition func- many different kinds of possible feature intersections. The paper
tionality in order to support the creation of templates for recognition shows that by means of a proper feature representation and
of manufacturing feature instances. The recognized manufacturing constraints specification functionality, both problems can be
features can then be used in the subsequent process planning steps. solved. The definitions of the manufacturing features are automati-
Feature based CAD systems generally do not offer a facility to easi- cally converted into feature recognition algorithms. Conceptual
ly define design features and CAPP systems hardly allow definition graphs are used for the definition and representation of the features.
of manufacturing features. CAD or CAPP systems which do offer In the following introductory subsections we will elaborate on
Incomplete feature model Feature

Manufacturing feature model

Feature Based Design map- Manufacturing feature model
Design feature model
Feature ? plan–
Non feature based/ Con- Non–feature model ning
ventional solid modeling
Feature Definition

feature model info



features (section 1.1), FROOM (section 1.2) and PART (section recognition algorithms of PART implicitly cover the definition of
1.3). Finally, an overview of the remainder of this paper is provided manufacturing features: it is both a feature definition and a feature
(section 1.4). recognition language. In CAPP, the feature definition should be sep-
arated from the feature recognition algorithm.
1.1 Features Often the ”difference” between design features and process plan-
Features are being widely used in advanced CAD and CAPP sys- ning features has been indicated, e.g. in (Hummel and Brown,
tems. However, still a lot of different meanings for the word ”fea- 1989). This difference in view of designers and process planners on
ture” exist. Shah defined 4 requirements that a feature should fulfil features is known as the ”multiple views problem”. However, in an
at the minimum (Shah, 1990). A feature: observational study, conducted by some of the authors, the multiple
– has to be a physical constituent of a part (component). views problem has been relativized somewhat (Salomons et al.,
– should be mappable to a generic shape. 1993b). It was found that the differences in views on form features
– should have engineering significance. by designer and process planner were only minor. It was suggested
– must have predictable properties. that naming conventions of both features and feature attributes
For an overview of research in feature based CAD, reference could help in overcoming the multiple views problem. This means
could be made to (Salomons et al., 1993a). A deficiency of today’s that by performing the feature definition well, the multiple views
feature based CAD systems, is that they focus too much on design- problem could, to some extent, be overcome, or at least reduced.
ing single components using generic built–in features. These sys- Figure 1 illustrates the possible role of features in the link of CAD
tems allow the users only to parametrically modify the geometry of and CAPP.
the features (parametric design). Topology and/or non–geometry In feature based design components can be modeled using incom-
related information can often not be defined as part of the feature. plete (abstract) features, design form features or manufacturing
Therefore, in present CAD systems, features cannot be related (or form features (see figure 1). An incomplete feature model needs
are hard to relate) to a particular application domain. In Knowledge completion before process planning of the component can be under-
Based Engineering systems, like ICADTM, it is possible to define taken. Feature completion should preferably take into account pro-
application dependent features. However, these systems lack ease cess planning knowledge (design by least commitment). If compo-
of feature definition due to laborious programming. nents are modeled using manufacturing features, feature recogni-
An example of the use of features in CAPP can be found in (van tion for process planning can be skipped, provided that the features
Houten, 1991), describing the PART system. Presently, the feature have been validated. Feature validation, although not shown, is an
essential function for all feature model information flows in figure 1984):
1. Feature validation, feature recognition and feature mapping make Assumption: a conceptual graph is a finite connected bipartite
use of similar geometric reasoning functionality. In case compo- graph :
nents are modeled using design form features, either feature map- – The two kinds of nodes of the bipartite graph are concepts and
ping or feature recognition can be applied to derive a manufacturing conceptual relations.
feature model. When a conventional solid modeling system (non – Every conceptual relation has one or more arcs, each of which
feature based) is used, then feature recognition has to be performed. must be linked to some concept.
Figure 1 reflects the major role of feature definition in the link of – If a relation has n–arcs it is said to be n–adic and its arcs are la-
CAD and CAPP as it drives both feature recognition and feature belled 1,2..n. The term monadic is synonymous with 1–adic, dy-
based design. adic with 2–adic and tri–adic with 3–adic.
– A single concept may itself form a conceptual graph, but every
arc of every conceptual relation must be linked to some concept.
1.2 FROOM The deviations of the conceptual graphs as applied in FROOM
The FROOM system is a prototype of a re–design support sys- compared to Sowa’s original approach (Sowa, 1984) are the follow-
tem, currently under development. The development of FROOM ing (Salomons et al., 1994b) :
has been motivated by the following facts. Firstly, in mechanical en- – Assemblies, components, features and feature elements (like
gineering design, a high percentage of all the design tasks can be faces, edges etc.) are the only concepts which are shown in the
considered as re–design tasks. For these tasks proper computer sup- graph. Attributes for instance, are part of the object oriented de-
port tools are not yet available. Secondly, tools that integrate well scriptions of concepts and relations and are usually not shown in
with automated process planning (CAPP) systems are not yet avail- the graph. That is, unless the constraint network of parameter
able. constraints is shown.
FROOM is an acronym for Feature and Relation based Object – The relations used in FROOM are only monadic, dyadic or tri–
Oriented Modeling. FROOM is a feature based system, allowing adic.
the modeling of both components and assemblies. Features in the – Directed arcs, are only used when necessary. Often relations just
FROOM context can be design form features, manufacturing form denote a general connection relation like ”component/face A is
features and even abstract features. FROOM employs conceptual connected to component/face B”. Usually also ”component B is
graphs for knowledge representation. Features, components and as- connected to component A” holds equally well, so that arcs could
semblies (concepts) as well as (conceptual) relations play a central have been directed in both directions. In these cases directed arcs
role in FROOM. Section 1.2.1 elaborates on the conceptual graphs are omitted.
as used in other modules of FROOM and in the feature definition – In the graphical notation of concepts and relations, sometimes
module. FROOM addresses the functionality of the left of figure 1 other symbols are used than the small rectangles or circles.
while PART addresses the right side functionality (see section 1.3).
Two different kinds of users are distinguished: end–users and sys-
tem manager users. End–users are the designers who design assem- 1.3 PART
blies, components etc.: they perform the actual design tasks. System PART (acronym for Planning of Activities, Resources and
manager users customize the FROOM system to a certain applica- Technology) is a Computer Aided Process Planning system, tuned
tion domain, company and user (group). They define the features to to perform process planning for prismatic parts that require 2.5 D
be used, the catalogues from which selections can be made and oth- machining operations like milling, drilling, tapping, boring etc.. Al-
er information that can be useful for the end–users. For the two dif- though PART is an automatic process planning system, the user is
ferent user groups, different user interfaces are available. offered several tools to inspect and edit generated (intermediate)
Another important part of FROOM is the modeling module in proposals. The process planning functions which PART can per-
which both components, assemblies and constraints can be mod- form are placed in functional modules (van Houten, 1991). Some of
eled. This module has access to the kernel modeler, which offers the these are described next. The CAD interface module takes care of
basic geometry processing functionality. In FROOM, the ACISTM conversion of the solid B–rep input model (e.g. STEP, Pro–Engi-
kernel modeler is used for this purpose. In (Salomons, 1995a) a neerTM) to the internal format (ACISTM). In case tolerances are not
complete and up to date overview of FROOM is provided. yet specified on the input model, the tolerance modeling module of
PART can be used. After the feature recognition has been per-
formed, the so–called manufacturing feature model is ready. It is in-
1.2.1 Feature representation in FROOM using con- put for the down stream process planning modules of PART. The
ceptual graphs. Conceptual graphs, or conceptual structures, previously mentioned modules make PART a modeler independent
have been proposed for use in natural language processing and for CAPP system. For further details see (van Houten, 1991).
representing mental models by Sowa (Sowa, 1984). However, the In PART, like in FROOM, two main types of users are distin-
number of applications of conceptual graphs in other domains is in- guished: end–users and system administrator users. The system ad-
creasing, for instance in the field of CAD/CAPP. ministrator users of PART are comparable with the system manager
Conceptual graphs are graphs with two different kinds of nodes: users of FROOM: both have the permission to make the system ap-
concepts and conceptual relations. Conceptual graphs are therefore plication specific: they are, amongst others, allowed to define fea-
called bipartite. Sowa defines a conceptual graph as follows (Sowa, tures. In the following, system manager users and system adminis-
{1} PATTERN pocket_round_straight ( 101 ) : { Pattern to recognize straight round pockets }
{2} FOR b = Faces_of ( model ) DO
{3} VARIANT 1 :
{4} Plane_surface ( b ) { Bottom of pocket }
{5} c = Curves_of ( First_of ( Edges_of ( Outer_contours_of ( b ) ) ) )
{6} NEXT_IF ( Concave ( Edges_of ( Inner_contours_of ( b ) ) ) )
{7} Circular_arc ( c )
{8} FOR e = Edges_of ( Outer_contours_of ( b ) ) DO
{9} Identical ( c, Curves_of ( e ) )
{10} Perpendicular_concave ( e )
{11} FOR x = Faces_of ( e ) - b DO
{12} z = Edges_of ( Outer_contours_of ( x ) ) - e
{13} Concave_smooth ( z )
{14} FOR y = z - Smooth ( z ) DO
{15} Convex ( y )
{16} END_FOR
{17} END_FOR
{18} RETURN ( Faces_of ( e ) - b )
{19} END_FOR
{20} RETURN ( b )
{22} END_FOR



trator users are referred to as ”system users”.

variant 1 variant 2
1.3.1 Feature definition and recognition in PART. The
PART system employs a feature recognition language called FDL
(Feature Definition Language), which is based on a combination of
ideas by Kyprianou (1980) and Choi et al. (1984). The CAM–I John
Deere feature hierarchy (Butterfield et al., 1986) has been used as
the basis for the initial taxonomy of the PART features. However,
interactive feature definition as presented in this paper allows for
defining any feature taxonomy. In PART, features are recognized FIGURE 3 : SLOT RECTANGULAR VARIANTS.
from a B–rep solid model. The feature recognition algorithm is a
kind of recipe (i.e. pre–defined feature template), in which the re-
quirements of the entities belonging to a specific feature class are
described. The entire B–rep model is searched for sets of entities
that fulfil those requirements. Verification of the convexity/concav-
ity of edges forms an important part of the recognition algorithm.
An example of a piece of FDL code is given in figure 2. Apart from
the pattern description as shown, a parameter description is avail-
able to determine the values of the feature parameters (dimensions,
tolerances, etc.), but this is omitted due to space limitations.
In the example of figure 2 the keyword ”VARIANT 1” is used. 3 atomic features 1 compound feature
The variant mechanism is introduced to define features with a
slightly different topology and geometry but which still are mem-
bers of the same feature class. For example, a slot rectangular vari-
ant 1 without a bottom–radius and variant 2 with bottom–radius not
equal zero, see figure 3. The variant mechanism can be used to deal
with feature intersections. is a simple one or a very complex one, is said to be a compound fea-
In PART distinction is made between ATOMIC features and ture. ”Horizontally” touching, intersecting or partially overlapping
COMPOUND features. An atomic feature is the most elementary atomic features (adjacent features) are grouped as members of one
appearance of a feature (van ’t Erve, 1988), like simple holes, pock- compound feature. The hierarchy of compound features is based on
ets and slots. Nested and or combined atomic features are called the ”vertical” (parent/child) geometric hierarchy of the atomic fea-
compound features (see figure 4). Each feature in PART, whether it tures in the product model (van Houten et al., 1989). Figure 5 shows

af1 af2 af3 cf2 cf3

af4 af5 af6



an example of a part and its PART feature representation. Note that

in this paper combinations of atomics that delete substantial geo-
metrical elements of atomics are called intersections. A combina-
tion of 3 atomics like in figure 4, is a regular compound feature and
is not treated as an intersection. Compound features consisting of
atomics such as holes, pockets, as well as slots, steps, notches and
bosses can be recognized and process planned (see figure 6). PART
Free shaped axial groove

Free shaped slot u–shaped


During the determination of the feature hierarchy the accessibil-

is able to automatically select proper machining methods for situa- ity of the atomic features is checked. The orientation of the cutting
tions like in figure 6. This can be done based on the set of atomics tool is represented by the d–orientation, one of the default parame-
and their hierarchy, in combination with a machining method selec- ters of an atomic feature. The accessibility is verified by extending
tor (van Houten, 1990) the d–orientation in its negative direction starting from the feature
In PART distinction is made between so–called regular and free of interest. By means of this operation intersections can be detected
shaped features. A feature is called regular if its geometry can be de- with other parts of the model than the feature itself. For more details
scribed fully parametrically. Free shaped features in PART are al- on FDL reference is made to (van Houten et al., 1989).
lowed to be sweeps of a free shaped 2D contour along a free shaped The PART–S system, also developed at the authors’ laboratory,
curve. A restriction is that a resulting feature should be able to be is an equivalent of PART, focussing on sheet metal products. To de-
machined by 2.5D operations. Examples of free shaped PART fea- fine sheet metal features, like bends and punches, FDL is also used.
tures are given in figure 7. FDL has proven to be an adequate language to define and recog-
concave edge

blind hole




nized sheet metal feature as well. For further details on the PART–S sentation and feature definition module are based on conceptual
system reference is made to de Vries et al. (1995). graphs: see sections 1.2.1 and 3.
FDL has successfully been used to pre–define about 60 different
types of manufacturing features. Although FDL is already a ”high
level” programming language (it prevents the user from program- 1.4 Organization
ming low level C code), some drawbacks were encountered during The organization of the remainder of this paper is as follows. Sec-
intensive use. The drawbacks can be split into two groups : draw- tion 2 briefly summarizes related literature. Section 3 elaborates on
backs on feature definition level and drawbacks on feature recogni- the design of the interactive feature definition module for driving
tion level. Shortcomings on feature definition level are caused by feature based design in FROOM and feature recognition in PART.
the fact that a feature is defined by programming the recognition al- Section 4 describes the present implementation of this module. Fi-
gorithm, using FDL. It requires programming skill and experience nally, in section 5 conclusions and recommendations are presented.
to program/define valid features. It is preferable to separate the fea-
ture definition from the specification of the feature recognition al-
gorithm. Shortcomings on feature recognition level refer to non– 2. RELATED LITERATURE
recognitions due to feature intersections. The recognition algorithm A distinction is made between feature representation literature
can operate on a too low level of topology (on vertex and/or edge (section 2.1), feature definition literature (section 2.2) and feature
level) which usually indicates an insufficiently flexible feature defi- recognition literature (section 2.3). Feature definition and feature
nition. Intersection of two or more features can cause deletion of im- representation are two closely related subjects. Feature definition is
portant portions of geometry. For instance: in a feature recognition considered here as defining how a feature should look like, how it
algorithm a perpendicular concave edge is required, connecting two should behave, what its characteristics are etc.. Feature representa-
faces, but this edge could have been deleted by intersection with tion is regarded as how all this feature information is stored comput-
another feature (see figure 8). In figure 2 the side faces of a pocket er internally: representing both the individual (form) features and
round straight are searched by looking for connecting perpendicular the relations between the individual features that constitute a com-
concave edges (FDL code lines 10 and 11). A proposal for solving ponent. Often the way features are represented, determines the way
the intersection problem can be found in section 3.3.4. in which they can be defined and therefore these two subjects are
For FROOM it has not been possible to use the feature representa- often treated as equivalents. As this paper will show, feature recog-
tion of PART. The reason is that the PART feature representation is nition is closely related to both feature representation and feature
based on surfaces, being the entities to be created by machining op- definition.
erations. Modeling (designing) with sets of surfaces is difficult, es- 2.1 Feature representation literature
pecially when material has to be removed (depression features). In Pratt (1988 and 1990) proposed a non–manifold feature represen-
feature modeling, volumes are therefore more useful (e.g. (Pratt, tation based on the belief that B–rep is the preferable solids repre-
1988 and 1990)). Nevertheless, whatever feature representation is sentation scheme and that features should be volumetric. Pratt also
used in FROOM, it has to be ensured that it can easily be converted introduced the notion of implicit and explicit feature representa-
into the PART feature representation. Especially, this holds when tions. In the explicit representation, all geometric details of the fea-
the features are essentially the same. In FROOM the feature repre- ture are fully defined. In the implicit representation sufficient in-
formation is supplied to define the feature, but the full geometric de- In recent papers Shah et al. (1994a and 1994b) provide a method
tails have to be calculated when required. of feature definition which is very similar to the one presented in this
Shah and Rogers (1988) used a hybrid CSG/B–rep feature repre- paper. In their approach, called declarative feature modeling, they
sentation scheme for their feature based modeling system. Wang apply constraint based feature definition using an adapted form of
and Ozsoy (1991) also propose a hybrid representation scheme. Jo- degrees of freedom analysis by Kramer (1992). The main differ-
shi and Chang (1990) proposed the use of an attributed adjacency ences of the current paper with respect to the work by Shah et al. are:
graph for feature representation. Fu et al. (1993) propose a graph – a greater focus on the interactive user interface functionality.
grammar for feature representation. Van Emmerik (1990) used a – a somewhat different use of degrees of freedom analysis.
CSG approach based on half spaces. A more detailed discussion of – the automatic extraction of feature recognition rules.
these and other feature representation approaches will not be con-
sidered here due to space limitations.
2.3 Feature recognition literature
In the area of feature recognition many papers have been pub-
2.2 Feature definition literature lished, dealing with this complex problem. It is beyond the scope of
Billo et al. (1989a and 1989b) tried to bring some more rigour into this paper to present a complete and in–depth overview of all pos-
feature definition by using conceptual graphs. By doing this, feature sible recognition techniques, developed systems and their prob-
recognition and feature mapping or conversion would be made easi- lems. In Joshi and Chang (1990) a detailed overview can be found.
er. A simple example of feature transformation to Group Technolo- In this section emphasis is put on the feature intersection problem.
gy coding is given in Billo et al. (1989a and 1989b). The feature def-
inition used by Billo et al., in case of prismatic features, consists of Marefat and Kashyap (1990) developed a graph based recognition
face concepts and adjacency relations between them. The face con- technique, a modified version of the Attributed Adjacency Graph of
cepts are part of the general feature concept. However, it is not fully Joshi and Chang (1988). Their graph consists of nodes, representing
clear whether other relations between faces are also possible such faces, and links representing connecting edges. To deal with inter-
as perpendicular, concave, convex, parallel etc.. Other features are sections, virtual links are introduced. These virtual links are a sub-
defined using conceptual graphs for sweeps and ruled surfaces. It stitute for edges that have been deleted due to feature–feature inter-
is not clear in what respect the concepts have been elaborated in or- sections. The links are determined by extending faces virtually.
der to realize interactive feature definition. Some drawbacks are that their system deals only with polyhedral
Sheu and Lin (1993) present a definition scheme that is suitable depressions and allows no interactive feature definition.
for representing and operating on form features. Five basic constitu- Vandenbrande and Requicha (1993) make use of two techniques to
ents: B–rep solid components, measure entities, size, location and deal with intersections. First a candidate feature is extended in spe-
constraints are used to represent a single form feature. However, al- cified directions, looking for candidate feature faces and non–stock
though the concepts are promising, it seems that an interactive fea- faces. Second, in the feature definition template ’required’ and ’op-
ture definition functionality has not been realized. tional’ portions are specified. Interactively defined feature types are
Duan et al. (1993) employ generalized sweeping techniques for not supported, neither for design nor for recognition purposes. Van-
feature definition. A feature is defined as a parametric shape–unit. denbrande and Requicha (1993) state that they ”do not know how
It consists of a geometric description, attributes and application ori- to produce automatically (or even with user assistance) the rules
ented mapping methods for design and manufacturing purposes. and procedures needed to recognize a new, user–defined feature
The geometry of a 3D feature is defined by sweeping a 2D shape class”. The latter problem is indeed addressed in this paper.
along a guideline, which is variational–geometric and dimension Finger and Safier (1990) use graphs for feature representation. A
driven. The solid model definition that Duan et al. use is a hybrid graph grammar is used for defining features. Feature recognition is
B–rep/CSG representation scheme. based on graph matching. However, features are not defined inter-
A unification of form feature definition methods for integrating actively and they are only defined for feature recognition purposes.
feature based design, automatic feature recognition and interactive Another way to deal with intersections is a volume decomposi-
feature identification has been discussed by Sreevalsan and Shah tion approach which has recently been applied by Sakurai and Chin
(1991). Features for use in design are written in terms of their gener- (1994), Shah et al. (1994c) and Tseng and Joshi (1994). In these ap-
ic properties, construction procedures etc.. Feature templates are proaches the volume to be machined is decomposed into delta vol-
used to interactively identify features. A set of standard functions umes. Decomposition is followed by a phase that combines the delta
is used to synthesize feature recognition algorithms in order to for- volumes again, based on rules. The next step is an association of ma-
malize features to be recognized. An interpreted feature language chining operations to the combined volumes. A major disadvantage
has been developed for expressing both the feature templates and of this approach is the limited applicability to the volume removal
recognition algorithms. Some problems were noted with regard to domain only. For instance sheet metal features, like bends, and in-
the unification of the three modes of feature definition. These prob- jection molding features cannot adequately be recognized. Further-
lems are related to the lack of dynamic interfaces to geometric mod- more it is not clear how properties of the original product model,
elers and the restricted access to the functions and data of geometric like roughnesses, screwthreads and tolerances, are ”projected” on
modelers. According to Sreevalsan et al., the problems can be alle- the volume to be removed.
viated by the use of open architecture geometric modeling kernels Kim (1994) and Menon and Kim (1994) use the convex hull
like ACISTM. method to determine volumes to be removed. This method seems
Design Object Knowledge
Design Process Knowledge
Process Planning Knowledge

Basic Shape Elements

Customized Features
Basic Features
Existing Customized Features Customized hierarchy
Feature hierarchy Recognition algorithm


to suffer from the same disadvantages as the decomposition meth- knowledge and process planning knowledge which is related to the
ods mentioned above. Henderson et al. (1994) try to tackle the inter- feature to be defined. Outputs are the newly defined features, an up-
section problem by using neural networks. The system has to learn dated feature hierarchy and a feature recognition algorithm.
from a number of examples how to recognize atomic features. In
these examples several types of feature interactions should be of-
fered in order to learn the system how to deal adequately with fea- 3.2 Conceptual design of the IFD module
ture interactions. This approach differs from the ”first–time right” During the conceptual design, the black box of figure 9 has been
feature definition method as advocated in the current paper. detailed into functional modules. Operating principles have been
selected for these sub functions. The decomposition which has been
3. DESIGN OF THE INTERACTIVE FEATURE derived in (Salomons, 1995a) is shown in figure 10. Each distin-
DEFINITION MODULE guished sub function is briefly described in the following.
The Interactive Feature Definition (IFD) module as designed for 1 Naming: the feature to be defined has to be given a proper name
FROOM has been described by Salomons et al. (1994a) and Salo- to be able to identify it later. This holds especially for feature based
mons (1995a). In the following the feature definition module is ad- design purposes. Naming includes placing the feature somewhere
dressed for defining features for design (FROOM) and for recogniz- in the feature hierarchy and thus inheriting properties of the parent
ing features for process planning (PART). feature.
2 Feature element retrieval: features, feature elements and feature
hierarchies have to be retrieved from storage.
3.1 Problem definition 3 Constraint specification: topology and geometry definition can
The problem can be defined as the design and implementation of both be seen as constraint specification. The definitions of topology,
a capability to interactively define features. The requirements to be constraints and geometry are closely related. Topology describes
met are the following: the number and types of feature elements (faces, edges and vertices)
– Interactive form feature definition (as little programming as pos- and how they relate to each other. Geometry constraints determine
sible). the actual shape, the dimensions. Constraints are regarded as de-
– Geometry and non–geometry definition (constraints, tolerances, sired relationships between two or more objects. The following ge-
materials etc.). ometry and topology constraint types are distinguished: feature in-
– Definition of the behaviour of the feature (important for feature ternal constraints, feature external constraints and feature tolerance
based design purposes). constraints. An example of feature internal and feature external
– The feature definition functionality must provide for relaxation constraints is provided in figure 11. Useful feature internal
of the feature definition ( to be of use for recognition purposes). constraints are: adjacent (convex, concave and tangential), parallel,
– The feature representation should be convertible into the PART perpendicular and co–axial (Salomons et al., 1994a). These
FDL and/or a standard format like a STEP format. constraints merely address feature topology. Feature internal
Apart from these requirements, for implementation sake, it would constraints, however, also can address feature dimensions (geome-
be desirable to adhere to the FROOM data structures (conceptual try). These are important in order to give the end–users of a feature
graphs) and modeler (ACISTM). Also, it would be desirable if the based design system useful parameters with which they can control
system would allow extension to the definition of abstract features. feature size. Feature external constraints were addressed in (Sheu
In figure 9 the feature definition module is described as a black and Lin, 1993). These constraints are important for instantiating
box. Inputs are the basic shape elements and the basic (standard) features and for defining their behaviour. Most often, feature exter-
features which can be used to define new features. Also, use can be nal constraints can only be defined after a significant portion of the
made of existing previously defined features and the feature hierar- geometry and the topology of the feature have been defined. Toler-
chy (assuming an object oriented application). The system user has ance constraints (feature internal variational geometry constraints)
the responsibility to define features that make sense: the features are also important for the definition of the feature’s default toler-
should be of use in either CAD or CAPP applications or both. The ances. These constraints will not be addressed further in this paper
system user brings in design object knowledge, design process
transform to FDL code (10)

Shape elements features
Basic features feature
feature feature Customized
constraint storage
Existing features presentation representation hierarchy
satisfaction (7)
Feature hierarchy (9) (8)
(4) Recognition
constraint solidify (6)
user (3)

naming (1)

auxiliary (5)

feature (element) hierarchy retrieval (2)



f.e.e.: feature external element

f.i.e. f.i.e. f.i.e. f.e.e.
f.i.e.: feature internal element



Function Working principles

Naming & classification Logical names & classi- Logical names
Feature constraint speci-
Geometric constraints CAD geometry opera- Programming Topological tree & visual Geometry operations &
tions like sketching, ex- programming (van Em- graph manipulations &
truding etc. merik,1990) identification on a solid
Non-geometric Textually & algebraical- Algebraically
constraints ly
Auxiliary specification Icon Icon & help text Icon & help text & affin-
ity relations
Feature constraint satis-
Geometric constraints DOF method Simultaneous approach
Non-geometric Simultaneous approach
Feature presentation Lines of code Graph Graph & geometry
Feature representation Conceptual graph Language (Express) Shah and Rogers Wilson and Pratt (1988)
Solidify Automatic Interactive Interactive & automatic
Retrieval Query database From files From RdB & files
Storage Express format Conceptual graphs in Conceptual graphs in
RdB RdB & files
Transform to FDL Interactive Automatic

as it is part of the tolerance specification functionality of FROOM for the feature representation in the feature definition module. The
(Salomons et al., 1995b). reasons were the following. First, conceptual graphs allow for a rep-
4 Constraint satisfaction: the definition of constraints implies that resentation that is both relatively easy to understand by humans and
these have to be satisfied sooner or later. can easily be processed by computer (Billo, 1989b). Another reason
5 Auxiliary definition: this comprises the definition of all other was the already existing incorporation within FROOM of conceptu-
non–geometry related information such as affinity relations which al graphs for assembly representation (Salomons et al., 1994b). Fur-
features may or may not have with other features or components, thermore, conceptual graphs do not significantly differ from the at-
icons, help texts, manufacturing information etc.. Thus, this func- tributed adjacency graphs and other graphs commonly used for fea-
tionality is mainly important for feature based design purposes. ture representation. The choice for using conceptual graphs has
6 Solidify: to create a solid model from the feature elements. This been influenced by its ability to represent the different kinds of fea-
is required for feature based design purposes. ture constraints by means of conceptual relations. Conceptual fea-
7 Storage: to store the defined feature in the proper format. ture graphs can be used to represent volumetric features, necessary
8 Feature representation: the way all the feature information is in feature based design, as well as face based features used in PART.
stored in the computer memory. Also, they allow for both implicit and explicit feature representa-
9 Feature presentation: how the feature information is presented tions.
to the user. For the specification of geometric constraints, it has been decided
10 Transform to FDL: transforming the computer internal feature to use sketching and other direct CAD geometry operations like
representation into FDL code. sweeping. In a way this is similar to Duan et al. (1993). In the case
of sketching, geometry and topology constraints can be specified
easily and quickly. During sketching, the system must automatical-
3.2.1 Morphological overview. In this section the selection ly make assumptions about the feature internal constraints, intended
of alternatives for fulfilling the above functions is explained. The by the system user. The set of the feature internal constraints can
alternatives considered are listed in table 1 (a grey filled box indi- easily be extended. A common aspect of feature internal constraints
cates a selected alternative). Conceptual graphs have been selected is that they generally denote associations between faces and faces,
edges and faces, edges and edges etc.. These constraints become 3.3 Embodiment and detail design of the IFD module: a
part of the conceptual graph: they are represented as conceptual session of the IFD module
relations. However, it may sometimes be necessary that the system In the following subsections details are given on geometric
user operates on the conceptual graph directly, e.g. when the system constraint specification and satisfaction in feature definition, envis-
has inferred the wrong constraint or when constraints have to be aged from a system user perspective. Each subsection focuses on
added or relaxed in order to prevent feature recognition to fail. This one of three envisaged modes of feature definition: by sketching,
can happen when some parts of the feature are missing due to fea- graph editing and identification. Special attention is given to the de-
ture intersection. Identification of feature elements on a solid has sign of the user interface that is to be provided to the system user.
been perceived as a third method of feature definition. This method Finally, some details on how to apply the graph transformation to
may be used advantageously for CAPP when certain features are not FDL are provided.
recognized automatically.
Features can also have algebraic constraints and symbolic
constraints, not necessarily relating to geometry. These constraints 3.3.1 Defining a feature by sketching. Sketching seems to
should also be included. Thus, a constraint editor for relating feature be the most adequate way to interactively define (implicit as well as
parameters is necessary. explicit) features. Conventional CAD techniques like sweeping
The feature external constraints are similar to the feature internal could be used in addition to sketching techniques, like in (Duan et
constraints as far as the geometry is concerned. They generally de- al., 1993). Figure 12 shows an example of a user interface that has
note face associations and dimensional constraints related to these been designed for feature definition employing a sketching mode.
face associations. Most of the geometry related constraints are de- This user interface design was inspired by the existing FROOM user
signed to be managed in a unified way in FROOM and the feature interface, see e.g. (Salomons et al., 1993a and 1993b). The left side
definition module. This unified geometry constraint management in of figure 12 shows the work space while the right side shows the cor-
FROOM is implemented by a combination of degrees of freedom responding graph which should be inferred automatically from the
analysis as proposed by Kramer (1992), Liu and Nnaji (1991) and sketch. The degrees of freedom of the entities in the sketch can be
face association domain knowledge, similar to the approach applied kept up to date by a degrees of freedom approach similar to Kramer
to tolerances by Clément and Rivière (1993). This subject is part of (1992) or to Arbab and Wang (1989) who addressed the 2D case.
FROOM’s constraint management module. Therefore, it will not be
elaborated here in detail: the subject of constraint management in
FROOM is discussed by Salomons et al. (1995a and 1995c). 3.3.2 Defining/modifying a feature by graph editing. If a
For the auxiliary feature definition functionality, a number of feature which has been defined by sketching needs some changes
possibilities were considered. Textual input was considered to be or if the sketch facilities are not sufficient, a feature can be defined/
most suitable for the definition of the intent of a feature. Sometimes modified by conceptual graph editing. The design of a user interface
icons may be required for the identification of the features which are for this mode of feature definition is shown in figure 13. The work
defined. This can be done by deriving icons automatically from the area is the right side of the figure in which graphs can be edited. In
previously defined topology and geometry or by drawing icons the area on the left, geometry is automatically generated, based on
manually with some computer tool. Affinity relations can best be se- the modifications of the graph. The degrees of freedom have to be
lected from a feature hierarchy. updated when doing this in order to allow for changing from one
Solidification can be performed automatically, using some of the mode of feature definition to the other while keeping the underlying
ACISTM functions like moving a face incrementally until it coin- feature representation consistent.
cides with some edges or by manually selecting the elements of a
feature and ”stitching” them together to form a solid. The combina-
tion of these two methods was seen as most favourable. 3.3.3 Defining a feature by identifying edges and faces
The storage of a feature can be performed in a number of ways from a solid. After automatic feature recognition has been per-
(see table 1 for alternatives). It has been decided to store the features formed, it is possible that not all geometry of a product model has
as conceptual graphs because the graphs provide for a modeler inde- been assigned to manufacturing features. Because there is a com-
pendent feature representation. The use of a relational database for plete product model, it makes no sense to define the non–recognized
the storage of a conceptual graph seems very suitable. However, feature(s) from scratch. Therefore, geometric entities which were
most kernel modelers have a file system for storing geometry. not assigned to a feature, can be identified interactively by picking
Therefore, it has been decided to make use of both a database and their faces, edges etc.. Then a conceptual graph representation of the
a file system. feature can automatically be derived, making use of routines that are
Transformation of the conceptual feature graph into FDL can be also used for the sketching mode and feature recognition (like de-
performed manually by offering the user pieces of FDL code which tecting convex/concave edges). The graph representation of the fea-
can be put together using a software support tool. However, this still ture in turn can subsequently be transformed into the FDL feature
requires knowledge of FDL. Thus, a fully automatic transformation recognition language (see for details section 3.3.5).
of the graph into FDL is the only way to protect the user from pro-
gramming. Therefore this option was selected, how it works is de- 3.3.4 Feature definition for feature recognition. In this
tailed in section 3.3.5. subsection, feature definition will be discussed from a recognition
Feature visualization Graph Feature visualization Graph

ce3 Face types

se1 se3 ...

ce1 se2 ce2 pf1 cf1

Parameters Parameters

par_1: par_1:
par_2: par_2:

view point. The main question is: is the proposed feature definition Feature recognition is in fact nothing more than looking for a set
suitable for deriving recognition rules ? of faces which together fulfil certain requirements. The searching
As a test case, a representative sub set (23 of 60) of the PART fea- process starts with one face, looking for adjacent faces. In PART
tures has been used. The PART feature categories are shown in table formerly the adjacent faces were only found when they were con-
2. In brackets the number of features of each subcategory is given, nected by an edge, but absence of such an edge, like in figure 8,
followed by the number of the selected features. It turned out that caused non–recognition. One solution to that problem could be: a
the proposed conceptual graph is suitable for recognition purposes. new recognition algorithm (= new variant of that feature) for every
However, the following extensions were necessary: possible intersection. However, this results in a combinatorial ex-
– Additional feature internal relationships like: opposite, same sur- plosion of the number of variants. The solution must be found in a
face and neighbour faces. relaxation of the feature definition, in such a way that on the one–
– Additional concept types and attributes like: torus, protrusion, hand the intersections will not cause non–recognition anymore, but
depression, missing, closed and open. on the other hand the definition should still be meaningful, i.e. it
For instance, for recognition purposes it might be necessary to should be avoided that all faces of a model are assigned to all fea-
know whether a set of faces together form a closed set or to test tures! To deal with deleted edges recognition on edge level should
whether two faces are opposite each other (see also figure 14). be avoided. Adjacent faces should not be found by means of con-
necting edges. Therefore, a ”neighbourhood” relation is introduced
which checks the normals of and distances between faces. This
neighbourhood relation is represented in the graphs by the symbol
TABLE 2 : FEATURE CATEGORIES AND SUBCATEGORIES . This technique can be seen as an equivalent of the virtual links
USED FOR PART. IN BRACKETS THE NUMBER OF FEA- of Marefat and Kashyap (1990). However, the determination of
TURES OF EACH SUBCATEGORY IS GIVEN, FOLLOWED their virtual links is hard coded, the neighbourhood relation pres-
BY THE NUMBER OF THE SELECTED FEATURES. ented here can be influenced by the system user. While defining a
feature the system user can specify what is ”in the neighbourhood”,
Category Subcategory as an attribute of a neighbourhood relation. In the presented interac-
tive feature definition module it is not only possible to deal with
protrusion boss ( 7, 2 ) missing edges but in principle it is possible to deal with ”missing
depression hole ( 5 , 2 ) , pocket ( 8 , 2 ) , faces” as well, see figure 15.
slot ( 11 , 5 ) , partial slot ( 6 , 2 ) ,
corner notch ( 5 , 2 ) , 3.3.5 Transforming the conceptual graph into FDL
non corner notch ( 3 , 0 ) , code. Transformation of the graph into FDL can be performed au-
side notch ( 4 , 2 ) , tomatically. The only user action required is to start the transforma-
inside profile ( 3 , 2 ) , tion process.
outside profile ( 3 , 1 ) , In general the transformation from one ”representation” (con-
radial groove ( 1 , 1 ) ,
ceptual graph) into another ”representation” (FDL) is influenced by
axial groove ( 2 , 1 )
the characteristics of both. The conceptual graph is a widely known
slab surface ( 2 , 1 ) representation but FDL is a proprietary language and therefore it is
pf3 ⁄⁄ pf4
Slot rectangular ↔
⁄⁄ ă ă ⁄⁄
cf2 ⁄⁄ pf1 ⁄⁄ cf5
w D depr depr

Pocket free shaped straight

pf1 ă pcf2 depression

O ⁄⁄ : parallel pf1 : planar face 1
↔ : opposite
cf1 : cylindrical face 1
ă : perpendicular
pcf1 : set of planar and
: neighbour
cylindrical faces

obvious that no ready–made solutions (= conversions) were avail- 4. IMPLEMENTATION OF THE INTERACTIVE FEATURE
able in literature. DEFINITION MODULE
Determination of general rules on which the transformation has In the feature definition module, both the concepts and the con-
to be based, has been the first step towards automatic transforma- ceptual relations of the conceptual graphs have been programmed
tion. A representative sub set of PART features (regular shaped, like as C++ objects. The concepts which have currently been imple-
pocket rectangular, slots rectangular and corner notch, as well as mented as part of the interactive feature definition module are pla-
free shaped, like hole free shaped) have been transformed in FDL nar face, cylindrical face and conical face. For each of these con-
manually. During this process, rules which are generally applicable cepts, a class definition has been programmed from which the sys-
have been determined. The general validity of the rules can be veri- tem user can create his own instances. This also holds for the rela-
fied after testing in practice and can be adapted if necessary. tions: currently implemented relations are adjacent (convex, con-
Transformation rules : cave or tangential are attributes of the relation), perpendicular, par-
1. transform the graph concept by concept: per concept, the attrib- allel and co–axial. Because these relations can associate different
utes and relations with other concepts are determined. In this way concept types, e.g. planar face adjacent to planar face or planar face
per concept a block of FDL code is generated. Each concept has a adjacent to cylindrical face, many different conceptual relations
unique concept ID. Code generation starts from the concept with have to be implemented. Presently, only the most common relations
the highest ID to the concept with the lowest ID. have been implemented in the prototype. Similar to the concepts,
2. the generated blocks are merged together in the final recognition the relation objects contain attributes and methods. The methods of
program, which has a nested structure. See also figure 16 for an the relation objects are able to instantiate relations and to delete
example. them. They are also used for updating the degrees of freedom of the
Redundant code (like a double check whether face 1 is perpendic- concepts which are part of the association.
ular to face 2 and face 2 is perpendicular to face 1) is avoided by The conceptual graphs are stored in a relational database
making the contents of each subroutine dependent on the order of (OracleTM). The ACISTM modeler stores its models in files. There-
the concept IDs: when generating sub routine 3, the contents of sub fore, the features which have been defined in the interactive feature
routine 4 are already known. definition module are stored in a hybrid way using both a database
Concept IDs and their sequence seem therefore important be- (for the modeler independent conceptual graphs) and the files that
cause they influence the FDL code. However, they do not influence contain the modeler dependent geometric information.
the recognition results. In case of two identical graphs which only Figure 17 gives an example of the user interface that has been
differ in the concept IDs, two different FDL recognition algorithms realized for the graph editing mode of feature definition, according
will be generated, but these two will both recognize the same fea- to the design shown in figure 13. Figure 17 shows how features can
tures. This is due to a different nesting of different sub routines. currently interactively be defined by the system user. This is done
snap dragging as originally proposed in (Bier, 1988). Feature defini-
tion by identification of faces, edges etc. is under development.
At the moment only graphs of regularly shaped features can be
converted completely automatically to FDL code. The computer in-
ternal representation of a graph is parsed by a routine which directly
fills a file with FDL code. That file is further processed by the exist-
ing FDL to C++ converter of PART. Finally the C++ code is com-
piled and linked to generate an executable. The conversion into
FDL is performed within seconds.
The most important extensions to the syntax of FDL as presented
by van Houten (1989) are the addition of the ”FOR_GOTO” and
”END_FOR_GOTO” statements to deal with the automatically
cf3 cf5 generated FDL code and statements to extract tolerances, rough-
⁄⁄ pf4 ⁄⁄ nesses and screwthreads from the product model. Furthermore,
depr depr
some additional geometric reasoning functionality has been imple-
ă ă mented, like:
⁄⁄ ⁄⁄ – the ”Find_neighbour_face” function in figure 16.
– functions to check whether a set of faces is a ”closed” or an
”open” set.
ă ă – functions to check whether a set of faces is ”opposite” another set
pf2 pf1 pf6 of faces.
Future extensions will have to be made to the available concepts.
For instance, the 7 elementary face types as identified by Clément
ă ă ⁄⁄
⁄⁄ ă and Rivière (1993) should be supported. The definition of free
shaped features (complex sweeps, ruled surfaces etc.) and abstract
features will have to be accounted for as well. One of the main diffi-
cf9 ⁄⁄ cf7 culties of defining geometrically complex features is that they often
⁄⁄ pf8
depr depr depend on some piece of geometry that should be created by the
end–user prior to instantiating the feature. This means that feature
geometry is not known at the time of feature definition. Linear
sweeps are already used in the sketching mode for features which
do not suffer from this problem. By supporting complex sweeps and
defining rules (if..then) in combination with (complex) parameter
dependencies, the present feature definition capabilities can be ex-
by defining a conceptual graph representing the feature. The user tended in order to comply with the problem of complex feature ge-
instantaneously gets sample geometry in the geometry window. ometry. The conceptual graphs and DOF analysis seem well appli-
This is considered to be very important because system users usual- cable for these extensions. The mechanism of managing the feature
ly will have geometry in their mind of which the graph is an abstrac- internal and external constraints also has not been fully implement-
tion. At the moment it is possible to define relatively simple features ed yet due to the large effort involved. In order to reduce this, work
(like a pocket rectangular straight) within a few minutes using the is currently being performed in interactively defining geometric
graph editing approach. Using a sketching mode of feature defini- constraints similar to interactively defining features.
tion, the time needed to define a feature could be reduced further.
Note from figure 17 that the pocket feature has been defined re-
dundantly: pf#2 (planar face no. 2) is perpendicular to pf#3 which 5. CONCLUSIONS AND RECOMMENDATIONS
is perpendicular to pf#4, which is the same as pf#2 being parallel to This paper has focussed on the interactive feature definition mod-
pf#4. The reason why redundant feature definitions are allowed, is ule which supports both feature based design of the FROOM system
that in case of recognizing a feature based on a redundant feature as well as feature recognition in the PART process planning system.
definition, also possible intersections should be taken into account. The feature definition is based on a conceptual graph representation
In case of intersections, one or more of the feature’s faces could be- of features. The feature definition module allows for the definition
come deleted as a result of which the previously redundant relations of features based on sketching and graph editing. Also the identifi-
may be required in order to unambiguously define (recognize) the cation of faces on a product model is an option, which is particularly
intersected feature. The top and bottom faces of the pocket are not suitable for CAPP systems (in order to be able to define features that
shown in the conceptual graph of figure 17. have to be recognized). By these modes, constraints can be speci-
Currently, a first implementation of a 2D sketcher for feature defi- fied that both support the feature based design requirements (feature
nition has been developed (Heikens, 1994). Linear sweeps can be behaviour during instantiation and modification) and feature recog-
applied subsequently similar to Duan et al. (1993). Apart from a de- nition requirements (relaxed feature definition to deal with feature
grees of freedom approach for handling the geometric constraints, intersections). Feature recognition algorithms can be generated au-
the sketcher provides for ”points of interest” in combination with
pf2 ă pf4
Corner notch rectangular
⁄⁄ ⁄⁄
D cf3
O depr
ă ă
l ă


pf4 : cf3 :
subroutine_4 : subroutine_3 :
Plane_surface (F4) Cylindrical_surface (F3)
F4_nbf = Find_neighbour_faces ( F4 , all_faces , dist ) F3_nbf = Find_neighbour_faces ( F3 , all_faces , dist )
In_both_lists ( F4_nbf , F1 ) In_both_lists ( F3_nbf , F1 )
Find_perpendicular ( F4 , F1) Find_perpendicular ( F3 , F1)
Find_perpendicular ( F4 , F2) In_both_lists ( F3_nbf , F2 )
Find_parallel ( F4 , F3) Find_parallel ( F3 , F2)
In_both_lists ( F4_nbf , F3 ) In_both_lists ( F3 , F2_nbf )
In_both_lists ( F4 , F1_nbf ) In_both_lists ( F3 , F1_nbf )
In_both_lists ( F4 , F3_nbf ) FOR_GOTO F4 = F3_nbf DO
pf2 :
RETURN (F1+F2+F3+F4) subroutine_4
subroutine_2 :
Plane_surface (F2)
F2_nbf = Find_neighbour_faces ( F2 , all_faces , dist )
In_both_lists ( F2_nbf , F1 )
Find_perpendicular ( F2 , F1)
In_both_lists ( F2 , F1_nbf )
FOR_GOTO F3 = F2_nbf DO subroutine_0 :
pf1 :
subroutine_3 PATTERN ’feature_name’ ( ’feature_number’ ) :
subroutine_1 :
END_FOR_GOTO FOR F1 = Faces_of ( model ) DO
Plane_surface (F1)
F1_nbf = Find_neighbour_faces ( F1 , all_faces , dist) VARIANT 1 :
FOR_GOTO F2 = F1_nbf DO all_faces = Faces_of ( model )
subroutine_2 subroutine_1


tomatically based on the feature representation. The present imple- REFERENCES

mentation includes the graph editing mode of feature definition in Arbab, F., and Wang, B., 1989, ”A constraint–based design sys-
combination with the sketching mode. In the future several exten- tem based on operational transformation planning”, Proceedings,
sions to the presented feature definition module might be required, 4th. International Conference on Applications of Artificial Intelli-
such as the definition of geometrically more complex features. gence, J. Gero, ed., Springer Verlag, pp. 405–426.
Bier, E., 1988, ”Snap dragging”, Technical report, no.
ACKNOWLEDGEMENTS csd–88–416, University of Berkeley, Available on: http://cs–
This research is supported by the Technology Foundation (STW:–88–416.
a Dutch foundation sponsoring technical research).

Billo, R.E., Henderson, M.R., and Rucker, R., 1989a, ”Applying tional Journal of Computer Integrated Manufacturing, Vol.6, No.1,
conceptual graph inferencing to feature–based engineering analy- pp. 137–151.
sis”, Computers in Industry, Vol. 13, pp. 195–214. Heikens, E.J., 1994, ”FROOM 2D Sketcher”, BS report, Internal
Billo, R.E., 1989b, ”An object–oriented modeling methodology report PT 517. University of Twente, Mechanical Engineering
utilizing conceptual graphs for form feature definition”, Ph.D. The- Dept..
sis, Arizona State University. Henderson, M., Srinath, G., Stage, R., Walker, K., and Regli, W.,
Butterfield, W.R., Green, M.K., Scott, D.C., and Stoker, W.J., 1994, ”Boundary representation–based feature identification”, Ad-
1986, ”Part Features for Process Planning”, CAM–I Report vances in Feature Based Manufacturing, J.J. Shah, M. Mäntylä,
R–86–PPP–01, CAM–I, Arlington, TX. D.Nau, eds., Elsevier, pp. 15–39.
Choi, B.K., Barash, M.M., and Andersson, D.C., 1984, ”Auto- Houten, F.J.A.M. van, Erve, A.H. van ’t, and Kals, H.J.J., 1989,
matic recognition of machined surfaces from a 3–D solid model”, ”PART, a feature based computer aided process planning system”,
Computer–Aided Design, Vol.16, No. 2, pp. 81–86. Proceedings, 21st. CIRP international seminar on manufacturing
Clément, A., and Rivière, A., 1993, ”Tolerancing versus nominal systems, Stockholm
modelling in next generation CAD/CAM system”, Proceedings, Houten, F.J.A.M. van, Erve, A.H. van ’t, Boogert, R.M., Nauta,
CIRP Seminar on Computer Aided Tolerancing, ENS de Cachan, J.,and Kals, H.J.J., 1990, ”PART, selection of methods and tools”,
Paris, pp. 97 – 113. Proceedings, 22nd. CIRP international seminar on manufacturing
Duan, W., Zhou, J., and Lai, K., 1993, ”FSMT: a solid modelling systems, Enschede, NL.
tool for feature–based design and manufacture”, Computer–Aided Houten, F.J.A.M van, 1991, ”PART, a computer aided process
Design, Vol. 25, No. 1, pp. 29 – 38. planning system”, Ph.D. Thesis, University of Twente, Enschede
Emmerik, M.J.G.M. van, 1990, ”Interactive design of parameter- (NL).
ized 3D models by direct manipulation”, Ph.D. Thesis, Delft Uni- Hummel, K.E., and Brown, C.W., 1989, ”The role of feature in
versity (NL). the implementation of concurrent product and process design”, Pro-
Erve, A.H. van ’t, 1988, ”Computer aided process planning for ceedings, ASME winter meeting, San Francisco, pp. 1–9.
part manufacturing, an expert system approach”, Ph.D. Thesis, Uni- Joshi, S., and Chang, T.C., 1988, ”Graph–based heuristics for
versity of Twente, Enschede (NL). recognition of machined features from a 3–d solid model”, Comput-
Finger, S. and Safier, A., 1990, ”Representing and recognizing er–Aided Design, Vol.20, No. 2, pp. 58–64.
features in mechanical designs”, Proceedings, Second internation- Joshi, S., and Chang, T.C., 1990, ”Feature extraction and feature
al conference on design theory and methodology DTM ’90, Chica- based design approaches in the development of design interface for
go, pp. 1–14. process planning”, Journal of Intelligent Manufacturing, Vol.1, pp.
Fu, Z., De Pennington, A., and Saia, A., 1993, ”A graph grammar 1–15.
approach to feature representation and transformation”, Interna-
Kim, Y., 1994, ”Volumetric feature recognition using convex de- F.J.A.M. van, and Kals, H.J.J., 1994b, ”Conceptual graphs in
composition”, Advances in Feature Based Manufacturing, J.J. CAD”, CIRP Annals, Vol. 43, No.1, pp. 125–128.
Shah, M. Mäntylä, D.Nau, eds., Elsevier, pp. 39–65. Salomons, O.W., 1995a, ”Computer support in the design of me-
Kramer, G., 1992, ”Solving Geometric Constraint Systems, a chanical products, constraint specification and satisfaction in fea-
case study in kinematics”, The MIT Press, Cambridge, Massachus- ture based design for manufacturing”, Ph.D. Thesis, University of
setts, London, England. Twente, Enschede (NL).
Krause, F.–L., Kramer, S., and Rieger, E., 1991a, ”PDGL: A lan- Salomons, O.W., Jonge Poerink, H.J., Slooten, F. van, Houten,
guage for efficient feature–based product gestaltung”, Annals of the F.J.A.M. van, and Kals, H.J.J., 1995b, ”A computer aided toleranc-
CIRP, Vol. 40, No. 1, pp. 135–138. ing tool based on kinematic analogies”, Proceedings, CIRP seminar
Krause, F–L, Ulbrich, A., and Vosgerau, F., 1991b, ”Feature on computer aided tolerancing, Tokyo, pp. 53–72 (and to be pub-
based approach for the integration of design and process planning lished by Chapman & Hall)
systems”, Product Modelling for Computer–Aided Design and Salomons, O.W., Slooten, F. van, Houten, F.J.A.M. van, and Kals,
Manufacturing, J.Turner, J.Pegna, M.Wozny, eds., Elsevier Science H.J.J., 1995c, ”Conceptual graphs in constraint based re–design”,
Publishers B.V.(North Holland), pp. 285 – 297. Proceedings, ACM solid modelling conf., Salt Lake City.
Kyprianou, L., 1980, ”Shape classification in computer aided de- Shah, J.J., and Rogers, M.T., 1988, ”Expert form feature model-
sign”, Ph.D. Thesis, University of Cambridge. ling shell”, Computer–Aided Design, Vol. 20, No.9, p. 515–524.
Laakko, T., and Mäntylä, M., 1992, ”Feature–based modelling of Shah, J.J., 1990, ”Philosophical development of form feature
families of machined parts”, Human aspects in computer integrated concept”, CAM–I report P–90–PM–02, pp. 55–70.
manufacturing, G.J. Olling, F. Kimura, eds., PROLAMAT ’92, pp. Shah, J.J., Balakrishnan, G., Rogers, M.T., and Urban, S.D.,
351 – 360. 1994a, ”Comparative study of procedural and declarative feature
Liu, H–C., and Nnaji, B.O., 1991, ”Design with spatial relations”, based geometric modeling”, Proceedings, Conference on Feature
Journal of Manufacturing Systems, Vol.10, No. 6, pp. 449–463. modeling and recognition in advanced CAD/CAM systems, IFIP
Marefat, M., Kashyap, R.L., 1990, ”Geometric reasoning for rec- WG 5.3, Valenciennes (F), Vol. 2, pp. 647–671.
ognition of three–dimensional object features”, IEEE transactions Shah, J.J., Ali, A., and Rogers, M.T., 1994b, ”Investigation of de-
on pattern analysis and machine inteligence, Vol. 12, No 10, pp. clarative feature modelling”, Proceedings, ASME Computers in En-
949–965. gineering Conference (CIE’94), Vol.1, pp. 1–12.
Menon, S. and Kim, Y.S., 1994, ”Cylindrical Features in Form Shah, J.J., Shen, Y. and Shirur, A., 1994c, ”Determination of ma-
Feature Recognition Using Convex Decomposition”, Proceedings, chining volumes from extensible sets of design features”, Advances
IFIP WG 5.3 Conference on Feature Modeling and recognition in in Feature Based Manufacturing, J.J. Shah, M. Mäntylä, D.Nau,
advanced CAD/CAM systems, Valenciennes (F), Vol.1, pp. eds., Elsevier, pp. 129–157.
295–314. Sheu, L–C., and Lin, J.T., 1993, ”Representation scheme for de-
Pratt, M.J., 1988, Synthesis of an optimal approach to form fea- fining and operating form features”, Computer–Aided Design, Vol.
ture modelling, Proceedings, Computers in Engineering Confer- 25, No. 6, pp. 333–347.
ence, pp. 263–273. Sowa, J.F., 1984, ”Conceptual Structures, information proces-
Pratt, M.J., 1990, ”A hybrid feature based modelling system”, sing in mind and machine”, Addison–Wesley Publishing Company.
Advanced geometric modelling for engineering applications, Sreevalsan, P.C., and Shah, J.J, 1991, ”Unification of form fea-
F.L.Krause, H.Jansen, eds., Elsevier Science Publishers, pp. ture definition methods”, IFIP WG 5.2 workshop on Intelligent
189–210. CAD, Columbus, Ohio.
Sakurai, H., and Chin, C.–W., 1994, ”Definition and recognition Tseng, Y–J. and Joshi, S.B., 1994, ”Recognizing multiple inter-
of volume features for process planning”, Advances in Feature pretations of interacting machining features”, Computer–Aided De-
Based Manufacturing, J.J. Shah, M. Mäntylä, D.Nau, eds., Elsevier, sign, Vol. 26, No. 9, pp. 667–688.
pp. 65–80. Vandenbrande, J.H., Requicha, A.A.G., 1993, ”Spatial reasoning
Salomons, O.W., Houten, F.J.A.M. van, and Kals, H.J.J., 1993a, for the automatic recognition of machinable features in solid mod-
”Review of research in feature–based design”, Journal of Manufac- els”, IEEE transactions on pattern analysis and machine inteli-
turing Systems, Vol.12, No.2, pp. 113–132. gence, Vol. 15, No 12, pp. 1269–1285.
Salomons, O.W., Slooten, F. van, and Houten, F.J.A.M. van, and Vries, de J., Vin, de L.J., Streppel, A.H. and Kals, H.J.J., 1995,
Kals, H.J.J., 1993b, ”Observations from redesign and process plan- ”The use of incomplete geometry in sheet metal part manufactur-
ning practice, a study of human practice aimed at improving feature ing”, Proceedings, 27th CIRP international seminar on manufac-
based CAD/CAPP”, Proceedings, MICAD, Vol. 1, Paris, pp. turing systems, Ann Arbor, MI (and to be published in Manufactur-
115–129. ing Systems 1996, J. Peklenik, ed.)
Salomons, O.W., Jonker, H.G., Slooten, F. van, Houten, F.J.A.M. Wang, N., and Ozsoy, T.M., 1991, ”A scheme to represent fea-
van, and Kals, H.J.J., 1994a, ”Interactive feature definition”, Pro- tures, dimensions and tolerances in geometric modelling”, Journal
ceedings, Conference on Feature modeling and recognition in ad- of Manufacturing Systems, Vol. 10, No.3, pp. 233–240.
vanced CAD/CAM systems, IFIP WG 5.3, Valenciennes (F), Vol. 1, Wilson, P.R. and Pratt, M.J., 1988, ”A taxonomy of form features
pp. 181–204, available on–doc/ for solid modeling”, Geometric modeling for CAD applications,
papers/paper– M.J. Wozny, H.W. McLaughlin, eds., Elsevier Science Plublishers
Salomons, O.W., Slooten, F. van, Koning, G.W.F. de, Houten, B.V. (North Holland), pp. 125–135.