Keywords

These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

6.1 Introduction

The main objective of any manufacturing organization is to produce high-quality products at the lowest possible cost. The growing complexity of achieving this objective, with sharply rising costs and increased competition, has forced the indus—try to look for alternatives to the traditional approaches to design, manufacturing, and management. Many industries are adopting a concurrent engineering (CE) approach to develop and produce new products in the most efficient manner. Computer-aided process planning (CAPP) systems can help reduce the planning time and increase consistency and efficiency [20]. However, the main problem of transferring the computer-aided design (CAD) data to a downstream computer-aided manufacturing (CAM) system, in order to develop computer-integrated manufacturing (CIM) environment, is the lack of neutral formats as well as content to convey the CAD information [27, 39].

Recently, this has seen changes in organizational structures at the product design level through the prologue of CIM and CE philosophy, and is now seeing changes in industry structures as companies build worldwide manufacturing relationships [36, 38]. Taking these issues into considerations leads to the recognition that the integration between design and manufacturing needs to be made to ensure business competitiveness. In order to achieve the integration of design and manufacturing, understanding of how the manufacturing information can be obtained directly from the CAD system must be addressed [13, 29, 31].

CAD and CAM systems are based on modeling geometric data. The usefulness of CAD/CAM systems is the ability to visualize product design, support design analysis, and link to the generation of part programmers for manufacturing [32]. However, CAD/CAM systems need the standardization that makes them have the ability to communicate to each other. Different CAD or geometric modeling packages store the information related to the design in their own databases and the structures of these databases are different from each other. As a result, no common or standard structure has so far been developed yet that can be used by all CAD packages. On the contrary, the conventional approach to feature extraction is accomplished by the human planner examining the part and recognizing the features designed into the part. Automated feature recognition can best be facilitated by CAD systems capable of generating the product geometry based on features, thereby making it possible to capture information about tolerance, surface finish, etc. [12]. However, such CAD systems are not yet mature and their wide usage in different application domains remains to be seen. For that reason, in this chapter, a methodology for feature analysis and extraction of prismatic parts for CAM applications is developed and presented. This approach aims to achieve the integration between CAD and CAM.

Including this introductory section, the chapter is organized into six sections. The problem statement is addressed in Sect. 6.2. Section 6.3 describes the literature review of the previous research efforts in the area of feature extraction and recognition. The proposed approach for extraction of manufacturing entities from initial graphics exchange specification (IGES) file as a standard format is presented in Sect. 6.4. The implementation of the suggested approach is demonstrated through an example in Sect. 6.5. Finally, Sect. 6.6 presents conclusions.

6.2 Problem Statement

Different CAD or geometric modeling packages store the information related to the design in their own databases. Structures of these databases are different from each other. As a result, no common or standard structure that can be used by all CAD packages has been developed so far. For that reason, this research will try to develop an intelligent feature recognition methodology which has the ability to communicate with the different CAD/CAM systems by using object-oriented and geometric reasoning approaches.

6.3 Literature Review

The recognized features and their relationships due to the feature recognition process are used to restructure the part. A feature has a higher level of abstraction than a geometric primitive in the traditional solid model [8]. Features not only represent the shape but should also contain information on its functions and interrelationship with other features [11].

The most widely used representations methods are boundary representation (B-rep) and constructive solid geometry (CSG). The CSG of the solid model is specified with a set of Boolean operations and a set of 3-D primitive solids as shown in Fig. 6.1. On the contrary, B-rep is one of the solid modeling methods that are broadly used to generate a solid model of a physical object [18]. The B-rep describes the geometry of an object in terms of its boundaries, which are the vertices, edges, and surfaces as shown in Fig. 6.2 [7]. In the next subsections, literature survey in the area of feature representations will be described.

Fig. 6.1
figure 1_6

Constructive solid geometry (CSG) representation

Fig. 6.2
figure 2_6

A boundary representation (B-rep)

6.3.1 Feature Representation by B-Rep

Tseng and Joshi [47] developed a method for feature recognition of mill-turned parts. B-rep was used to create rotational and prismatic components. This method was based on machining volume generation approach to recognize and classify features. The feature volumes were generated by sweeping boundary faces along a direction determined by the type of machining operations. In this approach, first, the part was segmented into several rotational machining zones. Next, the prismatic features were recognized on the bases of intermediate rotational shapes using volume decomposition and maximal volume sweeping and reconstruction. The classification of prismatic features was done by using the face adjacency relationships, while classification of rotational parts was performed by using profile edge patterns.

