Abstract
Introduction
Reusable feature shape recognition is used to extract a group of geometric entities such as faces, edges, or vertices for purposes such as design or manufacturing intents, which can be easily edited or copied as features for efficient shape modeling or manufacturing simulation.1,2 Because feature shape information cannot be easily converted among available computer-aided design (CAD), computer-aided engineering (CAE), computer-aided process planning (CAPP), or computer-aided manufacturing (CAM) systems, basic geometry B-rep models such as IGES or STEP are often used to convert product models. For such geometry-only B-rep models, it is essential to recognize missing features of the converted shapes.
For the geometry-only B-rep models, there are three main feature recognition methods:3–5 graph-based, volume decomposition–based,6–10 and hint-based.11–15 (1) For graph-based approaches, shape features are recognized through sub-graph isomorphism, which is used to find appropriate sub-graphs for the attributed graph built for B-rep models with a given template feature graph.16–24 Although the graph-based methods have been demonstrated to be useful in recognizing some manufacturing feature shapes, such methods depend heavily on attached attributes of graph arcs or nodes, such as convexity, concavity, or tangency of edges and faces, whose inherent ambiguity may make it difficult to uniquely match complex feature shapes. (2) The volume decomposition–based methods of feature recognition, such as convex hull decomposition,6–8 which subdivides the volume of a B-rep model into a set of intermediate convex hulls to recognize features, and cell decomposition,9,10 which decomposes the volume into bounded minimal cells and then combines the cells into volumes and reorganizes these volumes into pre-defined features. However, such volume decomposition based approaches may not be guaranteed to converge because there are so many results. (3) Hint-based feature recognition is based on the fact that manufacturing operations may leave geometry or topology traces on the resulting B-rep model;11–14 it follows a generate-test-repair paradigm to validate the possibility of feature feasibility, which can be used to recognize intersecting features. However, such approaches depend greatly on recognition of each type of manufacturing feature; each feature has its own generate-test-repair algorithm. Verma and Rajotia 15 developed a hybrid feature recognition system combining graph-based and hint-based systems to handle complex interaction features; however, only limited cases can be processed well. In addition, manufacturing feature recognition pays more attention to shapes relating to machine tools and cutters, which may not be sufficient to recognize other kinds of shape features such as design shape features.
In this article, a novel hint-based generic shape feature recognition approach is proposed to achieve the following:
A hint-based general shape feature recognition approach designed to recognize more generic shape features from B-rep models for efficient product re-design, which is based on a common idea: a complex CAD model can be built from an initial basic shape, such as a roughcast, and then sequentially modified by a series of feature operations that will leave typical shape variations such as face splitting, edge collapsing, or vertices missing for the resulting part. Such shape variations can be defined as hints, which can be used to extract more generic shape features without awkward distinction on shape convexity or underlying typical manufacturing processes.
The intersecting feature shapes can also be extracted based on the quantity of hints to obtain more generic shape features for product re-design.
The generic shape feature recognition approach is finally implemented in a prototype system, and three engineering examples are demonstrated to validate the capabilities of the proposed approach and the developed system.
Background of generic shape feature recognition
Shape feature is usually composed of a set of geometric entities that represent specific patterns that may have significance functions or certain manufacturing information. For different domains, the same geometry portion of a CAD model can be defined as different features that may entail different engineering meanings. Nevertheless, from the shape viewpoint, they may have identical characteristics. Therefore, a more generic feature is defined in this article to uniformly describe them.
Definition of generic shape features
During the process of shape modeling, the designers primarily create an initial model that is viewed as a basic shape, such as a sphere, prism, or cylinder, and then sequentially add or remove portions from the basic shape to construct a complex model. The modeling operations will modify the basic shape and generate a series of new geometric entities such as faces, edges, and vertices into the final model. These new geometric entities always correspond to some kind of design or manufacturing intents, which we can call design or manufacturing features. Because only geometric shapes formed by such geometric entities are considered, we uniformly define them as generic shape features.
Definition 1: generic shape feature
A generic shape feature defines a set of geometric entities generated due to modeling operations to represent specific design or manufacturing intents. The generic features emphasize the effects of shape modeling modifying the initial basic shape. The definition of a generic feature is independent of the application domains. Thus, a generic feature can correspond to various types of features for the design and manufacturing domains.
Taxonomy of generic shape features
According to shape variations in geometric entities, there are three kinds of generic features: vertex-class, edge-class, and face-class. As the names suggest, the vertex-class features, edge-class features, and face-class features come from shape variations of vertices, edges, and faces, respectively.
In terms of vertex-class features, the shape modeling operations add or remove vertices from the initial basic shape; hence, the vertex-class feature is also referred to as the vertex elimination feature. Some examples of vertex-class features are shown in Figure 1.

