**3.3.2 Solid feature recognition**

B-rep models are not feature-based. In order to convert a B-rep model into a feature-based solid model, the embedded solid features must be recognized, and a feature tree that describes the sequence of feature creation must be created.

One of the most successful algorithms for geometric feature recognition has been proposed by (Venkataraman et al., 2001). The algorithm uses a simple four step process, (1) simplify imported faces, (2) analyze faces for specific feature geometry, (3) remove recognized feature and update model; and (4) return to Step 2 until all features are recognized. The process is illustrated in Fig. 6. Once all possible features are recognized, they are mapped to a new solid model of the part (Fig. 6d) that is parametric with a feature tree. This feature tree defines the feature regeneration (or model rebuild) sequence.

Fig. 6. Illustration of *GFR* algorithm, (a) imported surface model with hole surface selected, (b) hole recognized and removed, extruded face of cylinder selected, (c) cylindrical extrusions recognized, base block extrusion face selected, and (d) all features recognized and mapped to solid model

Venkataraman's method was recently commercialized by Geometric Software Solutions, Ltd. (GSSL), and implemented in a number of CAD packages, including *SolidWorks* and *CATIA*, capable of recognizing basic features, such as extrude, revolve, and more recently, sweep. This capability has been applied primarily for support of solid model interchanges between CAD packages with some success, in which not only geometric entities (as has been done by IGESInitial Graphics Exchange Standards) but also parametric features are translated.

One of the major issues revealed in commercial *GFR* software is design intent recovery. For example, the flange of an airplane tubing would be recognized as a single revolve feature, where a profile sketch is revolved about an axis (Fig. 7a). However, current *GFR* implementations are not flexible. As shown in Fig. 7b, without adequate user interaction, the single sketch flange may be recognized as four or more separate features. While the final solid parts are physically the same, their defining parameters are not. Such a batch mode implementation may not be desirable in recovering meaningful design intents.

Fig. 7. Feature recognition for airplane tubing flange, (a) single revolved feature, and (b) four features: revolve, extrude, cut, and fillet