Aslan et al. [5] developed a feature extraction module for only rotational parts that are to be machined at turning centers. In this paper, the data interchange format (DXF) file was used to extract 2-D, which was represented by B-rep, for rotational parts. This extraction module was a part of an expert system called ASALUS. ASALUS was designed to manage the life cycle of rotational parts from design all the way to production by performing process planning using a generative approach and applying postprocessing for two different computer numerical control (CNC) lathes. Prismatic features and the intersecting features were not involved in this module.

Nagaraj and Gurumoothy [34] described an algorithm to extract machinable volumes that need to be removed from a stock. This algorithm can handle both prismatic and cylindrical components by using the B-rep model. The machinable volumes can be used to automate process planning and NC tool path generation. The algorithm identified the cavity volumes in the part with respect to the outermost faces in the part and filled them with the appropriate primitive volume to obtain the stock from which the part can be realized.

Kayacan and Celik [19] developed a feature recognition system for process planning for prismatic parts. This system was achieved with the B-rep modeling method to give vectorial direction knowledge and adjacent relationships of surface using the Standard for the Exchange of Product Model Data (STEP) standard interface program.

6.3.2 Feature Representation by constructive solid geometry

Requicha and Chan [37] developed a scheme for representing surface features in a solid modeler based on CSG and for associating tolerances and other attributes with such features. Their approach treats tolerances as attributes of object features which are part of the object's surface or topological boundary. They developed a graph structure called the variation graph to represent these features and attributes.

Shah and Roger [42] developed an integrated system for form features, precision features, and material features. The solid representation of the form features is stored as a feature producing volume (CSG tree) and Boolean operators. An object-oriented programming approach is used to represent the feature descriptions. The feature relationship graph is created at the top level of the model, where both the adjacency and the parent—child dependency of the form features are stored.

6.3.3 Feature Recognition Techniques

There are two approaches for building the CAD/CAM interface. They are design by features and feature recognition [14, 22]. Both approaches focus on the concept of “features.” Design by features or the so-called feature-based design is a way of using design features to accomplish the construction of parts' CAD models. At first scene, this may seem to obviate the need for subsequent feature recognition. However, such features, being primarily design-oriented, have to be converted into manufacturing features to build the interface between feature-based design and CAM applications [41]. On the contrary, feature recognition is one of the major research issues in the area of automated CAD/CAM interface.

Various approaches and algorithms are proposed by many researchers. These are syntactic pattern recognition [45], volume decomposition [21], expert system and logic [33], the CSG-based approach [35], the graph-based approach [16], and the neural-network-based approach [11]. Most suggested methods for feature recognition used the internal representation of features that was created by the CAD system which had its own feature structure. On the contrary, there are few researches which had used the standard format of product data. Some of them will be briefly discussed below.

Meeran and Pratt [30] used 2-D entities in a DXF file with no specific order and no relationship in their connectivity. The process of searching and sorting the entities is divided into three groups according to each of three orthographic views. The main objective of the approach was to recognize the machining features of prismatic parts that have planar or cylinder faces in terms of 2-D shapes which are located in the three orthographic views of the drawing. The first step of the approach is recognizing the isolated feature, then providing the library of patterns. The recognition is fundamentally based on the pattern matching approach. It cannot recognize prismatic parts and it has the drawback of using 2-D drawing.

Sheu [44] developed a CIM system for rotational parts. The parametric design and feature-based solid model were used to specify the manufacturing information required to the proposed system. In this system, the boundary of a solid model could be transferred directly into the line and arc profiles. The part model was created by using the cylinder, the cone, the convex arc, and the concave arc as primitives. This system had the ability to convert the wireframe part model into CSG representation by the feature recognition approach. Prismatic components and their interactions were not considered.

Ahmad and Haque [3] developed a feature recognition system for rotational components using DXF file. In this approach, the work geometric information of rotational parts is translated into manufacturing information through a DXF file. A feature recognition algorithm was used to recognize different features of the part from its DXF file, where geometric information of the part was stored after respective DXF codes. Finally, using the data extracted from DXF file, each feature of the part was recognized. The parts are symmetrical and were represented by two dimensions.

Mansour [28] developed simple software to link CAD packages and CNC machine tools. The main feature of this software was its ability to automatically generate part programs for machining sculptured surfaces. To achieve this objective, IGES files of simple or free-form surfaces were exploited. The data extracted from IGES files were used to graphically simulate the tool path due to the center and tip of a ball nose tool and a filleted cutter as well as the tip of a flat-end mill cutter. AUTOCAD and AUTOCAD development system (ADS) were used to convert trimmed surfaces to parametric spline surfaces. The package was not developed to handle other IGES entities which provide a wide range of free-form surfaces.