Examples of vertex-class generic features.

Examples of edge-class generic features.

Examples of face-class generic features.
The above generic shape features could be isolated or hybrid. An isolated feature is a shape that is independent of other shapes. Hybrid features are characterized as the shapes that are composed of a combination of isolated features. As different isolated features combine, some vertices, edges, or faces may be either removed or partially trimmed or fragmented into different pieces. According to different modes of feature combinations, there are three classes of hybrid generic features: containing hybrid features, fusing hybrid features, and intersecting hybrid features.
A containing hybrid feature is a combination of several small and large isolated features. The small features are called child features. The large features are called parent features. The child features are completely contained by their parent feature and can be individually separated. Some examples of containing hybrid feature are shown in Figure 4(a). A fusing hybrid feature is a combination of several isolated features whose boundaries are fused together. The boundaries may be fusing due to the damage caused by other boundaries or common face sharing by the isolated features. Some examples of fusing hybrid feature features are shown in Figure 4(b). An intersecting hybrid feature is generated by isolated feature intersection. These isolated features are destroyed by each other. Thus, they cannot be separated and recognized directly. Some examples of intersecting hybrid feature features are shown in Figure 4(c).

Examples of hybrid generic features: (a) containing hybrid feature, (b) fusing hybrid feature, and (c) intersecting hybrid feature.
Finally, the taxonomy of generic features, including isolated and hybrid features, is shown in Figure 5.

Taxonomy of generic features.
Correspondences between generic shape features and design or manufacturing features
Because the proposed generic features are defined based on the shape variations of modeling operations and independent of any specific knowledge, they could correspond to most common types of design and manufacturing features.
The common design and manufacturing features could both be classified into three categories: normal features, transitional features, and surface features. Normal design features refer to the convex and concave portions in a CAD model that are generated by extrude, revolve, sweep, and loft operations. Normal manufacturing features refer to the faces generated by common manufacturing operations such as slots, steps, and holes. Transitional design features refer to the transition regions in a CAD model that are generated by chamfer and fillet operations. Transitional manufacturing features refer to the faces generated by trimming and blending. Surface features refer to the special surfaces that do not belong to any class of normal or transitional features. Figure 6 shows the examples of design and manufacturing features.

Examples of design and manufacturing features.
The major difference between design and manufacturing features is that a design feature could be a convex portion, but the term “manufacturing feature” only refers to a removal of volume, that is, the concave portion. However, obviously, the generations of these features must result in several shape variations. Therefore, the design and manufacturing features could correspond to certain classes of generic features. For example, a conical boss is an internal loop generic feature and also a normal design feature; a step is an edge partition generic feature and also a normal manufacturing feature; a spline surface is a face partition generic feature and also a surface design/manufacturing feature. The correspondences between generic features and design/manufacturing features are summarized in Figure 7.

