Professional Documents
Culture Documents
Automatic recognition of
interacting machining features
based on minimal condition
subgraph
S Gao and J J Shah*
Convex hull
Feature
General feature
Hint
Interacting feature
Isolated feature
Isolated island
Access direction
Merged face
Minimal condition subgraph
(MCSG)
Obstacle face
Open pocket
Partly concave adjacency graph
(PCAG)
Predefined feature
*To whom correspondence should be addressed. Tel: 001 602 965 6145;
Fax: 001 602 965 2412; e-mail: jami.shah@asu.edu
State Key Laboratory of CAD and CG, Zhejiang University, Hangzliou,
Peoples Republic of China
Mechanical and Aerospace Engineering, Arizona State University,
Tempe, AZ 85287, USA
Paper Received: 15 September 1997. Revised: 20 April 1998. Accepted: 20
April 1998
Stock face
Stock
Support surface
727
INTRODUCTION
Seamless and effective integration of CAD, CAPP and
CAM is increasingly demanded by manufacturing industries. To realize this, an intelligent interface between CAD
and CAPP is imperative, since CAPP expects part
representation in terms of manufacturing features, whereas
CAD describes parts by their solid model or design features.
Feature recognition enables such an interface between CAD
and CAPP. Feature recognition can be used to find
manufacturing features of a part from its solid model.
Much research has been conducted in this area and many
feature recognition approaches have been proposed 14.
One important type of feature recognition method, called
graph-based recognition, recognizes features by matching a
feature graph to the appropriate subgraph, in a graph representation of the part. The advantages of graph-based recognition are: (1) it is applicable to many domains not just
machining; (2) it allows the user to add new feature types
without changing the code; (3) it is suitable for incremental
feature modeling 5; and (4) it can recognize isolated features
effectively. On the negative side, feature interaction and
multiple interpretations of features cannot be handled well
with graph-based recognition.
The major objective of this paper is to develop a new
graph-based recognition method which can satisfy the
following three conditions: recognize features in several
common situations, involving a variety of feature interactions with one general purpose algorithm; produce alternative feature interpretations; and provide reasonable
computational efficiency. To satisfy these conditions, we
combine the conventional graph-based recognition method
with the hint-based feature recognition. To recognize interacting features we use the minimal condition subgraph
(MCSG) as a feature hint. The MCSGs for features are
defined by an extended attributed adjacency graph
(EAAG), which is generated by graph decomposition and
completed by adding related virtual links in a uniform way,
independent of feature type. The concept of a manufacturing
face adjacency graph (MFAG) is introduced to improve the
efficiency of recognizing isolated features and to reduce the
search space for virtual links, unifiable faces and features.
Also, an algorithm is devised to speed up the generation of
virtual links.
The paper is organized as follows. In the second section
we review the previous work in manufacturing feature
recognition. The third section introduces some new concepts used in our work and gives an overview of our
approach. The fourth and fifth sections give details of the
recognition procedure for isolated and interacting features,
respectively. The generation of alternative interpretations of
interacting features is described in the sixth section. The
implementation and testing are given in seventh section.
Finally, the advantages and limitations of our approach
are discussed in the eighth section.
728
LITERATURE REVIEW
In the area of feature recognition, many techniques have
been proposed and implemented. For a comprehensive
review of feature recognition the reader is referred to
Refs 14. Here, we focus on the work that is more closely
related to our approach, namely, the recognition of
interacting features, particularly graph-based and hintbased recognition.
The approach presented by Joshi and Chang in Ref. 6, can
be considered typical of graph-based feature recognition
methods, in which both the part and the features are represented by attributed adjacency graphs (AAG). Features are
recognized by matching feature patterns to patterns in the
parts AAG. The approach given in Ref. 6 can break down a
large search space by graph decomposition and can deal
with two specific types of feature interactions by heuristics.
However, their graph decomposition is not always correct
and it may lead to the loss of some types of features like
chamfers and T-slots.
Marefat and Kashyap 7,8 developed a graph-based recognition technique, which is the first attempt to treat general
feature interactions based on the generate-and-test paradigm
and the virtual link concept. They define features by cavity
graphs, which extend a features AAG to include some geometric constraints on the orientations of the feature faces.
To recognize interacting features, they first recover virtual
links using an AI technique and add them into the cavity
graph of the part, then they generate all hypothesized features by subgraph matching. The incorrect hypotheses are
then eliminated by rule-based experts. Some problems with
this method include: (1) it does not always find all the
necessary virtual links, and sometimes determines incorrect
virtual links 9; (2) there are many incorrect feature hypotheses that need to be eliminated. Although the geometric
constraints in the features cavity graph can effectively
eliminate many incorrect feature hypotheses, the cavity
graph representation of the feature limits the method to
polyhedral objects; and (3) there is no evidence that the
method can be extended to generate volumetric features
and multiple interpretations of features.
Trika and Kashyap 9 extended Marefats work in the generation of virtual links and the verification of feature
hypothesis. They generated virtual links by exact geometric
computation rather than uncertainty reasoning, and verified
feature hypotheses satisfying the features cavity graph by
checking the regularized intersection of the feature volume
and the part. They demonstrated that their method is tractable and complete over seven basic classes of features and
iso-oriented polyhedral parts. However, both the part
domain and the feature classes are limited to iso-oriented
polyhedral parts and seven basic machining feature classes
(step, blind step, slot, blind slot, prismatic hole, pocket and
enclosed box). Only single interpretations of features can be
extracted. The virtual link generation algorithm is not efficient, as observed from the execution times given in Ref. 9.
Vandenbrande and Requicha 10 proposed the hint-based
feature recognition approach. A feature hint is defined as
a features geometric entities left in the nominal geometry of
a part after an interaction. For example, a pair of parallel
opposing faces is a hint that a slot may be present. To
recognize arbitrarily interacting features, they first extract
all the feature hints by searching the B-reps of the part, then
test them for validity through geometric completion procedures, that attempt to construct the largest volumetric
Figure 1
Subgraph definitions
Attributed adjacency graph
The idea of attributed adjacency graphs (AAG) was
proposed by Joshi and Chang, and Falcidieno and De
729
Source
CH
Geom.
Edge no.
Convex
Exist.
o_loop
Blend
f0
fl
f2
f
T
T
F
T
T
F
1
1
1
P
P
P
f 0 f 1
f 2 f 3
f 3 f 6
ff
T
F
F
F
F
T
T
T
T
T
T
T
Figure 2
T
T
F
For example, the existence and the split status attributes are
used in repairing; the number of loops and loop type help
identify islands; edge blend type and edge/face geometry
help classify feature types. Table 2 gives attribute instances
for a few of the faces and edges of the model of Figure 1.
Although the illustrations of EAAG in this paper only show
the convexity attribute for simplicity of drawing, the other
EAAG attributes are equally important for our algorithm.
Manufacturing face adjacency graph
The manufacturing face adjacency graph (MFAG) is defined
as a connected subgraph of the EAAG of a part, in which no
node represents either a stock face or a CH-face. It can be
easily observed that a parts EAAG usually contains more
than one MFAG, and all MFAGs of the part can be derived
by simply deleting all the stock faces, all the CH-face nodes,
and all the incident arcs to them from the parts EAAG. Two
MFAGs contained in the part EAAG of Figure 1 are shown
in Figure 2. In this example, the stock of the part is assumed
to be the convex hull. The EAAG contains 16 faces; there
are seven faces that are coincident with the stock/CH (f 0, f 1,
f 7, f 12 f 15); when these seven are removed we obtain two
disjointed graphs, as shown in Figure 2. These are the
MFAGs of the part. The significance of MFAG is that it can
be used to reduce the search space for depression features
effectively. Specifically, searching for depression features
can be restricted in each MFAG, according to the
observation that the EAAG of depression features of a
part is always contained in one and only one MFAG of the
part, because the depression feature consists of a set of
connected nonstock and non-CH faces of the part. It should
be pointed out that when the stock of the part is larger than
the convex hull of the part, there must be some faces that are
CH-face but not stock face of the part. Since each CH-face
that is not a stock face forms a single face feature and is easy
to recognize, we exclude them from MFAGs with the help
of the CH-face attribute.
Partly concave adjacency graph
The partly concave adjacency graph (PCAG) is defined as a
concavely connected subgraph of MFAG, which means that
for every pair of vertices in the subgraph, there is a path
between them, and every arc of the path is concave. Note
that a single node which has only convex arcs is a special
PCAG, according to the definition of PCAGs; we will refer
to it as a single face graph (SFG). In addition, we can easily
observe that the EAAGs of non-convex pockets, open
pockets and some interacting features, are PCAGs.
730
Figure 4
Figure 5
Interacting features
Two volumetric features are defined as interacting features
if their boundaries intersect, so that they share a non-empty,
common volume. More than two volumetric features are
called interacting features if every one of them interacts
with at least another one and all of them form a connected
volume. We classify feature interactions into six categories
according to three types of topology variations caused by
feature interaction: merging of faces, loss of concave edges,
and splitting of faces. Merged faces are those that are shared
by more than one feature. To completely cover all
combinations of the above three conditions would require
eight types of feature interactions. However, two combinations are impossible because both split face and lost concave
edge cannot be true simultaneously; this reduces the
possible types to six, as shown in Figure 5 and Table 3. It
should be noted that there is no direct correspondence
between our six interaction classes and the two interaction
types identified by Joshi and Chang 1.
Virtual links
A Virtual link (VL) is defined as a face adjacency
relationship not contained in the parts B-reps as a result
of feature interaction. Such links are useful for recognizing
interacting features by the graph-based method. Four types
of VLs were identified and used in this work.
Type (a): let f 1 be a planar or cylindrical face and f 2 be a
planar face of the part. If f 1 is completely in the positive
half space of f 2, while f 2 is just partly in the positive half
space of f 1, and the extension of f 1 intersects f 2, as
shown in Figure 5e, then we set up a virtual link
between f 1 and f 2 and define it as type (a). In addition,
f 1 is called the extension face of the virtual link.
Merged faces
Split faces
I
II
III
IV
V
VI
N
N
N
Y
Y
Y
N
N
Y
N
Y
N
N
Y
N
N
N
Y
Unifiable faces
Unifiable faces are a set of faces satisfying the following
two conditions: (1) all faces are on the same surface and
with the same orientation, and (2) each face of the set can be
extended along one of its edges to touch an edge of another
face of the set without intersecting any face not in the set. As
an example, f 1 and f 2 in Figure 5b are unifiable faces. It
should be pointed out that although some commercial solid
modelers can unify the faces, satisfying the first condition
mentioned above, they do not check if these faces satisfy the
second condition. An algorithm for searching unifiable faces
is developed based on similar techniques used in the virtual
link generation algorithm (see Recognizing Interacting
Features section).
We first match the MFAG with the EAAG of every feature in the predefined feature library one by one. If it does
not match any of them, it is checked further by every rule in
the heuristic rule library sequentially, to determine if it has
the characteristic pattern corresponding to one of the general features. Owing to space limitations, we will only
describe the heuristic rule for a pocket as an example. The
characteristic rule is as follows:
if there exists a node in the MFAG, each arc of which is
concave, and all other nodes of the MFAG are adjacent
to it, then this MFAG corresponds to a pocket.
Figure 6
Generation of MCSGs
In order to generate all the interacting feature MCSGs
contained in a MFAG, we decompose the MFAG into
separate PCAGs first. This is based on the observation that
interacting features MCSGs are always PCAGs (in some
cases, a PCAG could itself be a CAG). Before decomposition, all unifiable faces in the MFAG are determined, and
each of them is treated as one node of the MFAG, to ensure
that the maximal MCSGs can be found. The specific
decomposition method is simple. The PCAG partition of the
MFAG is obtained as follows: (1) choose an arbitrary node
of the MFAG as the first node of the first PCAG, and
complete the PCAG by iteratively extending it to include all
those nodes of the MFAG which have at least one concave
arc with one node of the PCAG; and (2) construct other
PCAGs similarly until the union of all PCAGs is equal to the
MFAG. It can be easily observed that the above PCAG
partition of the MFAG is unique. After decomposition, each
Figure 7
Figure 8
MCSG completion
The interacting feature MCSGs generated by the algorithm
given in the last section, need to be completed. By
completion we mean finding and adding the lost parts of
the EAAG caused by feature interactions. The lost part of an
interacted features EAAG consists of lost nodes and lost
concave arcs [type (a) or (b) virtual links]; that is, there are
no such arcs in the parts EAAG. These lost arcs have to be
733
Figure 9
734
Extend the MCSG based on all its virtual links as follows. For each virtual link V, if it is type (a) and its
For degenerate MCSG (only one face node), the difference with the general case is that its corresponding feature is
not completely determined by its extended MCSG. An
example is shown in Figure 11, where F 1 is a MCSG; its
extended MCSG consists of F 1 and F 2, while its corresponding feature is a slot comprising of F 1, F 2 and F 3. To solve
this problem, we continue to extend the MCSG to include all
those MCSGs which contain a face node having a virtual
link with the original MCSG. Then we find the maximal
valid feature containing the original extended MCSG by
searching the new extended MCSG. This maximal volume
feature is the corresponding feature of the MCSG.
GENERATION OF ALTERNATIVE
INTERPRETATIONS
Generally, interacting features can be interpreted in many
different ways. In this work, we use the approach of
Sakurai 14, with some modifications, to generate alternative
interpretations of interacting features.
Assume all the features generated by completing MCSGs
involved in a MFAG to be {FT i, i 1,n}. We call this
feature set the initial interpretation of the interacting features. Set N n.
(1) Choose one feature from {FT i, i 1,N} arbitrarily, say
FT N; push it on a stack. Then subtract the volume of
735
736
blind holes, one slot, two blind slots and one T-slot, as
shown in Figure 13. There are several groups of interacting
features in this set, like the slot and two holes in the midsection of the part. The execution time was 0.2 s on the HP
C180 workstation.
Figure 14(a) shows test part no. 2, the so-called CAM-I
ANC101 test part. In this example, the stock is taken as the
bounding box of the part, observe that the stock is not the
same as the convex hull of the part. A total of 28 features
were recognized by our algorithm as the first feature interpretation of the part. Figure 14b shows three pockets, one
blind slot, and one face feature with an isolated island in it.
Figure 14c shows four holes, one face feature, and another
face feature with an isolated island in it. Figure 14d shows
nine blind holes and one face feature (note that this face is a
CH-face). Two compound holes recognized are highlighted
in Figure 14e. Five other features recognized are highlighted in Figure 14f, including three pockets, one blind
hole and one open pocket. The execution time for this part
was 0.45 s on the HP C180.
Test part 3 is shown in Figure 15a. The stock of test part 3
However, if the user does not like the initial feature set,
alternative interpretations will be produced as and when
the user demands.
Total no.
of faces
Total no.
of edges
No. of
No. of
convex edges MFAGs
No. of
PCAGs
No. of
CAGs
No. of features
recognized
No. of
possible FI a
Execution time
(s)
1
2
3
31
99
38
98
209
105
17
102
17
10
29
13
10
28
13
11
28
8
4
4
8
0.2 s
0.45 s
0.22 s
5
5
1
FI feature interpretations.
737
DISCUSSION
ACKNOWLEDGEMENTS
In this paper, we have presented a hybrid approach for
automatic recognition of machining features from B-rep
solid models. The approach combines aspects of graphbased and hint-based feature recognition with delta volume
decomposition, so that it can deal with all six types of
feature interactions with high efficiency. Theoretically, the
computational complexity of the algorithm can be shown to
be:
O[M p N p T p (M N)],
where M the maximum number of edges per face (nonstock and non-CH); T the maximum number of arcs (convex, nonstock and outloop) per MFAG; and N the
maximum number of nodes per MFAG.
The hybrid recognition method presented in this paper
offers several advantages over previous methods. Feature
MCSGs are used as feature hints, so that the hints for all
types of features can be generated and completed with the
same procedure. This makes it possible for the user to add
new features without changing the code. In our approach,
the user just needs to create a feature instance with ACIS in
order to add a new type of feature all its properties are
automatically extracted and stored in a feature library. All
MCSGs are generated by graph decomposition without
redundant MCSG being produced. Features are completed
by the same completion algorithm (independent of feature
type) based on an efficient virtual link generation algorithm,
which achieves its high efficiency by minimizing the search
space for virtual links and not generating unusable virtual
links. A new feature interaction classification and a virtual
link classification are used to support the recognition of
interacting features. The manufacturing face adjacency
graph proposed enables all isolated features to be recognized before interacting features. MFAG also plays an
important role in reducing the search spaces for virtual
links, unifiable faces and features. Unlike other graphbased methods, our approach can generate alternative interpretations of interacting features.
One issue not yet addressed is that of open pockets, which
are still problematic. At present, there are two main kinds of
methods to recognize open pockets. One 21,7,9,1418 treats
them as interacting features, always dividing them into
many predefined features first. This method is timeconsuming. Even worse is that sometimes it is unreasonable,
since it is better to machine an open pocket as a single
feature. In another approach 6,13, open pockets are recognized as single features, but no other interpretation can be
provided which may exist and may be better. In our
738
This work was conducted during the period when the first
author was a visiting scholar at the Design Automation
Laboratory at Arizona State University. His visit was supported by the Pao Yu-Kong and Pao Zhao-Long Scholarship. Partial funding was provided by a DARPA/RaDEO
project. The authors are also grateful to the following
researchers at the Design Automation Laboratory: Hiren
Dedhia, Sachin Solkhan, Roshan DeSouza, Boming Xu
and Bernie Bettig for their suggestions and critique.
REFERENCES
1. Shah, J. J., Mantyla, M. and Nau, D., eds, Advances in Feature Based
Manufacturing. Elsevier/North-Holland, Amsterdam, 1994.
2. Salomons, O., Constraint specification and satisfaction in feature
based design for manufacturing, PhD thesis, University of Tarente,
1995.
3. Tseng, Y. J. and Joshi, S. B., Recognizing multiple interpretations of
interacting machining features. Computer-Aided Design, 1994, 26(9),
667688.
4. Han, J. H., 3D geometric reasoning algorithm for feature recognition,
PhD thesis, University of Southern California, 1996.
5. Laakko, T. and Mantyla, M., Feature modeling by incremental feature
recognition. Computer-Aided Design, 1993, 25(8), 479492.
6. Joshi, S. and Chang, T. C., Graph-based heuristics for recognition of
machined features from a 3D solid model. Computer-Aided Design,
1988, 20(2), 5866.
7. Marefat, M. and Kashyap, R. L., Geometric reasoning for recognition
of three-dimensional object features. IEEE Transactions on Pattern
Analysis and Machine Intelligence, 1990, 12(10), 949965.
8. Ji, Q., Marefat, M. and Lever, P. J., An evidential reasoning approach
for recognizing shape feature. In Proceedings of the 11th IEEE Conference on AI for Applications, 1995.
9. Trika, S. N. and Kashyap, R. L., Geometric reasoning for extraction of
manufacturing features in isooriented polyhedrons. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1993, 16(11),
10871100.
10. Vandenbrande, J. H. and Requicha, A. A. G., Spatial reasoning for the
automatic recognition of machinable features in solid models. IEEE
Transactions on Pattern Analysis and Machine Analysis, 1993,
15(12), 1269.
11. Han, J. H. and Requicha, A. A. G., Integration of feature based design
and feature recognition, ASME International Computers in Engineering Conference, September 1995.
12. Regli, W. C., Gupta, S. K. and Nau, D. S., Feature recognition for
manufacturability analysis, ASME International Computers in Engineering Conference, Minneapolis, 1994.
13. Regli, W. C., Geometric algorithms for recognition of features from
solid models, PhD thesis, The University of Maryland, College Park,
MD, 1995.
14. Sakurai, H., Volume decomposition and feature recognition: Part I
polyhedral objects. Computer-Aided Design, 1995, 27(11), 833843.
15. Sakurai, H. and Dave, P., Volume decomposition and feature
739