From the literature review, significant efforts have been focused on the development of fully automatic manufacturing feature recognition systems in the last two decades. No matter which approach is adopted, the geometric information always needs to be constructed early in order to advance the feature recognition. Table 6.1 summarizes the literature review according to the feature recognition method, representation type, standard type, dimension type, and feature type. From the system implementation point of view, the best system should be independent of the format, that is, any kind of data format can be used for the input information and the internal geometric feature representation can be constructed on the basis of the input data. B-rep is the most independent representation because other data formats have several limitations and disadvantages. Therefore, this chapter will adopt the solid modeling representation. On the contrary, the CSG technique will be used as a tool to construct the designed parts, so hybrid CSG/B-rep will be used in this research.

Table 6.1 Summary of literature review

6.4 The Proposed Methodology

In this section, the part design is introduced through CAD software and is represented as a solid model by using the CSG technique as a design tool. The solid model of the part design consists of small and different solid primitives combined together to form the required part design. The CAD software generates and provides the geometrical information of the part design in the form of an ASCII file (IGES) [4] that is used as standard format which provides the proposed methodology the ability to communicate with the various CAD/CAM systems.

The boundary (B-rep) geometrical information of the part design is analyzed by a feature recognition program that is created specifically to extract the features from the geometrical information on the basis of the geometric reasoning object-oriented approaches. The feature recognition program is able to recognize these features: slots (through, blind, and round corners), pockets (through, blind, and round corners), inclined surfaces, holes (blind and through), and steps (through, blind, and round corners). These features that are mapped to process planning as an application for CAM are called manufacturing information. Figure 6.3 shows the structure of the proposed methodology.

Fig. 6.3
figure 3_6

Structure of the proposed methodology

The proposed methodology presented in this chapter consists of three main phases: (1) a data file converter, (2) an object form feature classifier, and (3) a manufacturing features classifier as shown in Fig. 6.4. The first phase converts a CAD data in IGES/B-rep format into a proposed object-oriented data structure. The second phase classifies different part geometric features obtained from the data file converter into different feature groups. The third phase maps the extracted features to process planning point of view.

Fig. 6.4
figure 4_6

Flowchart of extraction and classification of features

6.4.1 Conversion of Computer-Aided Design Data Files to Object-Oriented Data Structure

IGES is a standard format that can be used to define the data of the object drawing in solid modeling CAD systems in B-rep structure (IGES 5.3, 1996). Object's geometric and topological information in IGES format can be represented by the entry fields that constitute the IGES file [17]. The geometric information are in low-level entities, such as lines, planes, circles, and other geometric entities for a given object, and the topological information that defines the relationships between the object's geometric parts are represented, for example, by the loops (external loop and internal loop). An external loop provides the location of main geometric profiles and an internal loop represents a protrusion or a depression (through/blind holes) on an external loop.

6.4.2 The Overall Object-Oriented Data Structure of the Proposed Methodology

In order to have a good generic representation of the designed object for CAM applications, for example, process planning, the overall designed object description and its features need to be represented in a suitable structured database [25]. An object-oriented representation will be used in this chapter. The first step toward automatic feature extraction will be achieved by extracting the geometric and topological information from the (IGES/B-rep) CAD file and redefining it as a new object-oriented data structure as demonstrated in Fig. 6.5.

Fig. 6.5
figure 5_6

Hierarchy of classes and attributes of the designed object

In this hierarchy, the highest level data class is the designed object (shell). An object consists of manufacturing features that can be classified into form features which decomposed of either simple or compound features. A simple feature is the result of two intersecting general geometric surfaces while compound feature is one that results from the interaction of two or more simple features (slot and pocket). Features are further classified into concave or convex as attributes in the generic feature class. Concave features consist of two or more concave faces, and convex features are decomposed of either one or more convex faces or the interaction between other features in the object. Moreover, faces of any designed part may be any type of surfaces such as plane surface, ruled surface, and p-spline surface. Also, the edge of any designed part can be any type of edges such as line, circular arc, and conic arc.