Correspondences between generic features and design/manufacturing features.
Generic shape feature recognition problem and recognition bases
Generic shape feature recognition is typically used to efficiently re-design the product model. Because the faces can allow users complete control over feature shapes that must be recognized, and each isolated generic shape feature is related to one or more faces, the initial input of generic shape feature recognition is in the form of faces (referred to as
where
Definition 2: FEG
FEG represents the structure of faces and edges of a 3D shape. A node in the FEG indicates a face, and an arc between two nodes indicates the corresponding edge shared by the two faces.
Definition 3: VEG
VEG represents the structure of vertices and edges of a 3D shape. A node in the VEG indicates a vertex, and an arc between two nodes indicates the edge adjacent to the two vertices. Moreover, to determine the appropriate search field in FEG, the concept of a face level must be defined.
Definition 4: face level
The shortest distance in FEG from the input face to a node is defined as the level of that node. For instance, if the input is

Face level around
Based on FEG, VEG, and face level, the recognition methods for vertex-class, edge-class, and face-class generic features are illustrated, respectively.
Recognition of isolated generic features
Based on FEG, VEG, and face level, the recognition methods for vertex-class, edge-class, and face-class generic features are illustrated, respectively, below.
Recognition of vertex-class generic features
A simple example of a vertex elimination feature and its FEG and VEG is shown in Figure 9, to help analyze the characteristics of vertex elimination features in detail. As shown in Figure 9, when

Example of vertex elimination feature recognition.
Due to the altered appearance of the initial basic shape, the vertex elimination feature can be characterized by a set of faces that satisfy the following requirements: (1) they are adjacent to each other, (2) they do not intersect at a vertex, and (3) the extensions of the shared edges between them could intersect at a vertex. The hint manifests that a set of nodes adjacent to each other in FEG, although they have corresponding linking arcs in VEG, do not intersect at one node.
The brief pseudo-code for vertex elimination feature recognition is as follows:
Recognition of edge-class generic features
Edge partition feature recognition
For the recognition of edge partition generic features, a simple example in Figure 10 is used to interpret it. Owing to the modeling operation of edge partition, the edge between

Example of edge partition feature recognition.
In summary, the edge partition feature can be characterized by the hint of a pair of adjacent faces that share two or more edges, namely, a pair of nodes linked by two or more arcs in FEG.
The brief pseudo-code for edge partition feature recognition is as follows:
Edge partition feature recognition
If an edge is eliminated completely, the removed edge will cause a shape variation that could include vertex elimination and face alternation. In the case shown in Figure 11, after the edge adjacent to both

Example of edge elimination feature recognition.
The edge elimination feature can be characterized by the hint that a succession of adjacent faces and any triplet of them would not intersect at a vertex, namely, a series of nodes in FEG that link end-to-end.
The brief pseudo-code for edge elimination feature recognition is as follows:
Recognition of face-class generic features
Internal loop feature recognition
A typical example of an internal loop feature is shown in Figure 12. In this case,

Example of internal loop feature recognition.
In short, an internal loop feature is characterized by being attached to a basic shape through one or more internal loops. Therefore, by detecting the hint of internal loops, the FEG is decomposed into several sub-graphs from the arcs corresponding to the internal loops. The faces in the sub-graph that involve the input face are regarded as relatively independent; hence, they could constitute the internal loop generic feature.
Face partition feature recognition
According to the face partition features, faces are split into two or more parts. A simple example of a face partition feature is shown in Figure 13. As a result of face partition,

Example of face partition feature recognition.
In summary, after face splitting, the remaining faces could share the same surface, which leaves a hint for feature recognition. Thus, the face partition feature can be characterized by the hint that several faces share the same surface, and the faces between the hint faces are candidates to be the feature.
The brief pseudo-code for face partition feature recognition is as follows:
Recognition of hybrid generic features
When several isolated generic features are combined, a hybrid feature shape will be formed. Section “Background of generic shape feature recognition” gives the three modes of hybrid generic feature. This section illustrates the recognition process for various hybrid generic features.
First, the concept of identifying order shall be defined. During the procedure of hybrid feature recognition, the face internal loop feature is easily identified because only one hint face is required. Hence, it is identified first. Two hint faces are required for edge partition feature recognition so that it is identified second. Three hint faces are required for vertex elimination feature recognition so that it is identified third. The recognitions of face partition features and edge elimination features require at least four hint faces. However, several hint faces for face partition feature recognition share an identical geometric surface; thus, a face partition feature is identified before an edge elimination feature. Based on the above conclusions, the five classes of generic features should be identified from hybrid features in the following order
Recognition of containing hybrid feature
In a containing hybrid feature, the contained child features are recognized independently of the parent feature. When a child feature has been recognized, its corresponding nodes should be removed from its parent feature; the parent feature then consists of the remaining nodes.
The steps of containing hybrid feature recognition are designed as follows:
An example of containing hybrid feature recognition is shown in Figure 14. First, an internal loop feature composed of

Example of containing hybrid feature recognition.
Recognition of fusing hybrid features
If a fusing hybrid feature can be recognized by the accumulated hints, it will be recognized directly. Otherwise, the isolated features recognized later will be fused into the feature recognized earlier to generate a fusing feature. The steps of fusing hybrid generic features are designed as follows:
An example of fusing hybrid feature recognition is shown in Figure 15. An edge partition feature is composed of

Example of fusing hybrid feature recognition.
Recognition of intersecting hybrid features
In intersecting hybrid features, several isolated features intersect with each other so that some features may be destroyed and cannot be recognized directly. To recognize the destroyed features, an intermediate step of feature extraction and FEG mending is needed. After an isolated feature is recognized, it will be extracted from the hybrid feature, and then the FEG of the hybrid feature will be amended according to the following rules:
If the extracted feature is an edge elimination feature, the nodes of the faces that share the eliminated edge are linked by an arc.
If the extracted feature is a face partition feature, its hint faces are merged into a new face and the nodes linked with these hint faces are re-linked to the new face.
If the extracted feature is an edge partition feature, the multiple arcs linked to the nodes of the hint faces are merged into one arc.
If the extracted feature is a vertex elimination feature or an internal loop feature, the nodes of this feature are directly extracted from the FEG.
This intermediate step attempts to repair the damaged features to reduce their influence on feature recognition. This process will be repeated until all child features have been recognized.
An example of intersecting hybrid feature recognition is shown in Figure 16. In this example,

Example of intersecting hybrid feature recognition.
Implementation and validation
Based on the approach presented above, a prototype system for generic shape feature recognition from B-rep CAD models is developed using the 3D ACIS Modeler. 25 This prototype system is then validated with some B-rep product models.
Figure 17 illustrates the results of the experiments for the main classes of generic feature recognition, including isolated and hybrid features. The faces constituting the features are highlighted in light green. The vertex elimination, edge partition, edge elimination, face partition, and internal loop features are abbreviated as V-E, E-P, E-E, F-P, and I-L, respectively.

Experiments of generic shape feature recognition.
Next, applications of the proposed approach to three engineering models are exhibited. The first model is an ordinary mechanical part. Some depressions and cylindrical bosses are recognized from the part as face partition, edge elimination, and internal loop generic features. The 3D shape of this model and the features recognized from this model are shown in Figure 18.

The first engineering model.
The second model is taken from the literature. 26 The main classes of generic features are contained in this model (see Figure 19), including face partition (No. 1, 14, etc.), internal loop (No. 2, 20, etc.), vertex elimination (No. 5, 43, etc.), edge partition (No. 9, 24, etc.), and edge elimination features (No. 18, 42, etc.). The manufacturing features recognized in the literature 26 all correspond to these generic features; some additional types of design and manufacturing features (Nos 18, 19, 32, 42, etc.) also could be recognized by the approach represented in this article.

The second engineering model.
The third model is a benchmark presented in the literature. 27 The 3D shape of this model is more irregular, and some intersecting hybrid features are included. Therefore, the feature recognition from the third model needs some indirect steps. As shown in Figure 20(a), the fillet, blend, holes, and grooves will be directly recognized as edge elimination, internal loop, and face partition features. Then, these features are extracted from the model, and some generic features will be recognized indirectly as shown in Figure 20(b). By this procedure, the problem of interacting feature recognition could be solved effectively.

The third engineering model.
Discussion
For the generic feature recognition algorithm above, in this section, we need to evaluate its computational complexity and limitations of the present algorithm.
Computational complexity
Let
Limitations
As described above, it is essential to decompose a hybrid feature into generic shape features, when possible, for efficient shape design. Available hybrid feature decomposition methods such as containing, fusing, and intersecting hybrid features can only process limited shapes, which may lead to some shapes being left as a hybrid feature. Therefore, a more effective decomposition algorithm needs to be found to enable decomposition of complex shapes into more meaningful generic features for efficient re-design.
Conclusion
During the data exchange process between various CAD, CAE, and CAM systems, CAD models with B-rep only are often utilized, and the feature-related information may not be included. However, such meaningful feature shape information is essential for the following product development or manufacturing process. To recognize such feature information from the B-rep-only CAD models, a novel approach for generic feature recognition was presented in this article. The shape variations or hints emerging during the modeling operations on vertices, edges, and faces were traced and collected to obtain generalized properties of the features for generic feature recognition. With this solution, various design and manufacturing features of practical industrial parts can be recognized as generic features for downstream applications. Furthermore, the interacting features can also be recognized as containing, fusing, and intersecting hybrid generic features of a complex shape. The approach was finally implemented on a prototype system. Some experiments and three case studies demonstrated that the approach can be efficiently used to recognize the generic shape features from the B-rep CAD models for shape re-design and manufacturing process planning.
