Professional Documents
Culture Documents
Automatic Recognition of PDF
Automatic Recognition of PDF
727–739, 1998
q 1998 Elsevier Science Ltd. All rights reserved
Printed in Great Britain
PII: S0010-4485(98)00033-5 0010-4485/98/$19.00+0.00
Automatic recognition of
interacting machining features
based on minimal condition
subgraph
S Gao† and J J Shah‡*
727
Automatic recognition of interacting machining features: S Gao and J J Shah
728
Automatic recognition of interacting machining features: S Gao and J J Shah
feature based on a variety of AI and computational geometry Floriani in Refs 6,19,20. The nodes of an AAG represent
techniques. Finally, they represent a feature’s interaction with faces, arcs represent edges, and the attribute of the arcs is a
others by segmenting the feature into optional and required Boolean variable to represent edge convexity. A part and its
volumes. This approach deals with feature interactions in a AAG are shown in Figure 1. The AAG of a pan can be
general manner. However, since the hint generation and com- easily derived from the part’s B-reps, and is more suitable
pletion algorithms in this approach are not general, but for feature recognition than the raw B-reps.
depend on the specific feature type, new algorithms need to
be developed and added to the system in order to recognize Extended attributed adjacency graph (EAAG)
new, user-defined feature classes. Usually, many hints need In order to enable an AAG to support feature recognition
to be explored for almost every feature class, which may more effectively, we need to extend the AAG by adding
become cumbersome for some feature classes like a dovetail several edge and face attributes. The new edge attributes are
slot. Han and Requicha extended Vandenbrande’s work in associated with the graph arcs and the face attributes with
Refs 4,11. A reasoning method for rating and prioritizing the the nodes of the graph, as shown in Table 1. These
hints was added to further reduce the possibilities to be attributes, like the convexity attribute, are Boolean vari-
explored and the order in which to explore them. ables. The extended attribute adjacency graph contains five
The hint-based feature recognition method has also been attributes: convexity, existence, loop, geometry and blend
investigated by Regli and Nau 12,13. Their approach type. These are defined in Table 1. The definition of a
addresses a class of machinable features expressible as smooth edge is that its incident faces must have C 1
MRSEV (material removal shape element volumes). The continuity. The face attributes stored with the nodes are of
problem is that all the prismatic cavities are classified as five types, as listed in Table 1. The source attribute of the
pockets in this method, which makes it difficult to machine node represents whether the face coincides with a face of the
some types of features such as T-slots with methods parti- stock or not. Since stock faces are not machined, they are
cularly efficient for them. As with Vandenbrande’s work, eliminated. The convex hull (CH) attribute specifies
there are also many hints needed. whether the given face coincides with a face of the
The volume decomposition method is also popular 3,14–18. convex hull of the part or not. Since we have aimed our
It generally decomposes the removal (machining) volume approach at machining features. the B-reps of both the part
into convex cells first, then combines the cells to generate and its stock are used as the input to our program. Also, note
machining features based on some rules. This method is that the stock is not necessarily the convex hull of the part.
good at dealing with arbitrary feature interactions and gen- The other node attributes include: number of loops in the
erating multiple interpretations of features. However, it also face; split status, which signifies whether the node
has some disadvantages, such as computational complexity represents a unifiable face; and face geometry, whether
and, in some cases, inability to generate nonconvex delta planar or non-planar. As will be explained throughout this
machining features. paper, these attributes play a role in either ‘‘repairing’’ the
effects of interactions, or recognizing specific feature types.
Before outlining our minimal condition subgraph approach, Arc (edge) attributes Node (face) attributes
we need to define some basic concepts.
Convexity: convex or concave Source: stock or part face
Existence: real edge or a virtual Convex hull: CH-face or nonCH-face
Subgraph definitions edge
Loop type: edge is on an inner or No. of loops: single or multiple
Attributed adjacency graph an outer loop
Geometry: curved or straight edge Split status: unifiable or not
The idea of attributed adjacency graphs (AAG) was Blend type: smooth or sharp Geometry: planar or nonplanar
proposed by Joshi and Chang, and Falcidieno and De
729
Automatic recognition of interacting machining features: S Gao and J J Shah
Face no. Source CH No. of loops Split Geom. Edge no. Convex Exist. o_loop Blend
f0 T T 1 T P f 0 –f 1 T F T T
fl T T 1 T P f 2 –f 3 F F T T
f2 F F 1 F P f 3 –f 6 F T T T
f… — — — — — f…–f… — — — —
For example, the existence and the split status attributes are Therefore, we will use PCAGs in MFAGs as hints of
used in repairing; the number of loops and loop type help these kinds of features. Two PCAGs contained in the MFAG
identify islands; edge blend type and edge/face geometry of Figure 2b are shown in Figure 3.
help classify feature types. Table 2 gives attribute instances
for a few of the faces and edges of the model of Figure 1. Concave adjaceny graph (CAG)
Although the illustrations of EAAG in this paper only show The concave adjaceny graph (CAG) is defined as a
the convexity attribute for simplicity of drawing, the other connected subgraph of PCAG, in which all arcs between
EAAG attributes are equally important for our algorithm. the nodes of the subgraph are concave. Obviously, a SFG is
a also a special CAG. It can be readily observed that the
Manufacturing face adjacency graph EAAGs of almost all basic machining features, including a
The manufacturing face adjacency graph (MFAG) is defined step, blind step, slot, blind slot, hole, convex pocket,
as a connected subgraph of the EAAG of a part, in which no chamfer, etc., are CAGs. Therefore, it is prudent to use
node represents either a stock face or a CH-face. It can be CAGs in MFAGs as hints of pre-defined features. The two
easily observed that a part’s EAAG usually contains more PCAGs shown in Figure 3 also happen to be CAGs, but the
than one MFAG, and all MFAGs of the part can be derived PCAG shown later in Figure 7b is not a CAG. Note that the
by simply deleting all the stock faces, all the CH-face nodes, difference between CAG and PCAG is that PCAG may
and all the incident arcs to them from the part’s EAAG. Two contain convex arcs, while CAG cannot.
MFAGs contained in the part EAAG of Figure 1 are shown
in Figure 2. In this example, the stock of the part is assumed Minimal condition subgraph
to be the convex hull. The EAAG contains 16 faces; there The MCSG (minimal condition subgraph) of a feature is
are seven faces that are coincident with the stock/CH (f 0, f 1, defined as the maximal sub-EAAG of a feature which
f 7, f 12 –f 15); when these seven are removed we obtain two remains in the EAAG of the part. An example MCSG is
disjointed graphs, as shown in Figure 2. These are the shown in Figure 4b for the slot (f 2, f 3, f 6) of Figure 1a. Also
MFAGs of the part. The significance of MFAG is that it can shown are the EAAG before and after the interaction; the
be used to reduce the search space for depression features lost concave edge is shown by a dotted line in Figure 4c.
effectively. Specifically, searching for depression features The feature MCSG defined above have the following
can be restricted in each MFAG, according to the properties:
observation that the EAAG of depression features of a
part is always contained in one and only one MFAG of the • Every feature of the part has at least one non-empty
part, because the depression feature consists of a set of MCSG.
connected nonstock and non-CH faces of the part. It should • MCSGs of different feature instances of the same feature
be pointed out that when the stock of the part is larger than class may be very different, depending on how they
the convex hull of the part, there must be some faces that are interact with other features. If a feature instance does
CH-face but not stock face of the part. Since each CH-face not interact with any other features, its MCSG is the
that is not a stock face forms a single face feature and is easy same as its EAAG. In the worst case, if a feature instance
to recognize, we exclude them from MFAGs with the help interacts with many features, its MCSG may degenerate
of the CH-face attribute. to one EAAG node.
• Feature MCSG is defined independent of the feature
type, which provides the possibility of dealing with the
Partly concave adjacency graph
MCSGs of all kinds of features with the same procedures.
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. Figure 3 Two PCAGs contained in the NIFAG shown in Figure 2b
730
Automatic recognition of interacting machining features: S Gao and J J Shah
Figure 4 Illustration of the MCSG of the slot (f 2, f 3, f 6) contained in the part in Figure 1a
Interacting features Type (b): let f 1 and f 2 be two planar faces of the part. If
both f 1 and f 2 are completely in the positive half space
Two volumetric features are defined as interacting features of each other, and the extensions of f 1 and f 2 intersect
if their boundaries intersect, so that they share a non-empty, each other, as shown in Figure 5c, then we set up a
common volume. More than two volumetric features are virtual link between f 1 and f 2 and define this link as
called interacting features if every one of them interacts type (b).
with at least another one and all of them form a connected Type (c): let f 1 be the face shared by two different
volume. We classify feature interactions into six categories features. Then, f 1 is split into two faces f 1 and f9 1 by
according to three types of topology variations caused by virtual edges, so that f 1 and f9 1 are completely contained
feature interaction: merging of faces, loss of concave edges, in different features, as shown in Figure 5d. For each
and splitting of faces. Merged faces are those that are shared virtual edge we set up a corresponding virtual link
by more than one feature. To completely cover all between f 1 and f9 1 and define this link as type (c).
combinations of the above three conditions would require Type (d): let f 1 and f 2 be two planar faces of the part. If
eight types of feature interactions. However, two combina- both f 1 and f 2 are adjacent to the same cylindrical face
tions are impossible because both split face and lost concave along two smoothly concave arcs (the cylindrical face
edge cannot be true simultaneously; this reduces the here is a fillet feature), then we set up a virtual link
possible types to six, as shown in Figure 5 and Table 3. It between f l and f 2 and define this link as type (d).
should be noted that there is no direct correspondence
between our six interaction classes and the two interaction
Unifiable faces
types identified by Joshi and Chang 1.
Unifiable faces are a set of faces satisfying the following
Virtual links two conditions: (1) all faces are on the same surface and
with the same orientation, and (2) each face of the set can be
A Virtual link (VL) is defined as a face adjacency extended along one of its edges to touch an edge of another
relationship not contained in the part’s B-reps as a result face of the set without intersecting any face not in the set. As
of feature interaction. Such links are useful for recognizing an example, f 1 and f 2 in Figure 5b are unifiable faces. It
interacting features by the graph-based method. Four types should be pointed out that although some commercial solid
of VLs were identified and used in this work. modelers can unify the faces, satisfying the first condition
Type (a): let f 1 be a planar or cylindrical face and f 2 be a mentioned above, they do not check if these faces satisfy the
planar face of the part. If f 1 is completely in the positive second condition. An algorithm for searching unifiable faces
half space of f 2, while f 2 is just partly in the positive half is developed based on similar techniques used in the virtual
space of f 1, and the extension of f 1 intersects f 2, as link generation algorithm (see Recognizing Interacting
shown in Figure 5e, then we set up a virtual link Features section).
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. Minimal condition subgraph approach: overview
731
Automatic recognition of interacting machining features: S Gao and J J Shah
732
Automatic recognition of interacting machining features: S Gao and J J Shah
Figure 7 A part with merged faces and its MFAG and PCAG
PCAG of the MFAG is checked to see if it is a CAG or if it or F9 i and intersect the S is support surface. Note that those
corresponds to a general feature. If any of these is true, it is a tetrads having the same F i and S i with a previous tetrad are
feature MCSG and pushed on the MCSG stack; otherwise it ignored.
is not a feature MCSG. We observe that a PCAG is not a For our example, either F 5 or F 6 can be selected as a
feature MCSG when it contains one or more merged faces proper split face. Suppose we choose F 5 as the split face,
caused by type IV–VI feature interactions. Therefore, we then F 3, F 4 and F 2 are split, as shown in Figure 8a.
decompose such a PCAG into separate CAGs by splitting
relevant merged faces, so as to generate all the feature
MCSGs involved. The specific algorithm consists of Modify the PCAG
following four steps. Here, we take the part as well as its After a face F of the PCAG is split, a new node F9
MFAG and PCAG shown in Figure 7 as an example to corresponding to the new generated face is inserted into the
illustrate the algorithm. PCAG, together with a convex virtual link [type (c) VL]
between F and F9. All the old arcs between F and other faces
Find the primary merged faces of the PCAG are rebuilt according to the new adjacency relationship
between F, F9 and those faces. In addition, a concave virtual
We first find all the convex arcs between the nodes of the
link [type (a) VL] is set up between the split face and the
PCAG. As the given PCAG is not a CAG, there exists at
nonprimary merged face split by it.
least one such convex arc, similar to e in Figure 7a. Denote
After this step, the PCAG shown in Figure 7b is changed
each convex arc by C i, and let f i and f9 i be the two adjacent
to the graph depicted in Figure 8b.
faces of C i. Let F i and F9 i be the faces having concave arcs
with both f i and f9 i. Note that both F i and F9i may not exist.
Check if F i and F9 i do exist; if one of them exists, we call Obtain CAG
{fi , f9 i, F i, F9i } the tetrad of Ci and store it; otherwise Ci is At this stage, the PCAG should be the union of separate
not taken into account. All of the existing F i and F9 i CAGs. Now all the CAGs of the PCAG can be obtained
comprise primary merged faces. readily with a method similar to that of obtaining PCAGs
In the example, e is a convex arc, primary merged faces from MFAG. Figure 9 shows two CAGs derived from the
consist of F 3 and F 4, and the tetrad of e is {F 5, F 6, F 3, F 4}. PCAG of Figure 7b.
733
Automatic recognition of interacting machining features: S Gao and J J Shah
734
Automatic recognition of interacting machining features: S Gao and J J Shah
735
Automatic recognition of interacting machining features: S Gao and J J Shah
736
Automatic recognition of interacting machining features: S Gao and J J Shah
However, if the user does not like the initial feature set, blind holes, one slot, two blind slots and one T-slot, as
alternative interpretations will be produced as and when shown in Figure 13. There are several groups of interacting
the user demands. features in this set, like the slot and two holes in the mid-
section 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
IMPLEMENTATION AND TESTING ANC101 test part. In this example, the stock is taken as the
bounding box of the part, observe that the stock is not the
The proposed algorithm has been implemented using the same as the convex hull of the part. A total of 28 features
ACIS 2.0 solid modeler, Cþþ language, running on HP were recognized by our algorithm as the first feature inter-
C180 Unix workstations. We have tested the recognizer for pretation of the part. Figure 14b shows three pockets, one
various parts including popular industry test parts, such as blind slot, and one face feature with an isolated island in it.
CAMI/ANC101 and the Gehaeuse. The test parts involve all Figure 14c shows four holes, one face feature, and another
interaction types defined in the Subgraph definitions section. face feature with an isolated island in it. Figure 14d shows
Three of the test parts and their initial (default) feature nine blind holes and one face feature (note that this face is a
interpretations are shown in Figures 13–15. CH-face). Two compound holes recognized are highlighted
Test part 1 is shown in Figure 13. Its stock is specified to in Figure 14e. Five other features recognized are high-
be a block corresponding to the convex hull of the part; the lighted in Figure 14f, including three pockets, one blind
stock is not shown. For this part, 11 features were recog- hole and one open pocket. The execution time for this part
nized by our algorithm as the first feature interpretation of was 0.45 s on the HP C180.
the part. Features found were three steps, two holes, two Test part 3 is shown in Figure 15a. The stock of test part 3
Test Total no. Total no. No. of No. of No. of No. of No. of features No. of Execution time
of faces of edges convex edges MFAGs PCAGs CAGs recognized possible FI a (s)
1 31 98 17 5 10 10 11 4 0.2 s
2 99 209 102 5 29 28 28 4 0.45 s
3 38 105 17 1 13 13 8 8 0.22 s
a
FI ¼ feature interpretations.
737
Automatic recognition of interacting machining features: S Gao and J J Shah
is a cylinder which is the same as the convex hull of the part. approach, the open pocket is first recognized as an isolated
Our algorithm recognized 13 features from the part as the feature. It is processed by a heuristic procedure which deter-
initial feature interpretation. Figure 15b shows four through mines whether there exist other better interpretations of it,
holes and one blind hole. Figure 15c shows four steps. and if so, it generates the best one according to the given
Figure 15d shows two holes and one slot. Another slot is rules. The heuristic procedure is being developed based on
highlighted in Figure 15e. The execution time for test part 3 both the geometry and the manufacturing knowledge. At
was 0.22 s. present, we can extract all slots and steps contained in an
A summary of results for the three test parts is given in open pocket if required by the user.
Table 4. The execution time refers to the time spent in Finally, this method does not contribute anything toward
generating the first feature interpretation of the part, includ- the recognition of features with sculptured surfaces. Owing
ing the time for reading the ACIS.sat file, recognizing to the complexity of sculptured surfaces, it is a challenge for
features, extracting feature parameters, and calculating all the existing feature recognition methods which are
tool access directions for each feature. usually limited to features defined by planar and quadric
surfaces.
DISCUSSION
ACKNOWLEDGEMENTS
In this paper, we have presented a hybrid approach for
automatic recognition of machining features from B-rep This work was conducted during the period when the first
solid models. The approach combines aspects of graph- author was a visiting scholar at the Design Automation
based and hint-based feature recognition with delta volume Laboratory at Arizona State University. His visit was sup-
decomposition, so that it can deal with all six types of ported by the Pao Yu-Kong and Pao Zhao-Long Scholar-
feature interactions with high efficiency. Theoretically, the ship. Partial funding was provided by a DARPA/RaDEO
computational complexity of the algorithm can be shown to project. The authors are also grateful to the following
be: researchers at the Design Automation Laboratory: Hiren
Dedhia, Sachin Solkhan, Roshan DeSouza, Boming Xu
O[M p N p T p (M þ N)], and Bernie Bettig for their suggestions and critique.
where M ¼ the maximum number of edges per face (non-
stock and non-CH); T ¼ the maximum number of arcs (con-
vex, nonstock and outloop) per MFAG; and N ¼ the REFERENCES
maximum number of nodes per MFAG.
The hybrid recognition method presented in this paper 1. Shah, J. J., Mantyla, M. and Nau, D., eds, Advances in Feature Based
offers several advantages over previous methods. Feature Manufacturing. Elsevier/North-Holland, Amsterdam, 1994.
MCSGs are used as feature hints, so that the hints for all 2. Salomons, O., Constraint specification and satisfaction in feature
types of features can be generated and completed with the based design for manufacturing, PhD thesis, University of Tarente,
1995.
same procedure. This makes it possible for the user to add 3. Tseng, Y. J. and Joshi, S. B., Recognizing multiple interpretations of
new features without changing the code. In our approach, interacting machining features. Computer-Aided Design, 1994, 26(9),
the user just needs to create a feature instance with ACIS in 667–688.
order to add a new type of feature — all its properties are 4. Han, J. H., 3D geometric reasoning algorithm for feature recognition,
automatically extracted and stored in a feature library. All PhD thesis, University of Southern California, 1996.
5. Laakko, T. and Mantyla, M., Feature modeling by incremental feature
MCSGs are generated by graph decomposition without recognition. Computer-Aided Design, 1993, 25(8), 479–492.
redundant MCSG being produced. Features are completed 6. Joshi, S. and Chang, T. C., Graph-based heuristics for recognition of
by the same completion algorithm (independent of feature machined features from a 3D solid model. Computer-Aided Design,
type) based on an efficient virtual link generation algorithm, 1988, 20(2), 58–66.
7. Marefat, M. and Kashyap, R. L., Geometric reasoning for recognition
which achieves its high efficiency by minimizing the search of three-dimensional object features. IEEE Transactions on Pattern
space for virtual links and not generating unusable virtual Analysis and Machine Intelligence, 1990, 12(10), 949–965.
links. A new feature interaction classification and a virtual 8. Ji, Q., Marefat, M. and Lever, P. J., An evidential reasoning approach
link classification are used to support the recognition of for recognizing shape feature. In Proceedings of the 11th IEEE Con-
interacting features. The manufacturing face adjacency ference on AI for Applications, 1995.
9. Trika, S. N. and Kashyap, R. L., Geometric reasoning for extraction of
graph proposed enables all isolated features to be recog- manufacturing features in isooriented polyhedrons. IEEE Transac-
nized before interacting features. MFAG also plays an tions on Pattern Analysis and Machine Intelligence, 1993, 16(11),
important role in reducing the search spaces for virtual 1087–1100.
links, unifiable faces and features. Unlike other graph- 10. Vandenbrande, J. H. and Requicha, A. A. G., Spatial reasoning for the
automatic recognition of machinable features in solid models. IEEE
based methods, our approach can generate alternative inter- Transactions on Pattern Analysis and Machine Analysis, 1993,
pretations of interacting features. 15(12), 1269.
One issue not yet addressed is that of open pockets, which 11. Han, J. H. and Requicha, A. A. G., Integration of feature based design
are still problematic. At present, there are two main kinds of and feature recognition, ASME International Computers in Engineer-
methods to recognize open pockets. One 21,7,9,14–18 treats ing Conference, September 1995.
12. Regli, W. C., Gupta, S. K. and Nau, D. S., Feature recognition for
them as interacting features, always dividing them into manufacturability analysis, ASME International Computers in Engi-
many predefined features first. This method is time- neering Conference, Minneapolis, 1994.
consuming. Even worse is that sometimes it is unreasonable, 13. Regli, W. C., Geometric algorithms for recognition of features from
since it is better to machine an open pocket as a single solid models, PhD thesis, The University of Maryland, College Park,
MD, 1995.
feature. In another approach 6,13, open pockets are recog- 14. Sakurai, H., Volume decomposition and feature recognition: Part I —
nized as single features, but no other interpretation can be polyhedral objects. Computer-Aided Design, 1995, 27(11), 833–843.
provided which may exist and may be better. In our 15. Sakurai, H. and Dave, P., Volume decomposition and feature
738
Automatic recognition of interacting machining features: S Gao and J J Shah
recognition: Part H — curved objects. Computer-Aided Design, 1996, base volume decomposition. In Proceedings of the ASME Design
28(6/7), 519–532. Automation Conference 1, 1994.
16. Kim, Y. S., Volumetric feature recognition using convex decomposi- 19. Falcidieno, B. and Giannini F., Extraction and organization of forrm
tion. In Advances in Feature Based Manufacturing, ed. J. J. Shah, features into a structured boundary model. In Proceedings of Euro-
M. Mantyla and D. Nau. Elsevier/North Holland, Amsterdam, graphics’87, Amsterdam, 1987.
1994. 20. Floriani, D. and Bruzzone, E., Building a feature-based object description
17. Shen, Y. and Shah, J. J., Feature recognition by volume decomposition fromaboundarymodel.Computer-AidedDesign, 1989, 21(10), 602–610.
using half-space partitioning. In Proceedings of the ASME Computers 21. Ferreira, J. and Hinduja, S., Convex hull-based feature recognition
in Engineering, Minneapolis, 1994. method for 2.5 components. Computer-Aided Design, 1990, 22(1),
18. Coles, J., Crawford, R. and Wood K., Form feature recognition using 41–49.
739