Because of the attributes of the geometric and topological entities of form features (FF), form features can be classified into two categories [12], which are interior form feature (FF interior) and exterior form feature (FF exterior). FFinterior can be defined as the features which are located inside the basic face. On the contrary, FF exterior can be defined as the features which are formed by the entire basic surface with its adjacent faces. The basic face can be defined as the face in which there are features located in that face. Moreover, the interior form features (FF interior) can be further classified into two low-level categories, convex interior form feature (FF interior_convex) and concave interior form feature (FF interior_concave). FF interior_convex is the convex section in a basic face, whereas FF interior_concave is the concave geometric section in the face.

The basic idea to define concave features is to identify concave faces which are defined by a concave edge that connects two adjacent faces. A concave edge is determined by the concavity test that was adapted and modified from Liu et al. [25] and Hwang [15]. Basically, the edge is defined by two vertices (start vertex and terminate vertex) expressed in 3-D solid model in terms of coordinates (X, Y, Z). On the contrary, convex features can be defined and classified as inclined, interaction, or surface. Inclined convex features are defined by a group of convex faces which are not parallel or perpendicular to the smallest surrounded envelope of the designed object. The other type of convex feature, interaction features, results from the interaction of two or more features. Surface convex features are features that locate on the exterior enclosing envelop.

6.4.2.1 Classification of Edges

Edges forms the wireframe of any 3-D solid model and any two adjacent faces can be connected by one edge. Edges can be classified as concave, convex, or tangent edges, as shown in Fig. 6.6. This classification of edges will facilitate the implementation of the proposed methodology as proposed in Fig. 6.5. To represent edge types, the normal vectors of the two faces connected to that edge and the edge direction are determined. Then by applying the connectivity test, the edge classification can be achieved. Also, the angle between the two faces (Ω) is determined by the following equation:where X 1, Y 1, and Z 1 are the components of the normal vector N1 of the first face and X 2, Y 2, and Z 2 are the components of the normal vector N2 of the second face.

Fig. 6.6
figure 6_6

Classifications of edges

6.4.2.2 Classification of Loops

A loop can be defined as the boundary of a face. Moreover, it can be the intersection border of the face with its adjacent faces. In this research, a loop is used as a basic indication to recognize the interior and exterior form features. The loop can be classified as proposed in this research into two categories, external loops and internal loops [12, 49]. External Loop is the exterior border of a basic face of which the loop is examined, while internal loops are located within the basic face. By examining the basic face, an external loop can be identified by the maximum margin of the basic face and the internal loop can be recognized by the interior interface boundary of the basic face with its interior features.

6.4.3 Definition of the Data Fields of the Proposed Data Structure

Generally, faces are the basic entities that constitute the features, which are further defined by edges that are represented in terms of vertices, which are defined in terms of coordinates in CAD file. Therefore, the hierarchy of the designed object that was described in the previous section (Fig. 6.4) represents multilevel of different classes. All classes, except for the superclass representing an object as a whole, are objects of classes that are higher up in the data structure. For example, each edge object is represented in terms of vertex objects. Table 6.2 displays the data attributes required for each class in the object-oriented data structure that is defined before.

Table 6.2 Definitions of classes and attributes

6.4.4 Algorithms for Extracting Geometric Entities from CAD File

The IGES file is sequentially read (on a line basis) and parsed into appropriate entry classes known as DEntry and PEntry as the most important and useful sections of the IGES are the directory section and the parameter section. DEntry represents an entry in the directory section, while PEntry represents an entry in the parameter section. The collection of directory entry classes is contained in a container class called DSection.

Similarly, the parameter entry classes are contained in the PSection class. A Parser class object is created using these classes to parse the information present in the entries and classify the information into different classes that are used to represent different entities of the diagram described by the IGES file. Two algorithms for extraction of data from the IGES file into a proper set of data structures were developed. The first algorithm is developed for extracting entries from directory and parameter sections of the IGES file and it will be addressed later in this chapter. On the contrary, the second algorithm is developed for extracting the basic entities of the designed part [1].

