The term "feature" implies different meanings in different engineering disciplines. This has resulted in many ambiguous definitions for feature. A feature, in computer-aided design (CAD), usually refers to a region of a part with some interesting geometric or topological properties.[1] These are more precisely called form features. Form features contain both shape information and parametric information of a region of interest. They are now ubiquitous in most current CAD software, where they are used as the primary means of creating 3D geometric models. Examples of form features are extruded boss, loft, etc. Form feature is not the only type of feature that is discussed in CAD literature. Sometimes a part's functional or manufacturing features of the subject of attention.[2] [3] Although it is quite possible to see form features and manufacturing features are called by the same name, they are not exactly the same concepts. For example, one may either use the name "pocket" to refer to a swept cut on the boundary of a part model, or to refer to a trace left on the part boundary by a specific machining operation. The former is exclusively concerned with a geometric shape whereas the latter is concerned with both the geometric shape and a manufacturing operation, needing more parameters in its definition. As such, a manufacturing feature can be minimally defined as a form feature (if it has a form that can uniquely represent it), but not necessarily vice versa (forms can be interpreted differently in different manufacturing domains). Machining features are an important subset of manufacturing features. A machining feature can be regarded as the volume swept by a "cutting" tool,[4] which is always a negative (subtracted) volume. Finally, there is also the concept of assembly feature, which encodes the assembly method between connected components.
Feature data in CAD can be specified either as a collection of surfaces or as volumes. Surface features can be used to describe manufacturing tolerances or locating surfaces in assembly design. Volumetric features on the other hand, can be used in tool path generation, etc. Manufacturing information (particularly in machining) is better portrayed by using volumetric features.
The first published work on features was for the original boundary representation modelling system, BUILD, and was performed by Lyc Kyprianou.[5] Soon other work followed based on different solid representations. Overviews on the work on features can be found in Shah et al.;[6] Subrahmanyam and Wozny;[7] Salomons et al.[8]
Work on features (generally called feature technology) can be divided into two rough categories: Design-by-features and Feature recognition. In design-by-features, also known as feature-based design (FBD), feature structures are introduced directly into a model using particular operations or by sewing in shapes. On the other hand, the goal of feature recognition (FR) is to algorithmically extract higher level entities (e.g. manufacturing features) from lower level elements (e.g. surfaces, edges, etc.) of a CAD model.
Completeness of feature set is very subjective, domain dependence eludes a formal definition. Feature generation model proposed by Nalluri and Gurumoorthy[9] attempts to define the completeness of a feature set. They define domain independent form feature as a set of faces with distinct topological and geometric characteristics. They have modelled creation of a form feature as addition/subtraction of feature-solid (exact minimum volume required) to/from based-solid. They define feature "Type" based on the local topology of participating base-solid faces and "shape" based on shape of the feature-solid. Based on these definitions, they have enumerated and classified form features. For example, they have enumerated 94 sweep form feature types with possibility of each feature type having unlimited number of shapes. They provided proof those 94 types are complete for sweep feature-solid. They have modeled the feature extraction as a reverse process of their feature generation model. They have developed a feature recognition algorithm based on the concept of computing dynamic topological status of faces. They also defined a framework for mapping these domain independent features to a specific domain of interest.
By using features to build up shape models, the design process is made more efficient, because the shape of features can be pre-defined. Features in FBD can be directly associated to manufacturing information [10] so that these informations can be retrieved in downstream applications. In this way, an overall CAD/CAM system can be fully automated, however, the idea of using manufacturing features to design a part has its own shortcomings: The features used to design the part do not necessarily represent the best way to manufacture it. It is, therefore, the designer's responsibility to evaluate all methods that can produce the part. Furthermore, manufacturing features are not the most natural way of designing a part.
The method proposed by Kyprianou was aimed to encode parts for group technology (GT). The purpose of GT is to systematically classify objects based on their manufacturing method. Kyprianou's work involved classifying faces into primary and secondary groups and then identifying features according to patterns of these primary or secondary faces. A primary face is one with multiple boundaries (also called "hole-loops") or mixed concave and convex boundaries. A concave boundary is a set of concave edges, where the solid angle over the edge is more than 180. Secondary faces are all other faces. Kyprianou's work was continued and extended by Jared et al. to cover a number of important special cases where features interacted.
Automatic Feature Recognition (AFR) is regarded as an ideal solution to automate design and manufacturing processes. Successful automation of CAD and CAM systems is a vital connection in building Computer Integrated Manufacturing (CIM) systems.[11] This is the part of the FR research that has attracted much of the attention. Another important application of AFR is for manufacturability evaluation.[12] The AFR system should be able to interpret the design differently based on alternative features and feed back the manufacturability and cost of those interpretations to the designer.
There is a big stockpile of different AFR techniques that has been proposed for CAD/CAM integration and process planning. Han et al.[13] provides a critical and detailed analysis of some of the existing approaches. The most common methods according to Han et al. range from graph-based algorithms to hint-based and volumetric decomposition techniques. In the graph-based feature recognition, a graph showing the topology of the part (connection of faces) is created. The graph is often attributed, for example the edges are marked as concave or convex.[14] This graph is then analyzed to extract subsets of nodes and arcs that match with any predefined template. This is done by a variety of techniques, including graph iso-morphism algorithms.[15]
Graph based approaches have been criticized for several shortcomings. They fail to account for manufacturability of the recognized features due to their strong reliance on topological patterns rather than geometry. The intersection of features causes an explosion in the number of possible feature patterns that spoils any attempt to formulate feature patterns. To address these difficulties, Vandenbrande and Requicha.[16] proposed to search for "minimal indispensable portion of a feature's boundary", called hints, rather than complete feature patterns. For example, presence of two opposing planar faces is a hint for potential existence of a slot feature. Hints are not necessarily restricted to the part geometry. They can be extracted form tolerances and design attributes as well. For example, "a thread attribute may be taken as a hole hint". This approach has been more successful in recognizing intersecting features. However, the efficiency of the approach has been argued, as there could be a huge number of traces that won't lead to valid features. Some authors have been in favor of using a hybrid of graph based and hint based FR to improve the efficiency of hint-based reasoning. In the hybrid approach, graph-based reasoning is used to find out those regions of the part that certainly lead to valid features when used by the hint based reasoner.[17] [18] Other existing FR approaches are volumetric decomposition,[19] [20] Artificial Neural Networks,[21] and expert systems[22] Babic et al.[23] briefly introduces many of them.
However, building feature recognition systems that function effectively on real industrial products has been elusive. A real product with hundreds of faces and end edges brings almost all the above approaches to a halt due to computational complexity. Furthermore, the features studied in these approaches are usually over simplified. The bulk of the feature recognition literature normally deals with 2.5D features (those made by sweeping a 2D profile along a linear axis). Graph representations, hint definitions or volume decompositions are much more difficult to define for 3D and free form features. The work done by Sundararajan [24] is focused on free form surfaces, but again it is limited in application. Oversimplification is also evident even in the course of 2.5D features. For example, feature recognition algorithms usually assume sharp concave edges in the feature geometry. However, such edges are barely used in real design of mechanical components due to manufacturing constrains. Some of these issues such as the presence of filleted edges and free form surfaces in the model have been studied by Rahmani and Arezoo.
Few commercial feature recognition systems are also available. Though feature recognition technology can be applied for various applications, commercial software have effectively adopted feature recognition technology for recreating the feature tree from imported models so that even the imported models can be edited as if it were a native solid model. Major 3D CAD modelers have Feature Recognition to convert imported 3-D models into native feature based models. CAM software and design for manufacturing software are also built using this feature recognition technology. Few CAD/CAM software have used commercially available third-party feature recognition library, which recognizes various features from 3-D B-Rep models. Separate libraries are available for Design, Manufacturing and Sheet metal applications. Design feature recognition library can identify features such as holes of various types, split holes, hole-chains, fillets, chamfers, cut extrudes, boss extrudes, drafted extrudes, revolved cuts, revolved bosses, ribs, drafts, lofts and sweeps are identified. Manufacturing feature recognition library provides recognition of manufacturing features such as simple holes, tapered holes, counter-bore holes, counter-sunk holes, counter-drilled holes, hole-chains, hole patterns such as linear, rectangular and circular patterns, fillets, chamfers, blind pockets, through pockets, drafted pockets, filleted and chamfered pockets, simple slots, drafted slots, filleted and chamfered slots, islands in pockets and slots, machinable volumes, machinable slabs, multiple intersecting features, axi-symmetric features such as external turned profiles, internal turned profiles, turned grooves such as vee and dovetail grooves, and mill-turn features such as slots and pocket in turned profiles. Sheet metal feature recognition library extracts features from a sheet metal perspective. Various features identified through this library include walls, bends, holes, cutouts, flanged holes, flanged cutouts, notches, open hems, closed hems, teardrop hems, rolled hems (curls), jog flanges, edge flanges, contour flanges, stamps such as louver, lance, bridge, dimple, beads, embosses and ribs. Though such commercial systems can identify a variety of features listed above, further research can be driven to identify feature types that are not identified by such commercial systems. Manufacturing features such as 3-axis and 5-axis feature recognition are generally not available in such commercial systems.