al. Technology 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. Form feature generation model Completeness of feature set is very subjective, domain dependence eludes a formal definition. Feature generation model proposed by Nalluri and Gurumoorthy 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. Design by features 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 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. Feature recognition The method proposed by Kyprianou was aimed to encode parts for group technology (GT). The purpose of GT is to systematically classify