6.4.4.1 Algorithm for Extracting Entries from Directory and Parameter Sections

  • Algorithm to extract the directory entries and the parameter section entries from the iges file.

  • This process takes place during the construction of an object of IGESFile class.

  • Each such object represents one IGES file.

  1. 1.

    Create a file descriptor IgesFile.

  2. 2.

    Create an empty dSection1 class (container to store dEntry objects).

  3. 3.

    Create an empty pSection1 class (container to store pEntry objects).

  4. 4.

    Open the Iges file for reading using IgesFile file descriptor ∕∕ Read the file to scan and extract the directory and parameter sections.

  5. 5.

    While ReadLine line1 from the Igesfile

    1. 5.1

      If line1 belongs to Directory section

      1. 5.1.1

        If line1 is the first line of Dsection

        1. 5.1.1.1

          Set dIndex to 1

      2. 5.1.2

        ReadLine line2 from the Igesfile

      3. 5.1.3

        Create an object dEntry1 of class DEntry

      4. 5.1.4

        Set dEntry1 index using dIndex

      5. 5.1.5

        Initialize dEntry1 using string Line1 + Line2

      6. 5.1.6

        Add dEntry1 to dSection1 class

      7. 5.1.7

        Set dIndex = dIndex + 1

    2. 5.2

      If line1 belongs to Parameter Section

      1. 5.2.1

        If line1 is the first line of PSection 5.2.1.1 Set pIndex to 1

      2. 5.2.2

        Create an empty string Line2

      3. 5.2.3

        while pEntry data incomplete

        1. 5.2.3.1

          ReadLine Line3 from the Igesfile

        2. 5.2.3.2

          Append Line3 to Line2

      4. 5.2.4

        Create an object pEntry1 of class PEntry

      5. 5.2.5

        Set pEntry1 index equal to pIndex

      6. 5.2.6

        Initialize pEntry1 using string Line1 + Line2

      7. 5.2.7

        Add pEntry1 to pSection1 class

      8. 5.2.8

        Set pIndex = pIndex + 1

    3. 5.3

      If line1 belongs to Terminate Section

    4. 5.4

      exit while loop

  6. 6.

    End of while loop

6.4.5 Extracting Form Features from Computer-Aided Design Files

The edge direction and the face direction are the basic entities information that is used to extract both simple and compound form features from the object data structure. The edge directions in object models can be defined such that when one walks along an edge, its face is all the time on the left-hand side. When an edge is located in the external loop of a face, its direction will be in anticlockwise direction relative to the surrounding face. On the contrary, when an edge is located in the internal loop of a face, its direction will be clockwise [15].

The concave edge test used in research is based on the cross product of the normal vectors of the two faces joined by a given edge. This is done by applying vector geometry to the face and edge direction vectors. Figure 6.7 shows the symbols used in this test where the i th face is designated as F i , its corresponding normal direction vector is defined as N i in the upward direction with respect to the given face, and the kth edge is designated as E k . For each edge of the designed part, the edge (E k ) is shared by two faces (F i and F j ) where the order is right to left from the left side of the edge view perspective. The direction vectors of the faces are as described above (N i and N j ). Finally, the edge's directional vector is given with respect to the face Fi using the loop L i that contains the edge (E k ). The following is the methodology for the concavity test:

  1. 1.

    The cross (vector) product (V) of the directional vectors of the faces is determined as follows: V=N i ×N j

  2. 2.

    The direction of the edge E k with respect to the face F i is determined. The normal vector Ni of face Fi must be the first component in the cross product of step 1.

  3. 3.

    if the direction vector of the edge E k from step 2 is in the same direction of cross product V, then the edge E k is a convex edge that concludes F i and F j are convex faces, otherwise, it will be a concave edge and F i and F j are concave faces. Also, if the cross product vector V is a zero vector that means that the edge is of tangent category.

Fig. 6.7
figure 7_6

A concave edge example

This procedure will be done on all the edges of the object to define the concave, tangent, or convex faces. Moreover, concave features will be identified by the premise that concave faces include at least one concave edge with adjacent concave faces forming a concave face set. Each concave face set defines a concave feature. Similarly, adjacent convex faces form a convex face set. Two algorithms are developed to determine the concavity of both edges and loops. The concavity edge algorithm will be discussed later in this chapter while the concavity loop algorithm can be found in Abouel Nasr and Kamrani [2].

6.4.5.1 Algorithm for Determination the Concavity of the Edge

The following algorithm is used to find the concavity of a line entity. This algorithm is used by the Line class to find the entities.

  1. 1.

    Length of Line =

  2. 2.

    concavity = UNKNOWN

  3. 3.

    If face1 surface type = = PLANE and face2 surface type = = PLANE

    1. 3.1.

      Assign crossDir = cross product of face1 normal vector and face2 normal vector

    2. 3.2.

      If crossDir = = 0

      1. 3.2.1

        concavity = TANGENT

    3. 3.3

      Else

      1. 3.3.1

        Calculate the direction vector edgeDir for the line with respect to the loop

        1. 3.3.1.1

          If crossDir is in the same direction as edgeDir

          1. 3.3.1.1.1

            concavity = CONVEX

        2. 3.3.1.2

          Else

          1. 3.3.1.2.1

            concavity = CONCAVE

  4. 4.

    If face1 surface type = = RCCSURFACE and face2 surface type = = PLANE

    1. 4.1

      Find dir1 (direction) that is orthogonal to the plane containing the edge and the axis of face1

    2. 4.2

      if dir1 and normal of face2 are orthogonal to each other 4.2.1 concavity = TANGENT

