Manufacturing Feature Recognition from Solid Models

advertisement
Manufacturing Feature Recognition from Solid Models:
A Status Report
JungHyun Han
School of Electrical and Computer Engineering
Sung Kyun Kwan University
Suwon, 440-746 KOREA
han@simsan.skku.ac.kr
Mike Pratt
National Institute of Standards and Technology
Manufacturing Systems Integration Division
Building 220, Room A-127
Gaithersburg, MD 20899-0001
pratt@cme.nist.gov
William C. Regli
Geometric and Intelligent Computing Laboratory
Department of Mathematics and Computer Science
Drexel University
3141 Chestnut Street
Philadelphia, PA 19104
regli@drexel.edu
Abstract
The eld of solid modeling has developed a variety of techniques for unambiguous representations of threedimensional objects. Feature recognition is a sub-discipline of solid modeling that focuses on the design and
implementation of algorithms for detecting manufacturing information from solid models produced by ComputerAided Design (CAD) systems. Examples of this manufacturing information include features such as holes, slots,
pockets and other shapes that can be created on modern Computer Numerically Controlled (CNC) machining
systems.
Automated feature recognition has been an active research area in solid modeling for many years and is considered to be a critical component for integration of Computer-Aided Design and Computer-Aided Manufacturing
(CAD/CAM). This paper gives an overview of the state-of-the-art in feature recognition research. Rather than
giving an exhaustive survey, we focus on the three of the major algorithmic approaches for feature recognition:
graph-based algorithms, volumetric decomposition techniques, and hint-based geometric reasoning. For each approach, we present a detailed description of the algorithms being employed along with some assessments of the
technology. We conclude by outlining important open research and development issues.
Keywords: Solid Modeling, Feature Recognition, Computer-Aided Design (CAD), Manufacturing Process Planning.
1 Introduction
The eld of solid modeling has created numerous techniques for unambiguous computer representations of threedimensional objects [1] [2] [3]. Its data structures and algorithms emerged in earnest in the early 1970s [4] [5] and
1
slot
hole
pocket
hole
slot
(a) part and features
pocket
(b) surface features
hole
slot
pocket
(c) (volumetric) machining features
Figure 1: Feature Examples.
have since been used in a broad range of applications: Computer-Aided Design and Computer-Aided Manufacturing
(CAD/CAM), robotics, computer vision, computer graphics and visualization, virtual reality, etc. This paper presents
the state of the art in automated feature recognition|one of the most active research areas in solid modeling.
In the early 1960s Ivan Sutherland developed the SKETCHPAD system [6], the starting point for nearly all
research in computer graphics. One of the rst applications of this technology was in engineering design. Early CAD
systems were essentially for two-dimensional drawing and drafting. However, the rise of solid modeling techniques
has created a proliferation of sophisticated three-dimensional CAD systems in recent years.
On the other hand, computer numerically controlled (CNC) machining was rst introduced in the early 1950s,
sparking research and development of algorithms for CAM. In industry, CAD and CAM are extensively used to assist
in design and manufacture of products, respectively. However, eective CAD/CAM integration has been elusive,
and extensive human intervention is still necessary to move ideas and designs between CAD and CAM in most
manufacturing domains [7].
Computer Aided Process Planning (CAPP) is seen as a communication agent between CAD and CAM. Given
CAD data of a part (a component of a product to be manufactured), the goal of CAPP is to generate a sequenced
set of instructions used to manufacture the specied part. In order to do that, CAPP has to interpret the part in
terms of features.
Informally, features are generic shapes or other characteristics of a part with which engineers can associate
knowledge useful for reasoning about the part [8]. Manufacturing features are those which are useful for manufacturing
engineers. Figure 1-(a) shows feature examples: the part is interpreted in terms of a hole, a slot and a pocket. CAPP
will use these features to generate manufacturing instructions to produce the part. For example, CAPP typically
generates a drilling operation for the hole.
Feature recognition 1 is a front-end to CAPP and plays a key role in CAD/CAM integration. It is the process
of converting CAD data of a part into a model of the manufacturing activities required to create the part. At the
core of a part's CAD data is usually its solid model. Algorithms for feature recognition typically involve extensive
geometric computations and reasoning about the solid model of the part.
There have been two decades of research on feature recognition since the seminal work of Kyprianou in 1980 [9] and
the literature on feature recognition is voluminous. Rather than attempting to exhaustively cover the history of the
eld, however, this paper focuses on the three currently most active approaches: graph-based algorithms, volumetric
decomposition, and hint-based reasoning. For more general, historic, surveys, readers are referred to [10][11][12].
In the graph-based algorithms, the part is represented into a graph data structure, and is searched for particular
patterns for features. The volumetric decomposition approach decomposes the input object into a set of intermediate
volumes and then manipulates the volumes to produce features. The hint-based reasoning starts from a minimal
indispensable portion of a feature's boundary which should be present in the part, and performs extensive geometric
reasoning. This paper describes the algorithms of these three approaches in a great detail, and discusses the problems
in feature recognition and the methods proposed to resolve the problems.
This paper is organized as follows. Section 2 provides foundations for feature recognition { denitions, representa1 It should be valuable to point out the dierences and similarities between feature recognition in manufacturing and that in computer
vision. In computer vision, features are recognized from sensor data such as 2D image or 2.5D range data. In contrast, manufacturing
features are recognized from solid models, which already unambiguously represent 3D objects. However, the goals of the two activities
are similar in the sense that they produce a higher level description of an input object.
2
cutter sweep
direction
cutter
rotation
width
eep
sw n
er ectio
t
t
cu dir
length
linear sweep
(a) hole
=
height
cutter and sweep path
pocket = pocket profile + sweep
(c) pocket
(b) slot
Figure 2: Examples of Volumetric Machining Features.
tions and classications of features. Sections 3, 4 and 5 constitute the main part of this paper, and present the state
of the art of the three approaches: graph-based algorithms, volumetric decomposition, and hint-based reasoning.
Section 6 raises important open research issues in feature recognition, and nally Section 7 draws some conclusions.
2 Foundations for Feature Recognition
2.1 Feature Representations
As dened in Section 1, features are generic shapes or other characteristics of a part with which engineers can associate
knowledge useful for reasoning about the part. There is a wide spectrum of engineering activities, each of which has
its own view of features. For designers, a feature might represent functionality; for machinists, a feature attempts to
capture the eect of a cutting operation; for assembly planners, a feature represents a region of a part which will mate
or connect with a corresponding feature on another part; for inspection planners, a feature may represent a pattern of
measurement points. The application domain that has received most of the attention of feature recognition researchers
is the manufacturing process of machining. This paper focuses on machining feature recognition; henceforth in this
paper, the terms manufacturing feature and machining feature are used interchangeably.
Three dominant solid representations in use today are Constructive Solid Geometry (CSG), Boundary Representation (BRep) and Spatial Subdivision [1] [3]. BRep has emerged as the dominant solid representation scheme for
most major CAD/CAM systems, and also for the input to feature recognition algorithms. A BRep, unlike other
representations such as CSG, uniquely denes the entities, e.g. faces/edges/vertices, of a solid [13], and so searching
for BRep entity patterns is more promising than searching for CSG patterns, etc. [14]
A machining feature has typically been dened in the following two ways:
1. as a surface feature, a collection of BRep faces that are to be created by a machining operation;
2. as a volumetric feature, representing volume swept by the cutting surfaces of a rotating cutting tool during
machining.
Figure 1-(b) shows examples of surface features. In early feature recognition work, machining features were often
represented only as surface features|this was primarily due to the limitations of the solid modeling systems at those
days. In recent research, it has become increasingly evident that volumetric features (often augmented with surface
features) provide a more comprehensive representation of the actual machining operations than surface features. In
particular, Section 3.1 will demonstrate an example of deciencies in surface representation of a feature.
Figure 2 shows abstractions for machine tool cutters and volumetric machining features [15]. A hole is typically
generated by a vertical sweep of a drilling cutter with a conical end. A hole feature is then the volume swept by
such a drilling cutter, as shown in Figure 2-(a). Unlike holes, slot and pocket features are made by milling cutters.
A slot is usually machined by a single linear sweep of a cylindrical end-milling cutter. A slot feature is the volume
swept by the cutter motion, i.e. an elongated parallelepiped with rounded ends, as shown in Figure 2-(b). A pocket
is machined by a series of cuts, for example, with an end milling cutter, as depicted in Figure 2-(c). The pocket
feature is then represented by a swept volume of an arbitrarily-shaped planar prole (oor) along a vector. If we
3
pocket
hole
four slots
pocket
pocket
(a) a part shown from two viewpoints
hole
(b) recognized features
Figure 3: A part and its decomposition into features.
follow these denitions, the example part shown in Figure 1-(a) may have three volumetric machining features shown
in Figure 1-(c). Figure 3 shows an industrial part and its decomposition into 9 features, obtained from [15]. In this
gure, recognized pockets have convex corners, unlike the pocket dened in Figure 2-(c). Section 6.4 explains the
manufacturing motivations for this.
2.2 Feature Classication and Standardization
There have been many eorts to classify machining features and devise feature hierarchies. Two of the most mathematically comprehensive approaches for dening machining features are those of Chang [16] and Vandenbrande and
Requicha [17]. Chang's feature denitions are based on the shape of the cutting tool and the cutting trajectory.
Vandenbrande and Requicha similarly classify volumetric machining features in terms of tool swept volumes.
In addition to academic eorts, there have been industrial studies aimed at creating practical yet mathematically
rigorous feature denitions. Some of the earliest were commissioned by CAM-I (Consortium for Advanced Manufacturing, International). CAM-I has produced numerous reports and studies of the technological issues relating
to features in the context of automated manufacturing, including those of Pratt and Wilson [18], the John Deere
Company [19], Shah et al. [20] and Allied Signal Aerospace [21].
The feature community has not yet reached agreement on a canonical set of features for any application, and it
is doubtful whether it is even worthwhile trying to achieve such a consensus. It is becoming clear that no closed
set of feature types will suce for any application area; there will always be some organization needing for its own
purposes to dene features lying outside the dened set. If it were possible to dene a closed set of feature classes
for an application, it would certainly encourage the development of new and improved algorithms for recognizing
those specic types of features [22]. However, opinion is now inclining towards the idea, not of a standardized set
of feature classes, but of a standardized means of dening feature classes. Several examples of feature denition
languages for this purpose have been proposed [23, 24, 25, 26, 27], and their use will provide much greater exibility
than is available from any rigidly dened but inextensible set of canonical feature classes.
Despite the remarks above, considerable attention has been devoted by the standards community to the denition
of canonical feature classes. The objective has been to achieve agreement on classes of features to enable integration
of CAD/CAM applications and data sharing among applications at the feature level.
STEP. STEP (STandard for the Exchange of Product model data) is the informal name of ISO 10303, a standard
developed by the International Organization for Standardization (ISO). STEP provides a standardized means for the
representation of product data for exchange between dierent CAD systems or sharing by dierent product life-cycle
application programs .
STEP models are dened in terms of schemas written in the EXPRESS information modeling language [28, 29].
4
Horizontal Pocket
Rotational Pocket
profile
surface tolerance
Vertical Pocket
Vee Groove
vee angle
Rectangular Groove
Standard Groove
width
offset
Groove
depth
bottom blend
Other Groove
profile
Round Groove
cross section
surface tolerance
depth
Circular Ramp
radius
angle
Ramp
Primary Volume
width
start depth
end depth
bottom
Straight Ramp
length
location
Edge Flat
depth
angle
Edge Cut
profile
end radius
MRSEV
Edge Round
radius
clearance
standoff
Hole
Rectangular Pocket
No Islands
radius
end
Linear Sweep
Pocket No Islands
depth
Other Pocket
No Islands
Pocket
profile
bottom blend
Thread
Secondary Volume
hole
size
diameter
pitch
depth
Rectangular Pocket
With Islands
Pocket With Islands
islands
Other Pocket
With Islands
Figure 4: The MRSEV feature taxonomy from Kramer [33].
An EXPRESS information model denes the semantics of an associated physical le structure that can be used to
transmit specications of individual products [30]. The possibility also exists for applications to share STEP models
in a database, though the STEP Data Access Interface enabling this has not yet been ratied as part of the standard.
From 1986 until 1992 a generic features resource was under development for STEP|this was to be Part 48 of the
standard [31]. It was intended to represent and characterize a wide variety of form features, enabling the capture of a
signicant range of shapes of industrial interest. However, this project was canceled in 1994 on retirement of its team
leader, because no replacement could be found. Part 48 has left a legacy in certain other parts of the STEP standard
currently under development, but there is currently no integrated features resource to provide a common framework
for these ongoing eorts, which is not a satisfactory situation. Emerging developments in the STEP community may
lead to work on a standardized feature denition language in the near future, and it is hoped that this will provide
a more than adequate replacement for the former Part 48.
STEP Application Protocols (AP) 214 and 224 are two of the STEP parts that build on the generic representation
mechanisms of the former Part 48. AP224 [32] is particularly relevant in the present context since it denes machining
features as classes of shapes representing volumes to be removed from a part by machining. However, its scope is
strictly limited since it provides no means for the modeling of general user-dened or special purpose features.
Kramer [33, 34] has developed a STEP-based feature library of Material Removal Shape Element Volumes (MRSEVs). This denes a hierarchy of volumetric machining feature classes, each characterized in terms of required
and optional attributes. MRSEVs are dened using the EXPRESS modeling language and STEP Part 48 form features. MRSEV instances have been used for applications such as process planning and NC-program generation [35].
Kramer's MRSEV types include linear swept features, edge-cut features, ramps and rotational pockets. Figure 4 is
an illustration of the feature subclasses in the MRSEV hierarchy.
5
solid modeling
operations
feature
recognition
solid model
manufacturing
feature model
design
feature model
feature-based
design
feature model
conversion
Figure 5: Feature Model Generation.
2.3 Feature Model Generation
A unique representation of a part in terms of features is often called a feature model or an interpretation of
the part [36, 37]. There are essentially two ways of creating a feature model: feature recognition and feature-based
design, as depicted in Figure 5. When a part is designed through the customary solid modeling operations, feature
recognition is required to generate machining features. In contrast, feature-based design allows the designer to use
features, called design features, as building blocks to create a part.
In some feature-based design systems, design features correspond directly to specic manufacturing operations.
For example, there are several prototype systems based on the design-by-machining-features approach, including
Quick Turnaround Cell (QTC) [16], NEXT-Cut [38] and the University of California at Berkeley's Cybercut [39].
In the commercial world, Structural Dynamics Research Corporation's I-DEAS Masters' Seriesc , Parametric Technologies' Pro/ENGINEERc and Bentley Systems' MicroStation Modelerc (Figure 6) CAD packages are heavily
dependent on the idea of designing with parametric machining features such as holes, swept proles, etc.
When designers model the design directly in terms of machining features, the need to perform feature recognition
might be eliminated|the nal design includes a machining feature model. This benet aside, there are several wellknown limitations. First of all, in the majority of cases, the features that are most natural for use during the design
phase are not machining features. For example, a designer working through a conceptual design and attempting
to create detailed geometry does not think in terms of machining operations. Rather, designer's features are often
better dened in terms of function and shape.
An example of discrepancy between a design feature model and a machining feature model is shown in Figure 7.
This part may be designed by adding a rib to the base block as illustrated in the design feature model of (b). However,
the machining feature model for the part may be dened by subtracting two steps (pockets) from the stock, which is
a block suciently large to enclose the part, as shown in (c). One should not force designers to create the machining
feature model shown in (c). Instead, one should convert whatever is created by the designers into a machining feature
model. The process of converting a feature model in a domain (e.g. a design feature model) into a feature model in
another domain (e.g. a machining feature model) is called feature model conversion, as depicted in Figure 5.
The second problem in the design-by-machining-features approach is related to the existence of multiple feature
models. As described in Section 6.3, there are often multiple ways of interpreting a part in terms of machining
features. The design-by-machining-features approach heavily assumes that the designers are going to specify a part
using a set of features which is best for machining. This is often an unrealistic possibility in domains such as
conventional machining in which simple parts may have many feature models.
The most exible design approach is to allow the designer to use whatever techniques are convenient for describing
a part. A feature-based design system may provide a rich library of feature primitives, a powerful ability to modify
and combine these primitives, and some capability for user-dened features [40]. However, designers may not want
to design a part in terms of features only. Most commercial CAD systems with feature-based design capability
provide an environment where both feature operations and solid modeling operations can be used in parallel during
the design of a part. In this sense, Figure 5 does not cover all possible design scenarios.
Current Consensus. The evolving consensus is that
1. design and machining features are often distinct,
2. design should be done in terms of design features or solid modeling operations, and
6
Figure 6: An example of a commercial feature-based CAD system: MicroStation Modelerc from Bentley Systems
Incorporated. Note the feature pallette at the lower right lists a number of parameters for holes. The part pictured
has several design features: counter-sunk and counter-bore holes as well as two bosses.
7
(a) part
rib
+*
=
base block
(b) design feature model
-*
=
step1
-*
step2
stock
(c) machining feature model
Figure 7: A part with dierent feature models.
3. the part model (which may be a design feature model, a solid model, or a combination of both) should be
converted into a machining feature model.
When the designer creates a part through both feature modeling and solid modeling, feature recognition is indispensable for generating a machining feature model. Even when a part is designed exclusively in terms of features
and therefore feature model conversion is to be performed, geometric reasoning is required when direct mapping
from design features to machining features is not possible. Such a geometric reasoning largely coincides with feature
recognition. The boundary between feature recognition and feature model conversion is vague [41], and the algorithms for feature recognition play a key role in feature model conversion.
The following sections critically survey three dominant approaches in feature recognition for machining applications: graph-based algorithms, volumetric decomposition, and hint-based reasoning. Historically, the volumetric
decomposition approach has its origin in early 1980s and therefore could be taken as the oldest. However, instead of
historical order, the survey starts from the graph-based algorithms. They are easy to understand, and demonstrate
the critical problems in feature recognition. We then present volumetric decomposition and hint-based reasoning,
and discuss their eorts to resolve the problems. To this purpose, Every section is organized not in the same format,
but in a distinct format appropriate for discussing each approach.
For each approach, both descriptions of the geometric algorithms and discussions of their capabilities and limitations are presented in detail. We will mainly use \toy examples" that can best illustrate the methods being described,
but at the end of discussion we will demonstrate the recognition capability of each approach with a complex example.
It is important to note that virtually all of existing feature recognition algorithms assume 3-axis milling machine,
and are restricted to recognition of 2.5D features.
3 Graph-based Approaches
3.1 Pattern Matching in Graphs
8
f3
f5
f9
f6
f7
f2
f8
f7
f6
f10
f8
f9
f10
W1
f4
f3
f5
f4
W2
W1,W2: wall faces
B: bottom face
f2
f1
B
concave edge
convex edge
f1
(b) slot template
(a) a part and its graph representation
f1
f2
f3
(c) missing pattern
(drawn in 2D)
(d) invalid slot
Figure 8: Graph Pattern Matching.
The graph pattern matching approach was rst formalized by Joshi and Chang [42]. Techniques based on the
graph matching algorithms have been used in many subsequent research eorts and recently incorporated into
commercial process planning software, such as Tecnomatix's PART [43, 44]. In this approach, the BRep (boundary
representation) of the part is translated into a graph where, for example, its nodes represent faces and its arcs
represent edges. An example is shown in Figure 8-(a). Additional information may be incorporated into the graph,
e.g. edge-convexity, face-orientation, etc. Primitive features or feature templates are also represented by graphs
(Figure 8-(b)). With this representation, the part graph is searched for the subgraphs that match the feature
templates. In Figure 8-(a), (f7, f8, f9) will be matched with the slot template in Figure 8-(b).
Analysis of Technique. Graph matching procedure has generally been implemented using some form of subgraph
isomorphism algorithm, which is a well-known NP-hard problem with worst-case exponential time complexity [45].
Graph pattern matching approaches have often been criticized for this computational shortcoming. In reality, however, this criticism may be unwarranted. In practical situations, the graphs representing feature templates are of
limited size. In other words, there is xed upper bound on the size of the template graphs representing the features.
In this situation, the input size is small enough that asymptotic worst-case complexity analysis is not appropriate.
For example, the slot template in Figure 8-(b) has only three nodes and two arcs. The features dened in Trika and
Kashyap's graph pattern matching algorithm have at most six face nodes [46].
Algorithms for computing subgraph isomorphism are of polynomial time complexity when the size of the graph to
be matched is bounded by a constant. Suppose that 1 is the part graph and 2 is the feature template graph where
the number of nodes in 1 is and the number of nodes in 2 is , where is a constant. We can enumerate all of
the subgraphs of 1 with size . Brute-force enumeration of the subgraphs requires n k operations. Its complexity
is ( k ), which is polynomial because is a constant. Now, we can apply the (sub)graph isomorphism algorithm
between 2 and a subgraph extracted from 1 . Its complexity is (2k ) = (1) because is a constant. Therefore,
the combined complexity is ( k ), which is polynomial. Note that this is a naive analysis for a brute-force algorithm.
In implementing graph pattern matching for feature recognition, we can achieve much higher eciency.
G
G
G
G
n
G
k
k
k
O n
C
k
G
G
O
O
k
O n
Feature Intersections. A main problem with the graph pattern matching approach is that it makes it dicult
to recognize intersecting features. While quite successful in recognizing isolated features, this approach reveals many
diculties when the face patterns of the part are altered due to feature intersections. For example, from the part
in Figure 8-(c), we can expect a slot with walls f1 and f3 and oor f2. However, the arc between f1 and f2 does not
9
cutter axis
direction
pocket1
(a) stock
(b) part
(c) delta volume
pocket2
(d) interpretation 1
pocket3
(e) interpretation 2
Figure 9: Delta Volume and Multiple Interpretations.
exist in the graph representation of the part, and therefore pattern matching will fail. The possible types of feature
intersections that may arise in a complex part are unlimited. As we cannot enumerate all possibilities, naive pattern
matching must be weak in recognizing intersecting features.
The ability to handle intersecting features has been an informal benchmark for feature recognition systems and
therefore numerous research eorts have been made focusing on this issue. A novel solution to this problem was
proposed by Marefat and Kashyap [47]. They observed that the arcs between (a feature's) face nodes in the part
graph may be missing when features intersect. They proposed to restore the missing arcs into the part graph.
They collected all possible candidates for missing arcs, ranked the candidates based on part geometry information
using the Dempster-Shafer theory [48], and restored highly ranked arcs. For example, in Figure 8-(c), the missing arc
connecting f1 and f2 is restored, and therefore a slot with walls f1 and f3 and oor f2 can now be recognized. However,
the exact set of missing arcs is not always guaranteed to be identied. When we add fewer arcs than necessary, there
are unrecognized features. When we add extraneous arcs, we may introduce bogus features. Marefat [49] [50] [51]
extended this approach using Bayesian networks [52], but could not completely overcome the problem.
Manufacturability of Features. An additional problem with the graph pattern matching approaches is that it is
dicult to ensure the machinability of recognized features. This is especially problematic when features are dened
exclusively as surface features, i.e. collections of faces. As shown in Figure 8-(d), even though the three faces in
bold match the face template of a slot, the recognized feature is not machinable as a slot because it is not accessible
from the top. The non-volumetric notion of feature may cause fatal problems in machining applications. The graph
pattern matching approach has also diculties in handling variational feature instances of a class. For example, the
pocket dened in Marefat and Kashyap's approach [47] has four wall faces and a bottom face. However, a pocket,
in general, may have an arbitrary number of wall faces|making it dicult for graph pattern matching methods to
recognize wide varieties of pocket instances.
Along the line of Marefat and Kashyap's work [47], Trika and Kashyap [46] devised algorithms that can compute the exact set of missing arcs. However, their algorithms place strong restrictions on input parts and feature
intersections: the part must be polyhedral (only with planar faces) and iso-oriented (with no inclined faces). As
a consequence, every recognized feature is cuboidal, generated by associating a volume with the recognized surface
feature. This work is interesting from the viewpoint of pure pattern recognition. However, it does not consider
manufacturing information that accounts for feature accessibility, selection of cutting tools, etc. Consequently, the
recognized features can hardly be taken as machining features, but are cuboidal shapes which might be good for
shape analysis.
Discussion. An important contribution of Trika and Kashyap [46] is related to the issue of completeness. The
input for feature recognizers is typically a solid model for the desired part, plus a solid model of the stock (raw
material). The material to be removed by machining, called the delta volume, is computed by subtracting the part
from the stock, as depicted in Figure 9. Trika and Kashyap called a feature recognizer complete if, for every part, the
delta volume is contained in the union of all volumetric features generated by the feature recognizer. For example,
if a feature recognizer generates two features shown in Figure 9-(d), it is complete. If a feature recognizer is not
complete, there may exist unrecognized regions of the delta volume and therefore the specied part may not be
obtained even after all feature removal operations are done. Trika and Kashyap [46] proved that their algorithm is
complete. Regli et al. [36, 37] were the rst to consider completeness of feature recognition in the machining domain.
10
f3
d
f4
f8
f12
f5
f7
f11
f9
• feat1 (protrusion): f1-f2-f3-f4
f10
• feat2 (depression): f5-f6-f7-f8
f6
f1
• feat3 (protrusion): f9-f10-f11-f12
f2
(a) part
(b) recognized D/P features
(c) pocket
Figure 10: D/P Features.
cutter axis
direction
for pocket
cutter axis
direction
for hole
d
=
stock
part
(a) non-single-sided part
(b) multi-sided part
Figure 11: Single-sided and multi-sided.
3.2 Graph Search
Analysis of Technique. Corney, in his dissertation [53], proposed a graph search algorithm for D/P (Depres-
sion/Protrusion) feature recognition. In Corney's work, input is limited to \single-sided" machined parts { parts
which can be completely machined with one machining setup. Figure 10-(a) shows a single-sided part, which can be
machined from the cutter axis direction . The BRep of the part is represented as a graph, where all face nodes except
those which have normals perpendicular to are deleted. With some guidelines, the graph is searched for face-cycles.
From the part in Figure 10-(a), three face-cycles are detected as shown in Figure 10-(b). These face-cycles may be
called D/P features.
The D/P features do not directly translate to the machining domain because they contain protrusions (P features).
For example, in Figure 10, the desirable machining feature model would be a pocket shown in (c), not the D/P features
shown in (b). 2 In order to generate such volumetric machining features, the proles of the face-cycles are swept
along the cutter axis direction , and then combined.
Sormaz et al. [54] extended Corney's algorithm along several directions. First, it is intended that the human user
chooses a cutter axis direction . Second, their recognition algorithm checks if the part has exactly one planar face
whose outward normal is aligned with |if so, the part is taken as single-sided. The part shown in Figure 10-(a)
is single-sided for the direction because its bottom face (not visible in the gure) is the only face with normal .
Their algorithm proceeds for single-sided parts only. It is interesting to note that there do exist parts which can
be completely machined with a single cutter axis direction but has multiple planar faces with an outward normal
. Figure 11-(a) shows an example: the stock has a non-block shape and therefore the part has three planar faces
with a normal . In order to take this part as single-sided, human supervision seems to be required not only for
determining a cutter axis direction but also for verifying that a part is single-sided, i.e. machinable, with the cutter
axis direction. Human supervision in the process of feature recognition is also advocated in the systems discussed in
d
d
d
d
d
d
d
d
d
d
2 The pocket shown in Figure 10-(c) has convex corners, which are not machinable by cylindrical milling cutters. Suppose that,
however, some tolerances are assigned to the pocket's convex corners and therefore the pocket is machinable by cylindrical cutters.
11
Figure 12: Graph Search Algorithm on a Benchmark Part.
Section 5.
Discussion. When the above algorithms are extended to multi-sided parts which require multiple cutter axis
directions, a challenge will occur. Consider the part shown in Figure 11-(b) where two adjacent walls of a pocket
become disconnected due to an intersecting hole and the cutter axis direction for the hole is not parallel to that for
the pocket. Then, the graph search algorithm based on face connectedness has diculties in nding the face-cycle
(walls) for the pocket.
Recently there have been a number of eorts to develop a suite of benchmarks for feature recognition systems [55]. Many of these benchmark parts are available through the National Design Repository [56, 57] at the
National Institute of Standards and Technology (NIST) (http://www.parts.nist.gov/parts) and Drexel University (http://repos.mcs.drexel.edu). Some test results on benchmark parts for Corney's algorithm are given
in [58]. Shown in Figure 12 is one of them. Given the approach direction d, Corney's system recognizes 10 features.
In the next two sections for volumetric decomposition approaches and hint-based reasoning, the same part will be
used in order to give the readers chances to compare the recognition capabilities of the three approaches.
12
P
P
-*
-*
CHD(P)
+*
-*
P1 = CH(P)
P1 = CH(P)
-*
P2
original
faces
P3
+*
-*
=
part
slot
stock
-*
=
rib
part
stock
(a) form feature model
-*
slot1
-*
slot2
slot3
(b) machining feature model
Figure 13: Convex Hull Decomposition.
4 Volumetric Decomposition Approaches
In the previous section, we explained the graph based algorithms and discussed several important issues in feature
recognition. The most critical issue is how to recognize intersecting features. In this section, we discuss two algorithms, which aim at handling intersecting features and show similar characteristics. They decompose the input
object into a set of intermediate volumes and then manipulate the volumes to produce features.
4.1 Convex Hull Decomposition
Convex hull decomposition is the oldest approach in feature recognition. It was originally evaluated in the seminal
feature recognition work of Kyprianou in 1980 [9], but he rejected this approach as being incapable of returning the
features of interest for Group Technology coding (the application domain in his research). This approach was then
formalized by Woo [59] and investigated in greater detail by Kim. Kim's approach consists of multiple steps:
1. Alternating Sum of Volumes with Partitioning (ASVP) decomposition,
2. Recognition/Generation of form features,
3. Generation of primitive machining features, and
4. Machining feature aggregation.
At each step, a decomposition of the part is input from the previous step, some geometric operations are applied to
the input decomposition and a new decomposition is generated and output to the next step.
ASVP Decomposition. The convex hull ( ) of a polyhedron is the smallest convex point set containing
. The convex hull dierence
( ) is the regularized set dierence (, ) between ( ) and . Conversely,
can be expressed as ( ) ,
( ). If is convex,
( ) is empty and the decomposition terminates.
CH P
P
P
P
CHD P
CH P
CHD P
CH P
P
Otherwise, the decomposition is applied recursively to
CHD P
P
( ). Figure 13-(a) shows the convex hull decomposition
CHD P
13
-*
-*
P1
P2
-*
P3
original
faces
Figure 14: Unrecognized ASVP component.
of an example part. Woo [59] observed the pattern of alternating volume contributions and called this an Alternating
Sum of Volumes (ASV) decomposition. However, unlike the example, ASV decomposition may not necessarily
converge. Kim proposed ASV with Partitioning (ASVP) decomposition and proved its convergence [60].
Recognition/Generation of Form Features. Kim [61] proposed to use the ASVP decomposition to generate
form features. In his approach, a form feature, also called a shape feature, refers to a shape macro constructed for
convenience, with little connection with function or manufacturing. The faces of the given part are marked as original
in the ASVP components. An ASVP component is \recognized" as a form feature if it contains at least 2 original
faces and if the original faces are transitively connected. Recognized components are further classied on the basis
of accessibility. For example, as highlighted in Figure 13-(a), the ASVP component P2 has 3 original faces which are
transitively connected. It is recognized as a form feature and classied as a slot. Similarly, P3 is recognized as a rib
(boss in Kim's terminology). An ASVP decomposition may have unrecognized components, specically those with at
most one original face or with separated original faces. Kim [61] proposed to combine them with other components,
and provided two combination methods.
One of the distinguishing characteristics of the convex hull decomposition approach is multiple-step reasoning:
ASVP decomposition and form feature recognition/generation. ASVP decomposition generates a set of volumes
(ASVP components) to which feature recognition/generation is applied ex post facto. The ASVP decomposition
is completely separated from the form feature recognition/generation, and is not guided by the goal of recognizing
specic types of features. In order to recognize form features from the ASVP decomposition, Kim [61] dened
conditions in terms of original faces and introduced two combination methods. However, no justication or proof is
given for them. Some volumetric components may not be recognized as form features even after the combination
methods are applied. The component P2 in Figure 14 is an example.
Generation of Primitive Machining Features. Waco and Kim [62] [63] [64] proposed to convert the form feature
model into a machining feature model. However, as discussed above, the form feature model generation algorithm
reported in [61] does not necessarily produce a complete decomposition into \recognized" form features, and therefore
an ASVP decomposition may have to be used instead. A machining feature decomposition is generated by rewriting
14
the Boolean expression of every positive form feature or ASVP component using the halfspaces determined by its
original faces. Note that machining features are all negative or subtractive in the sense that they are subtracted from
the workpiece. For example, P3 in Figure 13-(a) is a positive form feature. From its original faces, three halfspaces
are created. The negative counterpart of each halfspace is intersected with P2 to generate a new negative component.
We can obtain three new negative features as shown in Figure 13-(b), and all of them are classied as slots.
Aggregation of Machining Features. The new negative components are necessarily convex, and the algorithm
often terminates with a set of awkwardly shaped negative features. Waco and Kim [64] proposed to \aggregate" the
primitive negative features, and gave some conditions for aggregating primitive components. However, as discussed
in [15], the conditions for feature aggregation do not guarantee success, and often lead to features which do not
belong to Kim's feature class given in [61].
Discussion. The convex hull decomposition approach is very interesting from the viewpoint of computational
geometry. However, its main problem is that, as discussed above in detail, the operations in each step do not
guarantee success and may end up with an undesirable machining feature model. Another problem with this approach
is that it is inherently based around a polyhedral representation of the part. To work in practical domains of curved
parts, one has to remove curves, blends, llets, etc., reducing the part to a polyhedral approximation; when nished,
the results have to be converted back. Martino and Kim [65] proposed feature recognition algorithms for parts with
cylindrical surfaces, but they can handle limited cases of feature intersection.
Test results for Kim's algorithm on a variety of benchmark parts are given in [66]. One of them is shown in
Figure 15. It is the same part (shown in Figure 12) used for demonstrating the recognition capability of Corney's
graph-based system. Note that the graph-based algorithms and the volumetric decomposition approach produced
dierent sets of features. It is mainly because they have dierent denitions for features. Recall that the feature
community has no agreement on a canonical set of features.
4.2 Cell-based Decomposition
The cell decomposition approach for feature recognition was originally explored in 1983 by a research group from
Allied Signal Aerospace (at that time Bendix) in Kansas City [67]. The objective of this approach, called the Phoenix
Method, was to use volume decomposition to facilitate BRep to CSG conversion and to generate machining feature
information. 3 However, they abandoned this approach due to a number of computational and representational
limitations. There are several researchers that have taken up the study of cell decomposition. Sakurai [70, 71] has
been a leading advocate for the revival of this type of technique, and several other research groups have adopted
similar methodologies [72, 73, 74, 75, 76].
The cell-based decomposition approach for feature recognition essentially consists of
1. delta volume decomposition into cells,
2. cell composition, and
3. feature classication.
In the rst step, the delta volume is decomposed into minimal cells by extending and intersecting all the surfaces
or halfspaces of the delta volume. If we are given the part shown in Figure 16-(a) and its stock corresponds to
its convex hull, the delta volume is decomposed into the cells shown in (b). The union of all cells is equal to the
delta volume, and the regularized intersection of any pair of cells is null. In the second step, a subset of the cells
are combined (composed) to generate a volume to be removed by a machining operation, and in the last step the
volume is classied as a machining feature. In the cell-based decomposition approach, the dierences of the proposed
algorithms mostly lie in the methods for combining cells into features.
3 Feature recognition can be considered as a conversion process from a BRep into a special CSG, called Destructive Solid Geometry
(DSG) [68] where all Boolean operations at the internal nodes are subtractions only. General BRep-to-CSG conversion has been largely
an open research issue despite some promising reports such as [69].
15
Figure 15: Convex Hull Decomposition on a Benchmark Part.
16
(a) a part
(b) cell-decomposition
(top view)
(c) a feature set
Figure 16: Cell Decomposition/Composition.
Figure 17: Maximal Volume Composition.
Analysis of Technique. The main problem of this approach is the global eect of local geometry: a machining
feature usually leaves its traces in a localized area of the part. However, the cell decomposition step extends globally
the surfaces or halfspaces associated with the faces of the delta volume and quite often generates a huge number of
cells as illustrated in Figure 16. The diculty in the cell-based decomposition approach is how to combine such cells
and produce suitable features.
Given cells, all possible combinations of cells constitute the power set of the set of cells. Sakurai and Chin [71]
proposed to generate all possible features. Even though some heuristics are used to prune unpromising compositions,
the composition algorithm cannot avoid exponential time complexity. This is a serious problem because the number
of initial cells often is large. Coles et al. [73] proposed to compose the cells into convex volumes only, but their
approach is also subject to combinatorial explosion. Shah et al. [72] proposed a tractable composition algorithm
which does not allow two features to share any cell. Starting from a cell, neighboring cells are combined one at
a time such that the intermediate volume remains convex. When no more combination is possible, the volume is
deleted from the set of cells. By selecting a new cell, the same procedure is repeated. This composition algorithm
often leads to awkward decompositions of the delta volume, as shown in Figure 16-(c). 4 The composition algorithm
generates 14 features to decompose the delta volume which could be machined as one large pocket. The recognized
machining features would not provide a basis for a practical and ecient machining strategy.
Sakurai and Dave [76] made strenuous eorts to compose the cells into \maximal volumes." The composition
step starts from a cell and keeps adding cells adjacent to each other, but by contrast with the algorithm of Shah et
al. [72], the intermediate and nal volumes can be concave. Figure 17 shows the set of maximal volumes produced
from the part of Figure 16-(a). Each maximal volume is then classied into a machining feature through graph
pattern matching. Sakurai and Dave were successful to some extent in avoiding awkward machining feature models.
However, the resulting maximal volumes may often be \unnecessarily complex and awkward in shape," as pointed
out by [76].
n
n
4 The original algorithm proposed by Shah et al. [72] may leave large portions of the delta volume space unrecognized. Figure 16-(c)
shows the result produced by the algorithm slightly modied by the rst author.
17
cutter axis
direction
(a) stock
(b) part
(c) delta volume
(d) desirable feature model
Figure 18: Unclassied Maximal Volume.
Discussion. Like the convex hull decomposition approach, cell-based feature recognition is also based on multiple-
step reasoning: cell decomposition, cell composition and feature classication. Therefore, it shares similar problems
with the convex hull decomposition approach. In Sakurai and Dave's algorithm [76], a maximal volume may not
match with any predened feature type. Figure 18-(a), -(b) and -(c) show a stock, a part and the delta volume,
respectively. It is tricky how to decompose the delta volume, and one may need information beyond pure geometry,
e.g. manufacturing tools discussed in Section 6.4. A desirable decomposition might be the one shown in Figure 18(d). In this example, the delta volume happens to be a cell and therefore a maximal volume. From a manufacturing
viewpoint, it seems counter-intuitive to classify the maximal volume in Figure 18-(c) as a recognized volume (a single
feature); and there seems to be no method for converting the single cell into the decomposition in Figure 18-(d).
Sakurai and Dave [76] also provided basic rules to combine the maximal volumes into a more complex feature so
that the ve features in Figure 17 can be combined into a single feature. They are similar to the aggregation rule
proposed by Waco and Kim [64], and therefore share the common problem that success is not guaranteed.
Multiple-step reasoning is a common characteristic and drawback of the two approaches discussed in this section.
For example, the initial steps|ASVP decomposition (in the convex hull decomposition algorithm) and delta volume
decomposition into cells (in the cell-based decomposition algorithm)|are done independently of features and manufacturing process rationale. No robust method, justiable from a manufacturing point of view, has been developed
to manipulate the intermediate volumes created by these initial steps.
5 Hint-based Approaches
Vandenbrande and Requicha [17] [77] observed that searching for exact patterns of faces/edges/vertices is very likely
to fail because such patterns are altered when features intersect. In response to these diculties, they proposed
hint-based reasoning to deal with intersecting features. Hint-based reasoning algorithms were designed and implemented rst in OOFF (Object Oriented Feature Finder) [17] at USC, and recently in F-Rex [36] at the University
of Maryland, IF2 (Integrated Incremental Feature Finder) [78] at USC and the Feature-Based Machining Husk
(FBMach) System at Allied Signal Aerospace, Federal Systems Division [79]. This section discusses the hint-based
reasoning algorithms with IF2 example.
Vandenbrande and Requicha [17] dened the presence rule which asserts that a feature and its associated machining operation should leave a trace in the part boundary even when features intersect. Furthermore, the presence
rule denes the minimal indispensable portion of a feature's boundary which should be present in the part. Consider
a hole: unless it is completely removed by other intersecting features, its machining operation leaves at least a face
in the nal part, the cylindrical wall face. This provides a hint for the potential existence of a hole.
Hints may comprise nominal geometries, design features, tolerances, and other design attributes associated with
the CAD model. For example, a thread attribute may be taken as a hole hint. Most previous work focused on
nominal-geometry hints, which are often simply called traces and can be identied on the boundary of the part. It
should be noted, however, that hint-based algorithms can be extended to include hints based on other, non-geometric
varieties of manufacturing information such as design features, tolerances and design attributes. See [15] for such an
extension. (A trace may often mean a nominal-geometry hint only.) The basic components of a hint-based feature
recognizer have been described by Regli [80, 36]:
1. A set of feature types, M.
18
stock
part
(a) input stock and part
(b) proposed removal volume
all)
par
face
t fa
ce
(
part face
stock
face
ext
end
ed
w
all)
ext
end
ed
w
par
t fa
ce
(
=
stock
sto
faceck
(extepart face
nded
floor
)
(c) boundary analysis
(d) recognized slot
Figure 19: Slot Recognition in IF2 .
2. Each feature type in M has associated with it a nite set of hint types M1 M2
Mk .
3. For each feature type, , there is a geometric completion procedure PM () which starts from the hint instances,
performs extensive geometric reasoning and nally constructs feature instances of type .
M
h
;h
;:::h
M
M
Description of IF2. IF2 is a descendant of OOFF and can recognize holes, slots and pockets. Its recognition
algorithm may be illustrated with a slot example. In IF2 , a slot trace is dened to be the wall faces (side faces) of
the slot. In other words, a slot trace is generated from nominal geometry when a pair of parallel opposing planar
faces is encountered, which correspond to the slot walls. Given the part shown in Figure 19-(a), the lightly shaded
faces constitute a slot trace.
The geometric completion procedures of IF2 follow a generate-test-repair paradigm [81]. The generate step rst
nds the slot oor. Only the space between the wall faces is considered, and the part faces that are planar and
perpendicular to the wall faces are taken as oor candidates. In Figure 19-(a), we can nd several oor candidates
and the heavily shaded face is an example. Then, the portion of the delta volume between the walls and above the
oor, shown in Figure 19-(b), is proposed as a volume to be removed by a slot machining operation.
The test step checks the boundary of the proposed volume. The boundary is partitioned into `stock faces' which
originate from the stock and `part faces' which originate from the part. `Stock faces' are those to be `removed' by
feature machining operations, and `part faces' are those to be `created' by feature machining operations. For a slot,
the proposed removal volume is not machinable as a whole if its boundary contains any `part faces' besides the
walls and oor. This is because such `part faces' will be intruded, i.e. `removed,' by the parameterized slot feature
volume which completely covers the proposed removal volume. Note that `part faces' are those to be `created.' The
cylindrical face depicted in bold lines in Figure 19-(c) is such a `part face.'
If the test step determines that the volume proposed by the generate step is not machinable as a whole, the repair
step tries to instantiate a feature volume which is maximally extended but removes a subset of the proposed removal
volume such that the machining operation does not intrude into the `part face.' This is a geometric tting problem,
and in the example IF2 , nally produces a parameterized slot volume shown in Figure 19-(d).
Analysis of Technique. A problem for hint-based approaches results from there being more traces than there are
good features to recognize. A trace or hint is nothing but an implication for the possible existence of a feature, and
therefore a signicant number of traces may not lead to valid features. Even though the number of traces is bounded
by polynomial (e.g. ( 2 ) slot traces where is the number of planar faces of the delta volume), it is inecient
to perform expensive geometric reasoning on every trace. For example, (g1,g3) in Figure 20 is a slot trace, but it
does not evolve into a valid slot. On the other hand, several traces often lead to an identical volumetric feature. For
example, in Figure 20, ve slot traces, (f1,f2), (f3,f4), (f5,f6), (f7,f8) and (f9,f10), will lead to the same slot, the long
slot shown in (c).
IF2 tackles this problem by assigning every trace a heuristic strength. The assigned value is a combined measure
of
O n
n
19
f1
g2
f3
f2
f4
g1
(a) part
g3
f5
f7
f9
f6
f8
f10
(b) top view of the part
(c) desirable features: 5 slots
Figure 20: An example of a part with many redundant traces.
1. preference for such a feature (type) over alternative feature interpretations, and
2. belief that the trace will lead to a valid machining feature.
For example, in Figure 20, (g1,g2) is ranked stronger than (g1,g3) based on a heuristic that narrow slots are more
likely to occur than wide ones and the chances of having protrusions between the walls tend to be smaller when the
gap is narrow.
The ranked traces are stored in a priority queue and serve as the system's agenda. IF2 selects the strongest trace
from the priority queue and res a geometric completion procedure on it. If geometric completion fails to construct
a valid machining feature from the trace, the trace is discarded and the next highest-ranked trace is extracted. If
completion succeeds, two tasks are done before selecting the next highest-ranked trace: (1) priority queue updating
and (2) termination test.
The priority queue is updated to reect the new feature's inuence on other traces. For example, once a slot is
recognized from (f1,f2), the strengths of (f3,f4), (f5,f6), (f7,f8) and (f9,f10) are reduced such that they attract less
attention, as they would lead to redundant slots.
Initially, the material to be removed equals the delta volume. After updating the priority queue, IF2 updates
the material to be removed by subtracting the new feature volume from it, and checks for a null solid. This is called
termination test. If the result is null, the process stops because the delta volume is fully decomposed. Otherwise,
IF2 takes the new top-ranked trace and repeats the same process.
IF2 avoids unnecessary reasoning as much as possible by focusing on promising traces. IF2 also tries to produce
a desirable interpretation (machining feature model) by focusing on preferred traces. However, IF2 does not always
generate a desirable interpretation. Figure 9 shows an example of multiple interpretations: the part can be machined
in terms of two pockets, as shown in (d), or as a single complex pocket, as shown in (e). On the assumption that a
3-axis milling machine is used, the interpretation of a single pocket would be better because its cutter axis direction
implies a single setup. In contrast, the interpretation of two pockets requires two setups. The current implementation
of IF2 generates the interpretation of a single pocket, but success is not guaranteed for complex parts. (See [82] for
examples and more detailed discussions.) However, IF2 shows an eort for handling the problems of completeness and
multiple interpretations. Section 6.3 discusses in detail both the issue of multiple interpretations and the problems
of IF2 's method in addressing the issue.
The Feature-Based Machining Husk. The Feature-Based Machining Husk (FBMach) is a robust library of
machining features and feature recognition algorithms. FBMach uses three dierent approaches to dene surface
features: 1) automatic recognition, 2) interactive recognition and 3) manual identication. The automatic recognition
uses a procedural algorithm to search for feature hints and then creates feature instances using the hints without user
interaction. The interactive recognition allows the user to provide some hints for FBMach to use in generating the
20
slot3
slot1
slot2
hole1
hole2
slot4
(a) part
slot5
slot7
slot6
(b) recognized features
Figure 21: Hint-based Algorithm on a Benchmark Part.
feature instances. For example, the user may identify a pocket by selecting its bottom face. The manual identication
allows the user to create a feature instance by adding each face to the feature individually and dening each face's
role in the feature (side, bottom, top, etc.). FBMach implements a human-supervised reasoning approach, which has
also been explored by van Houten [44] along a dierent direction. Such a human-supervised reasoning may often be
quite useful for producing good feature models.
F-Rex and IMACS. F-Rex is the feature recognition component for the University of Maryland's IMACS system (Interactive Manufacturability Analysis and Critiquing System) [83, 84, 85, 80, 37, 86]. The goal of F-Rex was
to produce a formal methodology for developing trace-based feature recognition systems for manufacturing process
features. IMACS/F-Rex formally addressed many important issues in feature recognition: manufacturing process specic features, recognition of alternative features, multi-processor techniques, incorporation of manufacturing
resource constraints, etc. Section 6 discusses these issues in detail.
Discussion. Figure 21 shows the test result with IF2 on the same benchmark part used in the previous two sections.
Note again that the feature set is dierent from those produced by the graph-based algorithms and the volumetric
decomposition approach.
21
(a) starting cell
(b) a maximal convex volume
(c) another maximal convex volume
Figure 22: Multiple Interpretations in Cell Decomposition/Composition.
6 Open Research Issues
In the previous sections, we surveyed three distinct approaches for feature recognition. This section formalizes the
important issues discussed earlier and raises some new ones.
6.1 Which features to recognize?
A fundamental problem for feature recognition appears to be the lack of a systematic means of selecting the appropriate set of manufacturing feature instances. Without an a priori denition for which feature instances to recognize,
the criteria for selecting which instances to generate are typically ad hoc heuristics based on local and incomplete
information.
6.2 Recognition of Intersecting Features
The most critical issue in feature recognition has been said to be the capability of recognizing intersecting features. In
the previous sections, we surveyed three approaches focusing on this issue. Those approaches have made progresses
in dealing with intersecting features but also have their own deciencies.
Among the current approaches, the hint-based approach seems to have demonstrated most promise. This is not
surprising because a nominal-geometry hint is not an exact pattern of geometric entities and was introduced precisely
to resolve the problem of recognizing intersecting features. However, the above survey shows that the problem of
intersecting feature recognition is still the object of active research particularly because it is related with other
problems discussed in the following.
6.3 Handling Multiple Interpretations
A part can be represented by more than one interpretation, as illustrated in Figure 9. Multiple interpretations of a
part roughly correspond to dierent ways to machine the part and therefore provide downstream applications with
added exibility. For example, design analysis or manufacturing planning activities typically attempt to optimize
manufacturing cost or time, and therefore need to consider alternative interpretations.
Most previous feature recognition systems returned single interpretations. In a few cases, algorithms did produce
alternative interpretations, usually on an ad hoc basis. Early work on handling multiple interpretations include
feature relaxation [87], feature algebras [88], feature aggregation/growing [62]. More comprehensive works have been
reported recently. Han [82] classies them into two schools: one views an interpretation as a machining sequence and
the other views an interpretation as a feature cover.
Machining Sequence View. The machining sequence view focuses on partitioning a (subset of) delta volume into
disjoint features. It has been gaining favor especially in the cell-based approach: Shah et al. [72], Tseng and Joshi
[74], Sakurai and Dave [76], etc. Shah et al. [72] proposed an exhaustive method for generating all interpretations
and sending them to a CAPP system for evaluation. Their composition algorithm discussed in Section 4.2 generates
features and multiple interpretations simultaneously. Dierent feature models are generated depending on which
cell is chosen as a starting point for cell composition and which direction is taken. Given a starting cell, we may
have alternative moving directions determined by its neighboring cells. In the example of Figure 22, we have two
22
e3
e1
(a) part
e2
(b) delta volume
(c) volumetrc elements
cutter axis
direction
pocket1 + pocket2
vs.
pocket3
pocket1
{e1, e2}
pocket2
pocket3
{e2, e3}
{e1, e2, e3}
(e) two feature covers
(d) features
Figure 23: Feature Cover.
principal directions: $ and l. Once a direction is chosen, not only the concatenated volume (feature) but also (more
importantly) a family of feature models is determined.
Suppose we start from the cell shown in Figure 22-(a). We can generate a feature along the $ direction or l
direction, as shown in Figure 22-(b) and -(c), respectively. The generated feature is deleted and the same procedure
is repeated by selecting a new cell. The new cell will also have alternative moving directions. Each direction will
determine a subfamily of feature models. There exists an exponential number of feature models for each (sub)family.
A combinatorial explosion will rise as the number of cells becomes larger or the number of neighboring cells becomes
larger.
In actuality, the cell composition algorithm of Shah et al. is a restricted simulation of machining operations. When
a cutter starts material removal at a point, it usually has multiple choices of cutting directions. After an operation for
machining a feature is executed along one direction, the cutter resumes material removal at an unremoved point|
where it may also have multiple choices for the next direction. The nature of machining sequence generation is
combinatorial.
Feature Cover View. The feature cover view has been gaining favor, particularly in the context of the hint-based
approaches: Vandenbrande [89], Gupta [90], Han [15], etc. In Gupta's dissertation [90], a feature model is viewed as
a volumetric set cover [91] of the delta volume. As depicted in Figure 23, we can view the delta volume as a set of
volumetric elements: = f 1 2 3 g. Each feature is a combination of adjacent volumetric elements and therefore
is a subset of , as shown in Figure 23-(d). We have a set of features, F = f
1
2
3g. Then, a
feature cover or an interpretation is a subset of F , whose members completely cover . In the gure, we have two
feature covers as shown in (e). To nd an optimal interpretation is a set covering problem. In a pure set covering
problem, optimal means a minimal number of subsets; in manufacturing applications, optimal may mean minimal
cost, etc.
Gupta proposed to compute an optimal feature model starting from a feature set, which is an output of Regli's
F-Rex feature recognizer and is formally dened in [36]. A feature set usually contains redundant features. In a
feature set F = f 1 , 2 , .. , n g, i is a redundant feature if F - f ig can completely decompose the delta volume. For
each feature from the set F , an eective removal volume is computed by intersecting the feature with the stock. For
example, if the feature occurs in a valid process plan, the eective removal volume represents the maximal volume
that might be machined in the single operation represented by the feature. Then, every set of eective removal
volumes forming a volumetric cover of the delta volume is computed.
For each computed cover, feature models are generated by replacing the eective removal volumes by corresponding features. When a feature model is generated, possible machining plans are also generated and evaluated. Any
feature model that is not expected to result in a plan better than existing ones is discarded by several pruning
heuristics based on properties of the manufacturing process being considered. Gupta used a set-covering algorithm
e ;e ;e
pocket ; pocket ; pocket
f
f
f
f
f
23
to search the space of possible volumetric covers of the delta volume. Set covering is a well-known NP-hard problem,
and the algorithm for computing an optimal interpretation is based on traditional AI search techniques. However,
because the algorithm is symbolic in nature, it removes much of the expensive geometric computation|making the
problem tractable in most practical situations [86].
Sub-optimal or Nearly Optimal Interpretations Whether or not one can compute the optimal interpretation
depends on the part. For relatively simple parts with a small number of features, one can compute the optimal
interpretation in a tractable time. (The complexities of a part are discussed in Section 6.6.) In contrast, for complex
parts, it might not always be feasible to nd the optimal interpretation, and the issue appears to be how to generate
a set of nearly optimal or satisfactory interpretations in a tractable time.
As discussed in Section 4.2, the cell composition algorithm of Sakurai and Dave [76] generates maximal volumes,
which may intersect with each other. They view multiple interpretations as all possible linear orders of the maximal
volumes that cover the delta volume. Obviously, the complexity of enumerating all sequences is ! where is the
number of maximal volumes. They concluded that generating all the interpretations is unrealistic and proposed to
generate an interpretation using some heuristics discussed in [92].
Han [15] considered an interpretation as a feature cover and proposed to produce a single satiscing [93]
interpretation, as discussed in Section 5. In his system IF2 , promising/preferred traces are given higher strengths
and tried rst. Consequently most preferred features constitute the resulting interpretation. However, the heuristics
are based on partial/local information, and therefore some traces may be paid less attention than they should be. As a
result, potentially useful interpretations could be eliminated from consideration. To tackle this problem, he developed
a mechanism for generating alternative interpretations on demand from a human user. Ideally, these demands should
come from the process planing system. The design and implementation of communication architecture between
feature recognizers and CAPP would be a challenging issue.
n
6.4 Incorporation of Manufacturing Knowledge
n
Feature recognition is considered as a front-end of process planning, but there has been a wall between feature
recognition and process planning. Much of the manufacturing knowledge such as manufacturing resources and
tooling, typically used in process planning, is rarely incorporated into feature recognition. A feature recognizer simply
outputs a set of features for a process planner, and there is little communication between them. As an example,
consider hole recognition. A hole is typically recognized from a cylindrical cavity of an input part. However, if there
is no drilling cutter with the same radius as the cylindrical cavity, the recognized feature might not be machined as
a hole. Instead, a pocket interpretation would be required. This example shows that the features produced by many
feature recognizers are in fact form features, not machining features, in the sense that their machinabilities are not
guaranteed.
As shown in Figure 2-(c), a pocket's prole should not have convex vertices because these cannot be milled by
physical cutters with nonzero diameters. However, Han [15] assumes that the milling cutter has an innitesimal
radius, and therefore a prole with a convex vertex is considered acceptable. The rationale for this assumption is
two-fold. First of all, we cannot determine the machinability of a pocket until the available tool set is known. For
example, the pocket shown in Figure 2-(c) will not be machinable if all available milling cutters' radii are greater
than the radius of the pocket's cylindrical face (pocket corner). Secondly, since a pocket usually has associated
tolerances, one may be able to machine a pocket with rounded corners whose radii are suciently small to satisfy
the specied tolerances. Only when the available tool set is known and tolerances are examined can we determine a
pocket's machinability. Without machinability guaranteed, recognized pockets would be form features, not machining
features.
These two examples show that feature recognition systems require information beyond geometry of the part to
be manufactured. Regli [36] introduced algorithms for accounting for tool assembly interference, tool shapes, and
tool radii during feature recognition. In order to produce most process-specic features, Jurrens et al. [94] proposed
to make feature recognition systems interact with a manufacturing resource agent, which would have access to the
available tool database. Based on the information provided by the agent, for example, the feature recognizer would
not recognize a cylindrical hole that cannot be drilled with the available tools. Along this direction, the research
group at Arizona State University led by Roberts and Henderson proposed a system which considered available
factory resources [95], and evaluated manufacturability based on tool accessibility [96]. Feature recognition based on
24
manufacturability has also been exploited by D. Gaines and C. Hayes at the University of Illinois [97] [98]. Their
feature recognition system is made adaptive to resources (including tools) and does early process planning tasks.
6.5 Application to Other Manufacturing Domains
To reason about CAD data across dierent manufacturing processes and throughout their life-cycle, we need dierent
sets of feature concepts and feature denitions. As solid modeling technology has advanced, increasingly realistic and
complex real world parts can be modeled. This advance in solid modeling has not produced a corresponding advance
in feature recognition technology to handle the more realistic parts and more varied manufacturing domains.
Many feature recognition eorts are still focusing on domains of polyhedral parts. Several other manufacturing
processes of critical importance include casting, forging, machining of free-formed surfaces, assembly [99, 100, 101],
and layered manufacturing. The features for these domains and the algorithms for recognizing them may prove vastly
dierent from those touched on above.
6.6 Scalability
The issue of speed has rarely been addressed in the context of feature recognition. As discussed earlier, some techniques are based on algorithms with worst-case exponential time complexity. Even if many existing feature recognizers
have polynomial time complexities, they often run minutes for simple parts with a few dozen surfaces. If the CAD
input for feature recognition systems include more complex realistic parts typically used in industry or the systems
consider more manufacturing issues such as tool accessibility, time can become a computational bottleneck. To alleviate the computational costs of geometric reasoning and exploit the growing power of networked and multiprocessor
computers, Regli et al.[80] developed multiprocessor feature recognition algorithms. In most cases, however, the issue
of speed and scalability has been ignored. More studies are required to bring computationally intensive geometric
reasoning algorithms into everyday use. Complexity parameters for contemporary feature recognition systems could
be enumerated as follows:
1. Complexity of features refers to the denition and structure of the feature classes and libraries handled in
current systems. Simple features would include structures such as cuboidal pockets, through holes, and processindependent form features with all of their topological attributes present in the part model. Complex features
would include pockets with curved walls (perhaps composed of spline curves), open-ended denitions (e.g.,
a pocket with an arbitrary number of walls), etc. As we discussed so far, however, most work on feature
recognition has focused on process-independent features of low complexity.
2. Number of features captures the ability of current algorithms to scale to identify features in quantity. Most
existing work has addressed problems with only a limited number of feature instances (for example, less than
20). Some work has attempted to go beyond this, usually by sacricing the complexity of the features.
3. Complexity of the parts expresses the level to which existing algorithms have addressed practical and realistic
example cases. In most cases, the algorithms have not considered tolerances and many other constraints, which
are very important in many practical problems such as design analysis, process planning, etc. By simplifying
the problems and the example parts used, many of the fundamental diculties of feature recognition have been
restricted away.
7 Conclusions
In this paper, we have presented an overview of three distinct approaches in feature recognition for machining
applications: graph-based algorithms, volumetric decomposition and hint-based reasoning. We have attempted to
show the state of the art in feature recognition: where these approaches have had some success and where some of the
issues for future work lie. In the machining domain, specic problems identied for which complete solutions have not
yet been found include recognizing intersecting features, handling multiple interpretations within a single domain,
controlling computational complexity, and associating manufacturing information with the recognized features.
The machining domain is just one of many mechanical engineering application areas now being addressed in
terms of features. Other potential feature-based application areas include nite element mesh generation, assembly
modeling and planning, component and assembly tolerancing, and computer-aided inspection. The concentration on
25
machining in this paper is because that (and its downstream activity of process planning for machining) is by far the
most widely studied manufacturing method. However, machining is in fact a comparatively little used manufacturing
process, and research in this eld was stimulated mainly by the requirements of the defense industries in previous
decades. Corresponding problems to all those discussed earlier will arise in all these areas. There is then also the
additional problem of handling multiple, but linked, feature models for several dierent applications relating to the
same part.
Many more parts are manufactured by processes such as sheet metal stamping, die casting and injection molding
than are made by machining. Rapid prototyping, solid freeform fabrication and layered manufacturing represent
other emerging areas of great potential importance. There has been some feature-based work relating to most of
these areas, but not very much. The eld is wide open for new and valuable contributions in all of these areas.
Methods are beginning to be dened for the feature-based design of castings and forgings, often used as rough
parts needing to be nished by machining. But, as we have seen, nearly all research on feature-based machining
assumes that the part is generated from rectangular stock material (aside from turned parts, which have not even
been touched upon here). Furthermore, most work assumes that the extreme faces of the part lie on the original
surfaces of the stock it is machined from. This is unrealistic in practical terms; characteristically, a at face will be
machined rst, and this will then be used as a datum for setting up the part so that the other features on it can be
machined accurately. Often, no region of the outer surface of the stock will remain on the nished part, and so the
research eorts described mostly take a highly idealized view of machining practice. Few of the methods discussed
take into account the use of tolerance information in the part model and its associated datums, which are routinely
used in industry, in addition to feature information, in determining acceptable machining plans. In fact feature-based
research needs to go beyond the production of parts from regular stock shapes to the machining of the castings and
forgings mentioned above, which often have highly irregular shapes.
In industrial practice, commercial CAD/CAM and modeling vendors such as Structural Dynamics Research
Corporation, Spatial Technologies, Bridgeport, Allied Signal Aerospace and Geometric Software Services Limited
have all begun to incorporate feature recognition technologies into commercial tools. We believe that these tools
represent the beginning of the rst generation of systems to deploy automated recognition technologies. These
tools and systems contain years of development eort but are still often found lacking in robustness, speed and
coverage|all open research areas noted in detail in this survey.
We recommend that the features research community to take a wider view of engineering activities in the product
life-cycle. Some of the topics mentioned in the last few paragraphs have perhaps been neglected because it was felt
that they made algorithm development more complicated. However, it may well be that the use of additional types
of information may in some ways simplify feature recognition and/or the determination of machining features from
design feature models. The hint-based methods perhaps give some indication of how this might happen, through their
potential use of not only part geometry, but also design features, tolerances and other process-related information in
the determination of machining features.
Acknowledgments. This work was supported in part by National Science Foundation (NSF) CAREER Award
CISE/IIS-9733545 and Grant ENG/DMI-9713718 to William Regli. Additional support was provided by the National
Institute of Standards and Technology (NIST) under Grant 60NANB7D0092.
ACIS .sat and STEP AP203 .stp format solid models for the example parts in this paper can be obtained through
the World Wide Web through the National Design, Planning, and Assembly Repository at URL http://repos.mcs.drexel.edu
Disclaimer. Certain software companies and commercial software systems are identied in this document. Such
identication does not imply recommendation or endorsement by NIST; nor does it imply that the products identied
are necessarily the best available for the purpose. Further, any opinions, ndings, and conclusions or recommendations
expressed in this material are those of the author(s) and do not necessarily reect the views of the National Science
Foundation or the other supporting government and corporate organizations.
References
[1] C. M. Homann and J. R. Rossignac. A Road Map To Solid Modeling. IEEE Transactions on Visualization
and Computer Graphics, 2(1):3{10, 1996.
26
[2] A. A. G. Requicha. Representation for Rigid Solids: Theory, Methods, and Systems. ACM Computing Surveys,
12(4):437{464, 1980.
[3] A. A. G. Requicha and J. R. Rossignac. Solid Modeling and Beyond. IEEE Computer Graphics and Applications, 12(5):31{44, 1992.
[4] A. A. G. Requicha and H. B. Voelcker. Solid Modeling: A Historical Summary and Contemporary Assessment.
IEEE Computer Graphics and Applications, 2(2):9{24, 1982.
[5] A. A. G. Requicha and H. B. Voelcker. Solid Modeling: Current Status and Research Directions. IEEE
Computer Graphics and Applications, 3(7):25{37, 1983.
[6] I. E. Sutherland. Sketchpad: A man-machine graphical communication system. In Proc. of Spring Joint
Computer Conference, pages 329{349, 1963.
[7] D. D. Bedworth, M. R. Henderson, and P. M. Wolfe. Computer-Integrated Design and Manufacturing. McGrawHill, 1991.
[8] J. J. Shah and Mantyla. Parametric and Feature-Based CAD/CAM. A Wiley-Interscience Publication, John
Wiley & Sons, Inc., New York, 1995.
[9] Lycourgos K. Kyprianou. Shape Classication in Computer Aided Design. PhD thesis, Christ College, University of Cambridge, Cambridge, United Kingdom, July 1980.
[10] J. J. Shah. Assessment of Features Technology. Computer Aided Design, 23(5):331{343, 1991.
[11] S. Subrahmanyam and M. Wozny. An Overview of Automatic Feature Recognition Techniques for ComputerAided Process Planning. Computers in Industry, 26(1):1{21, 1995.
[12] V. Allada and S. Anand. Feature-based Modelling Approaches for Integrated Manufacturing: State-of-the-Art
Survey and Future Research Directions. Int. J. Computer Integrated Manufacturing, 8(6):411{440, 1995.
[13] C. E. Silva. alternative denitions of faces in boundary representations of solid objects. Technical Report 36,
Production Automation Project, University of Rochester, 1981.
[14] A. A. G. Requicha and J. H. Vandenbrande. Automated Systems for Process Planning and Part Programming.
In AI: Implications for CIM, pages 301{326. IFS Publications, Kempston, U.K. and Springer-Verlag, New
York, 1988.
[15] J. Han. 3D Geometric Reasoning Algorithms for Feature Recognition. PhD thesis, Computer Science Department, University of Southern California (USC), 1996.
[16] Tien-Chien Chang. Expert Process Planning for Manufacturing. Addison-Wesley Publishing Co., Reading,
Massachusetts, 1990.
[17] J. H. Vandenbrande and A. A. G. Requicha. Spatial Reasoning for the Automatic Recognition of Machinable
Features in Solid Models. IEEE Trans. Pattern Analysis and Machine Intelligence, 15(12):1{17, 1993.
[18] M. J. Pratt and P. R. Wilson. Requirements for support of form features in a solid modeling system. Technical
Report R-85-ASPP-01, Computer Aided Manufacturing International, Arlington, TX, 1985.
[19] W. Buttereld, M. Green, D. Scott, and W. Stoker. Part features for process planning. Technical Report
R-86-PPP-01, Computer Aided Manufacturing|International, Arlington, TX, USA, November 1986.
[20] Jami Shah, Palat Sreevalsan, Mary Rogers, Rick Billo, and Abraham Mathew. Current status of features
technology. Technical Report R-88-GM-04.1, Computer Aided Manufacturing{International, Arlington, TX,
USA, November 1988.
[21] S. L. Brooks and M. L. Wolf. Overview of Allied Signal's XCUT system. In Jami Shah, Martti Mantyla, and
Dana Nau, editors, Advances in Feature Based Manufacturing, pages 399{422. Elsevier/North Holland, 1994.
27
[22] Satyandra K. Gupta, William C. Regli, and Dana S. Nau. Manufacturing feature instances: Which ones to
recognize? In Jaroslaw Rossignac, Joshua Turner, and George Allen, editors, Third Symposium on Solid
Modeling Foundations and CAD/CAM Applications, pages 141{152, New York, NY, USA, May 17-19 1995.
ACM SIGGRAPH and the IEEE Computer Society, ACM Press. Salt Lake City, Utah.
[23] X. Dong. Geometric Feature Extraction for Computer Aided Process Planning. PhD thesis, Rensselaer Design
Research Center, Rensselaer Polytechnic Institute, 1988. (RDRC Technical Report 88029).
[24] T. Laakko and M. Mantyla. A feature denition language for bridging solids and features. In J. Rossignac,
J. U. Turner, and G. Allen, editors, Second Symposium on Solid Modeling and Applications.
[25] R. A. Marin. A congurable feature recognition system. Master's thesis, University of Illinois at UrbanaChampaign, 1995.
[26] D. W. Rosen and J. R. Dixon. Languages for feature-based design and manufacturability evaluation. Int. J.
Systems Automation: Research and Applications, 2, 4, 353 { 373, 1992.
[27] F. J. A. M. van Houten. PART: A Computer Aided Process Planning System. PhD thesis, Laboratory of
Production Engineering, University of Twente, Enschede, The Netherlands, 1991.
[28] International Standards Organisation. Product Data Representation and Exchange, Part 11 { Description
methods: The EXPRESS language reference manual, 1994. (International Standard ISO 10303-11).
[29] D. A. Schenk and P. R. Wilson. Information Modeling: The EXPRESS Way. 1994.
[30] International Standards Organisation. Product Data Representation and Exchange, Part 11 { Implementation
methods: Clear text encoding of the exchange structure, 1994. (International Standard ISO 10303-21).
[31] Product data representation and exchange { Part 48: Integrated resources: Form features, January 1992. (ISO
TC184/SC4/WG3 N102, Working Draft. Work on this project is now terminated.).
[32] Len Slovensky. Mechanical product denition for process planning using form features. Technical Report
ISO/WD 10303-224, International Organization for Standardization, November 1994. Working draft.
[33] Thomas R. Kramer. A library of material removal shape element volumes (MRSEVs). Technical Report
NISTIR 4809, The National Institute of Standards and Technology, Gaithersburg, MD 20899, March 1992.
[34] Thomas R. Kramer. Issues regarding material removal shape element volumes (MRSEVs). Technical Report
NISTIR 4804, The National Institute of Standards and Technology, Gaithersburg, MD 20899, March 1992.
[35] Thomas R. Kramer. An express schema for machining plugged into ALPS4. Technical report, The National
Institute of Standards and Technology, Gaithersburg, MD 20899, January 1991.
[36] William C. Regli. Geometric Algorithms for Recognition of Features from Solid Models. PhD thesis, The
University of Maryland, College Park, MD, 1995.
[37] William C. Regli, Satyandra K. Gupta, and Dana S. Nau. Extracting alternative machining features: An
algorithmic approach. Research in Engineering Design, 7(3):173{192, 1995.
[38] M.R. Cutkosky and Jay M. Tenenbaum. Towards a framework for concurrent design. International Journal of
Systems Automation: Research and Applications, 1(3):239{261, 1992.
[39] C. Smith and P. Wright. Cybercut: A world wide web based design-to-fabrication tool. Journal of Manufacturing Systems, 15(6):432{442, 1996.
[40] J. R. Dixon, E. C. Libardi, and E. H. Nielsen. Unresolved Research Issues in Development of Design-withFeatures Systems. Geometric Modeling for Product Engineering, IFIP1990, pages 93{123, 1990.
[41] J. J. Shah, M. Mantyla, and D. S. Nau. Introduction to Feature Based Manufacturing. In J. J. Shah,
M. Mantyla, and D. S. Nau, editors, Advances in Feature Based Manufacturing, pages 1{11. Elsevier Science
B. V., Amsterdam, The Netherlands, 1994.
28
[42] S. Joshi and T. C. Chang. Graph based Heuristics for Recognition of Machined Features from a 3-D Solid
Model. Computer Aided Design, 20:58{66, 1988.
[43] Reinhold Geelink, Otto W. Salomons, Fjodor van Slooten, and Fred J. A. M. van Houten. Unied feature
denition for feature-based design and feature-based modeling. In A. A. Busnaina, editor, ASME Computers
in Engineering Conference, pages 517{534, New York, NY 10017, September 17-20, Boston, MA 1995. ASME.
[44] F. J. A. M. van Houten. PART: A Computer Aided Process Planning System. PhD thesis, University of Twente,
1991.
[45] Michael R. Garey and David S. Johnson. Computers and Intractability: A Guide to the Theory of NPCompleteness. W. H. Freeman and Company, New York, 1979.
[46] S. N. Trika and R. L. Kashyap. Geometric Reasoning for Extraction of Manufacturing Features in Iso-Oriented
Polyhedrons. IEEE Trans. Pattern Analysis and Machine Intelligence, 16(11):1087{1100, 1994.
[47] M. Marefat and R. L. Kashyap. Geometric Reasoning for Recognition of 3-D Object Features. IEEE Trans.
Pattern Analysis and Machine Intelligence, 12(10):949{965, 1990.
[48] G. Shafer. A Mathematical Theory of Evidence. Princeton University Press, Princeton, NJ, 1976.
[49] M. Marefat and Q. Ji. Extracting and Identifying Form Features: A Bayesian Approach. In Proc. IEEE Int'l
Conf. on Robotics and Automation, pages 1959{1964, 1994.
[50] Q. Ji, M. Marefat, and P. J. Lever. An Evidential Reasoning Approach for Recognizing Shape Features. In
Proc. 11th IEEE Conf. on AI for Applications, pages 162{169, 1995.
[51] Q. Ji and M. Marefat. Bayesian Approach for Extracting and Identifying Features. Computer Aided Design,
27(6):435{454, 1995.
[52] J. Pearl. Probabilistic Reasoning in Intelligent Systems. Morgan Kaufmann Publishers, 1988.
[53] J. R. Corney. Graph-based Feature Recognition. PhD thesis, Heriot-Watt University, 1993.
[54] N. Sormaz, D. E. R. Clark, J. R. Corney, and J. R. Tuttle. A Feature Recognition Algorithm for NC-machining.
In Proc. 5th IFIP Workshop, WG 5.2, 1996.
[55] J. Han, W. C. Regli, and D. Rosen. Special Panel Session for Feature Recognition. In Proc. ASME Computers
In Engineering Conference, pages 97{DETC:CIE{4423, 1997.
[56] W. C. Regli. Research Issues in Network-centric Computer Aided Design. In Proc. TeamCAD: CVU/NIST
Workshop on Collaborative Design, pages 3{10, 1997.
[57] William C. Regli and Daniel M. Gaines. An overview of the nist repository for design, process planning,
and assembly. International Journal of Computer Aided Design, 1998. To appear. Also available as NIST
Interagency Report #5982.
[58] G. Little, R. Tuttle, D. Clark, and J. Corney. The Heriot-Watt FeatureFinder: A Graph-based Approach to
Recognition. In Proc. ASME Computers In Engineering Conference, pages 97{DETC:CIE{4425, 1997.
[59] T. Woo. Feature Extraction by Volume Decomposition. In Proc. Conf. CAD/CAM Technology in Mechanical
Engineering, 1982.
[60] Y. Kim. Convex Decomposition and Solid Geometric Modeling. PhD thesis, Stanford University, 1990.
[61] Y. Kim. Recognition of Form Features using Convex Decomposition. Computer Aided Design, 24(9):461{476,
1992.
[62] D. Waco and Y. S. Kim. Geometric Reasoning for Machining Features using Convex Decomposition. In 2nd
ACM Solid Modeling Symposium, pages 323{331, 1993.
29
[63] D. Waco and Y. S. Kim. Considerations in Positive to Negative Conversion for Machining Features using
Convex Decomposition. In Proc. ASME Computers In Engineering Conference, pages 35{45, 1993.
[64] D. Waco and Y. S. Kim. Geometric Reasoning for Machining Features using Convex Decomposition. Computer
Aided Design, 26(6):477{489, 1994.
[65] S. Martino and Y. Kim. Cylindrical Features in Form Feature Recognition using Convex Decomposition. In
Proc. IFIP Conf. on Feature Modeling and Recognition in Advanced CAD/CAM Systems, 1994.
[66] E. Wang and Y. Kim. 1997 Status of the Form Feature Recognition Method using Convex Decomposition. In
Proc. ASME Computers In Engineering Conference, pages 97{DETC:CIE{4424, 1997.
[67] Noel C. Christensen, James D. Emory, and Maurice L. Smith. Phoenix method for automatic conversion
between geometric models. Allied Signal Incorporated, Kansas City, MO. US Patent 728367, 1983.
[68] F. Arbab. Requirements and Architecture of CAM oriented CAD systems for design and manufacture of
mechanical parts. PhD thesis, UCLA, 1982.
[69] V. Shapiro and D. Vossler. Construction and Optimization of CSG Representations. Computer Aided Design,
23(1):8{20, 1991.
[70] H. Sakurai and C. Chin. Dening and Recognizing Cavity and Protrusion by Volumes. In Proc. ASME
Computers In Engineering Conference, pages 59{65, 1993.
[71] H. Sakurai and C. Chin. Denition and Recognition of Volume Features for Process Planning. In J. J. Shah,
M. Mantyla, and D. S. Nau, editors, Advances in Feature Based Manufacturing, pages 65{80. Elsevier Science
B. V., Amsterdam, The Netherlands, 1994.
[72] J. J. Shah, Y. Shen, and A. Shirur. Determination of machining volumes from extensible sets of design features.
In J. J. Shah, M. Mantyla, and D. S. Nau, editors, Advances in Feature Based Manufacturing, pages 129{157.
Elsevier Science B. V., Amsterdam, The Netherlands, 1994.
[73] J. Coles, R. Crawford, and K. Wood. Form Feature Recognition using Base Volume Decomposition. In Proc.
ASME Design Automation Conference, pages 281{297, 1994.
[74] Y.-J. Tseng and S. B. Joshi. Recognizing Multiple Interpretations of Interacting Machining Features. Computer
Aided Design, 26(9):667{688, 1994.
[75] S. N. Trika and R. L. Kashyap. A Provably Correct Feature Extraction for Parts with Cylindrical and Planar
Surfaces. In Proc. Solid Modeling '95, pages 131{140, 1995.
[76] H. Sakurai and P. Dave. Volume Decomposition and Feature Recognition, Part II: Curved Objects. Computer
Aided Design, 28(6-7):519{537, 1996.
[77] J. H. Vandenbrande and A. A. G. Requicha. Geometric Computation for the Recognition of Spatially Interacting Machinable Features. In J. J. Shah, M. Mantyla, and D. S. Nau, editors, Advances in Feature Based
Manufacturing, pages 83{106. Elsevier Science B. V., Amsterdam, The Netherlands, 1994.
[78] J. Han and A. A. G. Requicha. Hint Generation and Completion for Feature Recognition. In Proc. International
Symposium on Automotive Technology and Automation (ISATA), pages 89{96, 1996.
[79] Steven L. Brooks and R. Bryan Greenway Jr. Using STEP to integrate design features with manufacturing
features. In A. A. Busnaina, editor, ASME Computers in Engineering Conference, pages 579{586, New York,
NY 10017, September 17-20, Boston, MA 1995. ASME.
[80] William C. Regli, Satyandra K. Gupta, and Dana S. Nau. Toward multiprocessor feature recognition. Computer
Aided Design, 29(1):37{51, 1997.
[81] R. Simmons. A Theory of Debugging Plans and Interpretations. In Proc. AAAI, pages 94{99, 1988.
30
[82] J. Han. On Multiple Interpretations. In 4th ACM SIGGRAPH Symposium on Solid Modeling and Applications,
pages 311{321, 1997.
[83] Dana S. Nau, William C. Regli, and Satyandra K. Gupta. AI planning versus manufacturing-operations planning: A case study. In Proceedings of the Fourteenth International Joint Conference on Articial Intelligence,
volume 2, pages 1670{1676, Montreal, August 1995.
[84] Diganta Das, Satyandra K. Gupta, and Dana S. Nau. Generating redesign suggestions to reduce setup cost: A
step towards automated redesign. Computer Aided Design, 1996.
[85] Satyandra K. Gupta and Dana S. Nau. A systematic approach for analyzing the manufacturability of machined
parts. Computer Aided Design, 27(5):343{342, 1995.
[86] Satyandra K. Gupta, William C. Regli, and Dana S. Nau. Imacs: A case study in real-world planning. IEEE
Expert and Intelligent Systems, 13(3):39{51, 1998.
[87] M. Mantyla, J. Opas, and J. Puhakka. Generative Process Planning of Prismatic Parts by Feature Relaxation.
In ASME Advances in Design Automation, pages 49{60, 1989.
[88] R. R. Karinthi and D. S. Nau. An Algebraic Approach to Feature Intersections. IEEE Trans. Pattern Analysis
and Machine Intelligence, 14(4):469{484, 1992.
[89] J. H. Vandenbrande. Automatic Recognition of Machinable Features in Solid Models. PhD thesis, Elec. Eng.
Dept., Univ. of Rochester, 1990.
[90] S. K. Gupta. Automated Manufacturability Analysis of Machined Parts. PhD thesis, University of Maryland,
1994.
[91] T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to Algorithms. McGraw-Hill, 1990.
[92] H. Sakurai. Volume Decomposition and Feature Recognition, Part I: Polyhedral Objects. Computer Aided
Design, 27(11):833{843, 1995.
[93] H. A. Simon. The Science of the Articial. The MIT Press, 1969.
[94] Kevin K. Jurrens, James E. Fowler, and Mary Elizabeth A. Algeo. Modeling of manufacturing resource
information: Requirements specication. Technical Report NISTIR 5707, National Institute of Standards and
Technology, Gaithersburg, MD, 20899, July 1995.
[95] C. Roberts, R. Stage, N. Hubele, M. Henderson, and E. Perez. A New Approach to Manufacturing Features
for Evaluation and Operational Planning. In Proc. 5th IFIP Workshop, WG 5.2, 1996.
[96] R. Stage, C. Roberts, and M. Henderson. A Framework for Representing and Computing Tool Accessibility.
In ASME Design for Manufacturing Conference, DETC97/DFM-4323, 1997.
[97] D. M. Gaines and C. Hayes. A Constraint-based Algorithm for Reasoning about the Shape Producing Capabilities of Cutting Tools in Machined Parts. In ASME Design for Manufacturing Conference, DETC97/DFM-4322,
1997.
[98] D. M. Gaines, F. Castano, and C. Hayes. MEDIATOR: A Resource Adaptive Feature Recognizer that Interwines
Feature Extraction and Manufacturing Analysis. In To appear in ASME Journal of Mechnical Design, 1998.
[99] J-C Latombe and R Wilson. Assembly sequencing with toleranced parts. In Third ACM/IEEE Symp. on Solid
Modeling and Applications, May 1995.
[100] R. Wilson. On Geometric Assembly Planning. PhD thesis, Dept of Computer Science, Stanford University,
March 1992.
[101] R. Wilson and J-C Latombe. Geometric reasoning about mechanical assembly. Articial Intelligence, 71(2):371{
396, 1994.
31
Download