6.4.5.2 Algorithms for Feature Extraction (Production Rules)

The proposed methodology is able to extract many manufacturing features. Each feature has its own algorithm (production rule). The following are the two algorithms used for extraction of both step through and step through with round corners:

  • Feature: STEP THROUGH (Fig. 6.8)

    1. 1.

      For every concave edge of type Line in the edge list.

    2. 2.

      If the two common faces (face1 and face2) of the edge (e 1) are plane and orthogonal to each other

      1. 2.1.

        if outer loop concave edge count equals 1 in both the faces

        1. 2.1.1.

          STEP THROUGH found

        2. 2.1.2.

          Create a new StepT object and add to feature list

    3. 3.

      End for

    Fig. 6.8
    figure 8_6

    Step through

  • Feature STEP THROUGH ROUND CORNER (Fig. 6.9)

    1. 1.

      For every 3 tangent edges of type Line in the edge list (e1, e2, e3)

    2. 2.

      If the common face of the 2 edges is quarter cylindrical surface (F2, F3).

      1. 2.1

        The other two faces (F1, F4) connected to edges are perpendicular to each other.

        1. 2.1.1.

          If concave edge count of the outer loops of the four faces equals 0 each.

          1. 2.1.1.1.

            STEP THROUGH ROUND CORNER found

          2. 2.1.1.2.

            Create a new StepT_RC object and add to feature list.

      2. 3.

        End For

Fig. 6.9
figure 9_6

Step through round corner

6.5 Illustrative Example

The proposed methodology is used for the component illustrated in Fig. 6.10. Mechanical Desktop 6 Power Pack is the CAD system used that supports B-rep and IGES translator. However, other similar CAD systems that support IGES translator can be used. The proposed methodology is developed by using Microsoft Visual C++ 6 windows based on PC environment. The designed object consists of eight different features and prismatic raw material.

Fig. 6.10
figure 10_6

An illustrative example

Mechanical Desktop CAD system is one of the recent CAD softwares that can be used for design applications. This CAD system supports both B-rep and IGES translator (version 5.3). In Mechanical Desktop, the designed part can be represented by 2-D or 3-D drawings. In this chapter, the part designs are represented by 3-D solid models using the CSG technique as a design tool. After creating the 3-D solid model of the designed part, the CAD user has to export the 3-D solid model file into the IGES format provided that B-rep option version 5.3 should be highlighted. Then the user has to save the IGES file in order to be used as an input for the developed program. This file is designated as geometrical attributes file. By applying the proposed methodology, the final results are shown in Table 6.3.

Table 6.3 Manufacturing features

6.6 Conclusion

In this chapter, a new methodology for extraction manufacturing features from IGES file format was introduced. The proposed methodology was developed for 3-D prismatic parts that were created by using solid modeling package by using the CSG technique as a drawing tool. The system takes a neutral file in IGES format as input and translates the information in the file to manufacturing information. The boundary (B-rep) geometrical information of the part design is analyzed by a feature recognition program that was created specifically to extract the features from the geometrical information on the basis of the geometric reasoning and object-oriented structure approaches.

The methodology discussed has several advantages over other methods suggested in the literature. First, by using the object-oriented approach, the proposed methodology has the ability to provide a good and generic representation of the simple and compound product data in which the feature, geometry, topology, and manufacturing data are associated. Second, the proposed methodology is flexible to the variations of the IGES file format from different vendors that offer different CAD systems. Third, the proposed methodology separated the extraction module of the IGES entities of the designed part from the subsequent modules of the program. This makes the proposed methodology easily adaptable to any other standard format such as STEP or DXF. Fourth, the proposed methodology is using the IGES format as a standard input. Most feature recognition approaches found in the literature have been developed by the internal data structure of the CAD system. Therefore, these approaches are specific domain for these CAD systems. The proposed methodology can also extract simple curved features like round corners. Most researchers who extracted curved features tried to approximate the curvature of the surfaces which result in inaccurate representations or extraction of the manufacturing features. Finally, the proposed methodology operates in 3-D solid modeling environment which gives it a powerful ability to be used by the current manufacturing technology.