Development of a feature recognition module for tapered and curved base features

This paper presents a feature recognition module which uses the B-rep details extracted from the Standard for Exchange of Product (STEP) format to recognize the manufacturing features on a prismatic part. It adopts the syntactic pattern recognition technique to recognize five classes of features considered in this research by matching the standard pattern strings developed for every class of the feature. Using these strings, initially, the types of faces on the prismatic part are determined and edge loops are constructed. The edge loops describe a feature by the information implicit in the details of the edges, vertices, coordinate points, and directions. Using the edge loops and by checking the presence of similar edge loops on parallel faces and the connectivity of faces between parallel edge loops, the final shape of a feature is identified. The developed methodology identifies interacting, tapering, interacting – tapering, curved base features, and tapering cross-sections. Methodologies are presented here to calculate the full dimensional details of all of the features. A case study dealing with complex geometries is presented in the validation of the proposed feature recognizer.


Nomenclature
VP(i),..., VP (n) Vertex points, where i =1, 2, 3,..., n FPV Face position value X(i), Y (i), Z(i) X, Y, Z coordinate points of a VP, where i =1, 2, 3,..., n e(i),..., e (n) Edges of the feature, where i =1, 2, 3,..., n EL(i),..., EL(n) Edge loops of the features constituting edges e(i),..., e(n), where i =1, 2, 3,..., n F(i),..., F ( The term "feature" holds different definitions in various fields owing to the nature of its usage.In the design area, it is termed as a design feature and is defined as "an object which contains the details of geometrical and topological relationships to define the edges, vertices and coordinate points with their size, shape and orientation in respective planes."In machine dynamics, it is termed as a functional feature and is defined as "an object which contains the details of a dynamic operation with kinematical relationships showing the movement in a particular axis."In the manufacturing field, it is termed as a manufacturing feature and is defined as "an object which contains the details of removal volume required for a particular machining operation."Generally, in computer-aided process planning (CAPP) systems, feature recognition serves as the means of translating the design features into manufacturing features by utilizing the details of geometrical and topological parameters from the design to identify the size of the removal volume, tool approach direction, and number of passes required for a machining operation.Most CAPP systems are developed by following two approaches; variant and generative.The former focuses on developing the process plans by adopting a suitable group technology (GT) coding scheme, whereas the latter uses expert rules to select appropriate machining methods required to complete the part.In both of the approaches, a part model in neutral format is adopted and feature extraction is carried out by one of several techniques, namely, syntactic pattern recognition, volume decomposition, attributed adjacency graph, etc., to convert the part design details in B-rep data from the neutral formats into manufacturing features.Most of the CAPP systems developed so far deal with a variety of straight features of slot class, step class, hole/pocket class, and their interactions with each other on the planes [1][2][3][4][5][6].These systems are found lacking in the identification of complicated features, such as tapering features, features with curved bases, and interacting features of these combinations [1][2][3][4][5][6].This research work concentrates on developing a feature recognizer for recognizing complicated features such as tapered cross-sections, curved bases, and their interactions, and is an extension of the work of Hebbal [1] on the rough machining of normal features adopting the DXF (drawing exchange) format.In the proposed feature recognizer (Fig. 1), the details of the rough machined part and the final part are extracted from STandard for Exchange of Product (STEP) data [AP203/ 214] neutral formats after modeling in the SolidWorks software package.The part details from the STEP AP203/ 214 formats extracted by the interfacer (IFST) are inputted to the feature recognizer, which adopts the syntactic pattern recognition technique to recognize the features present in the rough machined part and the final part.
In this research, a feature recognizer has been developed which is capable of identifying the combinations of different shapes of features differentiated on the basis of slot, step, pocket/hole, chamfer, and fillet.The proposed feature recognizer is capable of recognizing 28 normal features and nine types of taper.Combinations of the nine types of taper with each of the 28 normal features produces a total of 28×9=252 tapered features.However, some of these features are irrelevant and, after due analysis, 195 tapered features that are functionally relevant have been identified.The 28 normal features are listed as follows: These features are considered as micro features when their dimensions lie between 1-3 mm.

Literature review
Recognizing machining features from a CAD model is the first and foremost task in a CAPP system to plan further activities.This section presents the various methodologies developed to identify manufacturing features by using different feature recognition approaches and neutral formats during the last two decades.Hebbal [1] developed a feature recognition system using a syntactic pattern recognition technique named CAPPS_PRINTER.He developed a feature recognizer to recognize primitive depression, protrusion, planar, and inclined features and also certain complex features and a wide range of interacting features.Sandiford and Hinduja [2] developed a feature recognition system to identify features, namely, step, slot, pocket, and protruded features by using volume decomposition technique.Huang and Yip-Hoi [3] proposed a methodology for extracting application-specific features, known as high-level features (such as holes, slots pockets, and notches) by using feature relationship graphs.Jain and Kumar [4] presented an approach to identify volumetric features (such as slot in slot, slot in step combinations) from three-dimensional wire frame models for prismatic parts.Dereli and Filiz [6] identified normal features (slot, step, through hole) from prismatic parts using the STEP AP203 format.In their approach, they validated the models by means of Euler's law and used attributed adjacency relationship graphs for identifying the features in the part.
A brief overview of feature recognition techniques has been given by Subrahmanyam and Wozny [7].They discussed several feature recognition techniques, namely: (i) volume decomposition techniques, such as convex hull, cavity volume; (ii) decomposition by slicing laminae; and recent approaches such as attributed adjacency graph, frame-based feature extraction, hint-based feature recognition, and shape feature object graph.Qiang and Marefat [8] interpreted CAD data for manufacturing applications and pointed out the limitations as well as future directions of research in this area, namely; (i) most of the existing approaches of automatic feature recognition are limited to a particular application; (ii) the definition of features in CAD systems is application-oriented; (iii) the recognized features need validation for the given application; (iv) standardization is necessary for transferring a model from one system to another system; and (v) data regarding tolerances, surface finish, and functional features have to be effectively utilized for feature recognition.Han and Requicha [9] developed a feature recognizer named IfP 2 using a hint-based reasoning approach to interpret the part in terms of machining features by characterizing them as slot, step, V-groove, etc.
2.1 Literature on feature recognition techniques using vendor-neutral formats Abouel Nasr and Kamrani [10] proposed an intelligent feature recognition methodology to develop a feature recognition system suitable for various CAD/CAM systems.They adopted an object-oriented approach and converted the CAD data stored in IGES format into an object-oriented data structure to identify various features (slot, step, and pocket).Ferreira and Vivian [11] presented a system for recognizing features such as cylinders, cones, and chamfers in cylindrical parts in an Internet-oriented CAD/CAM system.They used an ACIS modeler for designing and converted the SAT format into a VRML format useful for accessing through the Internet.An overview of previous research in the domain of feature recognition using various vendor-neutral standards is given in [12][13][14].Sadaiah et al. [15] designed and developed a generative CAPP system for aerospace prismatic components.In their system, API was used from SolidWorks 98 Plus, with VB 6.0 and Oracle 7.3 as a back end to the CAPP system.Ibrahim and McCormack [16] presented a new method for defining features based on a type of hint-based taxonomy.In their method, they modified the traditional attributed adjacency graph technique and avoided the extraction of sub graphs for the feature identification process.
Chen et al. [17] presented an object-oriented hierarchical case representation scheme for automotive panels in a case-based CAPP system.In their approach, they developed two models, named extended object model (EOM) and case object model (CAOM), and divided the system into three kinds for solving the problem.They are as follows: (i) the part's information, including general and geometric information; (ii) indexing information used for case retrieval; and (iii) the generation of process plans.Pal et al. [18] presented a hybrid approach for extracting normal and non-interacting 3D features from large CAD databases using a genetic algorithm (GA).They applied a GA to select the best solution and to avoid a large number of insignificant options while dealing with features in the database.They also presented a strategy for machining the interacting features using a spatial reasoning approach [19].Pal and Kumar [20] presented a hybrid approach for the identification of 3D features from CAD databases.The hybrid approach is partly mathematically iterative and partly based on heuristic rules.In their publication, details are given for the experimental results, together with the CPU times.
Sakuari [21] decomposed polyhedral objects such as polygons and polyhedrons into the maximum number of convex cells and generated a global elimination matrix.Further, he identified the delta volume required for the removal and generated the sequence of operations to machine the part.Zhou et al. [22] presented an approach to integrate CAD and CAPP using commercial systems.They focused on 5-key techniques to integrate CAD/CAPP/ CAM, namely; (i) feature parameters and constraints extraction; (ii) feature precedence tree reconstruction; (iii) technical information processing; (iv) automatic process marking; and (v) 3D material stock geometric model generation.Ismail et al. [23] presented a new algorithm to recognize features, called the edge boundary classification technique, for the recognition of conical features, through and blind holes, bosses, and internal undercuts.

Literature on feature recognition techniques using STEP protocols
Another interesting research related to CAPP using the STEP protocol AP203 has been carried out by Lau et al. [24], who proposed a methodology for integrating CAD data with CAPP.They extracted the features from a STEP AP203 file and generated process plans using the GT approach, using a rule-based decision support system for identifying the features from a STEP file.Gao et al. [25] presented a feature-based CAD/CAM integration system and discussed the difficulties faced during the integration.They focused on the hole-series features that are present in gearbox components.In their system, they developed an approach to convert the design feature model into the machining feature model in order to realize the interest of feature-based CAD and CAPP activities.Finally, they converted the whole data set into STEP format (AP224) and tested it with a CAPP system.McCormack and Ibrahim [26] used adjacency-based feature extraction methodology to recognize the features of prismatic parts from the STEP file.An integrated geometric modeling system that supports featurebased modeling and a feature recognizer for extracting machining features have been developed by Lee and Kim [27].Features similar to that defined in AP224, i.e., depression, protrusion, and transition features, were modeled and rough machining volumes required for 3-axis milling operations were extracted.A system to interlink design and process planning for prismatic parts has been developed by Kang et al. [28] by considering the STEP AP224 format.Fu et al. [29] also proposed an approach for identifying the manufacturing features from IGES, STEP AP214, DXF, and SAT formats.From the analysis of the literature, it is evident that research over the past two decades has concentrated mainly on recognizing the normal features and their interactions in prismatic parts.For these features, different types of feature recognition techniques and methodologies have been developed for solving the complications encountered while interlinking product data with the CAPP systems.Further, various neutral formats from CAD systems, namely, DXF, IGES, PDES, and STEP, are used to extract the B-rep details.It is seen that the identification of tapered and curved base features has not been given due attention.It is, therefore, proposed to develop a new approach based on a syntactic pattern recognition technique for identifying the features of tapered cross-sections and curved bases using the STEP standard.New methodologies for identifying tapered features are uniquely developed based on existing concepts.The details of the basic concepts and methodologies developed in this research are presented in the next section.
3 Basic concepts adopted for feature recognition A brief overview of all of the basic concepts adopted for feature recognition in prismatic parts taken from Hebbal [1] is presented below: 1. Additional edges.The entire area of a face is enclosed by a set of edges arranged in the form of a closed geometrical structure.These edges are called the main edges or, simply, edges.In some cases, apart from the main edges, a face may have another set of edges arranged in the form of a closed structure or a circular edge, representing a cavity on the face.Such edges are referred to as "additional edges."A schematic representation of main edges and additional edges is shown in Fig. 2a. 2. Edge loop (EL1, EL2,...).The successive edges of a face having the predefined string of a feature is termed as an edge loop.In Fig. 2b, the successive edges e1, e2, and e3 constituting the string "BID" for the feature blind slot with curved base is termed as an edge loop with notation EL1. 3. Face geometry.Provides the information about the shape of a face, such as rectangular face, polygonal face, etc.In this research, the different types of faces are classified based on the concept of edge loops as: (a) face having no edge loops, namely, perfect quadrilateral faces, standard geometrical shapes, such as rectangle, square, polygon, etc., and (b) face having edge loops, namely, perfect quadrilateral face (PQ face/PQF), face with standard geometrical shape (FSG) (other than a rectangle, square, and circle), complex polygon face (CPF), face with a cavity (FWC), and circular face (CRF).An example of a CPF face (with edge loops) is shown in Fig. 2c.Corresponding edges.The term corresponding edges is used to describe an interrelationship between two edges.For example, in Fig. 2d, the edges (e1, e2, e3) and (e4, e5, e6) having identical strings can be recognized on parallel faces F1 and F2, respectively, in the X-Z plane.For such parallel edge loops, corresponding edges can be defined as follows: an edge e(i) (say e1) of one edge loop is said to be the corresponding edge for the edge e(j) (say, e4) of another edge loop if any one of the following conditions is satisfied: (i) the coordinates representing the plane, i.e., the X and Z coordinates for the edges e(i) and e(j) are the same; (ii) both e(i) and e(j) are constituents of an edge set representing a face inclined to the X-Z plane (since both edge loops are located in this plane); (iii) both of the edge loops EL1 and EL2 are of same type, i.e., both are open or closed or circular edge loops and represented by identical string subsets; and (iv) both faces, i.e., F1 and F2 are in the same plane.8. Common face.Defined as the face that contains two edges of different edge loops present in similar planes.An example of a common face in the part shown in Fig. 2d is F7, which contains two edges of different edges e1 and e4. 9. Linking face.The face which joins two adjoint edge loops in faces present in similar planes.The linking faces in Fig. 2d for the feature slot containing edges (e1, e2, e3) and (e4, e5, e6) are F7, F8, and F9.
10. Parallel edge loops.Two edge loops are considered as parallel if: (i) the coordinate points which constitute the edges shares a common difference; (ii) both of the edge loops lie in the same plane; (iii) the string represented by the edge loop is similar.In the part shown in Fig. 2e, EL1 on face F1 and EL4 on face F2 are parallel edge loops.
11. Face parallel to an edge loop.A face is considered to be a parallel face to the edge loop if: (i) the face lies in the same plane as the edge loop; (ii) there is a presence of connecting faces between the edge loops.In Fig. 2e, the face F9 for the blind slot having edge loop EL2 (e7, e8, e9) is a face parallel to the edge loop.12. Set of edge loops representing interacting features.Edge loops are considered as a set that represents the interacting features if the edge loop is present in the connecting face of the two parallel edge loops.In Fig. 2e, the edge loop EL1 (e1, e2, e3) contains a parallel edge loop EL4 (e4, e5, e6) with EL3 (e10, e11, e12) and EL5 (e13, e14, e15), representing an interacting feature.
Apart from the above concepts, some standard concepts, such as pattern primitives and strings, are well known and can also be obtained from standard sources [30].

Methodology to determine normal and tapered features
The methodology of determining normal features is described in [8] and the same has been adopted in the present work.The methodology of recognizing tapered features is presented here and is explained through Fig. 3a,b: Step 1. Projection of point on parallel edge loop.To check whether the feature is tapered or straight, the vertex point of an edge is projected from one end of the edge in a perpendicular direction to a certain distance (in case of blind features) or to a parallel vertex connected by the parallel edge.In Fig. 3a, b, point p1 of edge e1 of edge loop EL1 is projected to the parallel face F2 in a perpendicular direction to touch the vertex at point p2.
Step 2. Matching of points with the parallel face/edge loops.When the point is projected, it must match either the point in the parallel edge or the parallel face (in case of blind features).To check this, a normal is drawn perpendicularly by connecting the initial point and the projected point.In Fig. 3a,b, the line constructed between points p1 and p3 is schematically represented.Step 3. Collinearity between points to identify normal or tapered feature.The projected point is checked for collinearity with the other two points p1 and p2 to determine whether the feature is tapered at the end.This is checked by taking the initial point, projected point, and the parallel point.Three or more points P1, P2, P3,... are said to be collinear if they lie on a single straight line L, i.e., three points Pi=(xi, yi, zi) for i =1, 2, 3 are collinear if they satisfy the following conditions: X2 -X1: Y2 -Y1: Z2 -Z1 = X3 -X1: Y3 -Y1: Z3 -Z1.
If the condition is satisfied then the feature is a normal feature; otherwise, the feature is a tapered feature.After determining that the feature is tapered, the type of taper has to be identified.A taper may occur at various areas of the feature and in the part.The taper can vary from minor to major angles.In order to find the nature of the taper some general procedure has to be followed for every feature.This section explains those procedures for three types of taper.Similarly, procedures have been developed for the remaining six types of tapers listed in Sect. 1.
5.1 Methodology for feature narrowing at the end (tapering at the base and tapering at the walls) Here, the feature of slot class type named "ordinary blind dovetail slot narrowing at the end" (OBDSLNE) is considered to explain the basic methodology.The schematic representation of the feature is given in Fig. 4a: Step 1. Calculate the height (H1 and H2), width (W1, W2), upper width (UW1 and UW2), and outer length (OL1 and OL2) of the part.Step 2. If W1>W2 and UW1>UW2, then the feature is determined as a feature that is narrowing towards the end if it satisfies the following conditions: (i)H1 > H2 (ii)Outer Length is equal OL i.e OL1 = OL2 and (iii) L1&L2 < OL1&OL2.

Methodology for feature tapering at the top face of the part
Here, the feature of the slot class "ordinary through slot having taper at the top face of the part" (OTSLTTFC) is shown in Fig. 4b as an example to explain the basic methodology: Step 1. Calculate the height (H1 and H2), outer height (OH1 and OH2), length (L1 and L2), and width (W1 and W2) of the feature.
Step 2. If OH1<OH2, then the feature is determined as a feature with a tapering base only if it satisfies the following conditions: (i)W1&W2 are equal ( ii)L1 = L2(iii)H1 < H2 Here, the feature of slot class "ordinary through slot having taper at the base of the feature" (OTSLTBF) is shown in Fig. 4c as an example to explain the basic methodology: Step 1. Calculate the height (H1 and H2), length (L1 and L2), width (W1 and W2), and outer length (OL1) of the feature.
Step 2. If H1>H2, then the feature is determined as a feature with tapering at the base only if it satisfies the following conditions: (i) W1=W2; (ii) L2=L1 After determining the nature of the taper, the final step is to calculate the taper angle.The taper angle between two parallel edge loops are calculated by constructing a right-angled triangle in the respective face.In Fig. 3a, a right-angled triangle is constructed by connecting points p1, p2, p3 on faces F5 and F6.Then, the angle of the taper is calculated by applying Pythagoras' theorem.
7 General steps followed by the feature recognizer to recognize normal and tapered features Step 1.The part is viewed from the X-Y, Y-Z, and Z-Y directions and faces parallel to these planes are identified.
Step 2. Identify the type of faces on these planes by adopting the standard pattern strings developed for the purpose.Then, group the faces into their categories either as faces with edge loops or faces without edge loops.Step 3. Implement the concept of edge loops and identify the manufacturing features.
Step 4. Match the parallel edge loop in the same plane and determine whether the feature is a blind feature or through feature or interacting feature with the help of additional edge loops.
Step 5. Classify the feature according to their sub class as slot/step/pocket/hole/chamfer/fillet and calculate the necessary dimensions of the feature and part.Step 6. Identify whether the feature is normal or tapered.
Step 7. If it is tapered, identify the nature of the taper.
Step 8. Finally, calculate the taper angle.

Case study to illustrate the developed feature recognition methodology
The prismatic parts shown in Fig. 5a,b are considered to explain the methodology.The prismatic part represents five features, namely: (i) ordinary blind dovetail slot narrowing at the end (OBDSLNE); (ii) ordinary blind slot having taper at the base of the feature (OBSLTBF); (iii) ordinary through W-slot narrowing at the end (OTWSLNE); (iv) ordinary through slot with curved base narrowing at the end (OTSLCBNE); and (v) ordinary through rectangular pocket narrowing at the end (OTRPNE).In the prismatic part, all of the objects, namely, faces, edges, and angles are represented separately.Before explaining the methodology, these details are as follows: The face F1 contains three edge loops EL1 (e1, e2, e3), EL2 (e4, e5, e6), EL3 (e7, e8, e9) and the parallel face F2 contains one edge loop EL6 (e16, e17, e18).Similarly, faces F3 and F4 contain single-edge loops EL8 (e22, e23, e24) and EL7 (e19, e20, e21).The top and bottom faces F5 and F9 contain two parallel edge loops, namely, EL9 (e25, e26, e27, e28 ) and EL10 (e29, e30, e31, e32).Apart from these edge loops, there are two intermediate edge loops at the intersection of features.They are EL4 (e10, e11, e12) and EL5 (e13, e14, e15).With this information, the next section explains the methodologies as mentioned in the previous Sect.3-6.In this step, initially, each face is viewed in its plane and a suitable string is developed.Then, the type of face is identified by comparing the string with the pre-defined string stored in the database.In the part shown in Fig. 5b, the type of face F1 in the X-Z plane is identified as a complex polygonal face (CPF) by the string "DAGAHA-BADAFAEABC" and by the presence of three subsets of edge loops, namely, EL1, EL2, and EL3.Similarly, the details of other faces are presented in Table 2.
Step 2. Identify the manufacturing feature with the edge loops In this step, the expected manufacturing features are sorted out by identifying the string subsets from the strings of each face.In the part shown in Fig. 5a,b, the three edge loops in face F1 are represented by the string subsets, namely, GAH, BAD, and FAE.By analyzing the strings, they are identified as dovetail slot, ordinary slot, and W-slot, respectively.Similarly, from the string subset BID in the faces F3 and F4, the feature is identified as a through slot with a curved base.Finally, from faces F5 and F9, the feature is identified as a rectangular pocket by the string DABC.
Step 3. Identify the nature of features (through, blind, interacting) This step identifies the parallel edge loop (through feature) and the parallel faces (blind feature) for the features present in the part.The procedure adopted for the first three features identified in face F1 are explained as follows: Step 1. Initially for the feature dovetail slot, the presence of a parallel edge loop is checked.
Step 2. The absence of a parallel edge loop and the presence of a parallel face F13 confirms that the feature is blind.
Step 3. Now, a check is performed to ascertain whether a feature is interacting.This is verified by checking the presence of connecting faces of FSG category (face without edge loops), namely, F10, F11, and F12.Step 4. After these checks, the feature is confirmed as a blind W-slot.The same procedure is followed to identify the next feature as a "blind slot" and the feature present in the face F5 as a "through rectangular pocket."As for the W-slot, the first two steps are same, and the remaining steps follow the procedure mentioned below: Step 1. Absence of a face of FSG category between EL3 and EL6 provides an initial confirmation that the feature has an interacting feature.
Step 2. Presence of intermediate edge loops, namely, EL4 and EL5, and the presence of FSG faces between edge loops EL3 and EL4 and EL5 and EL6 provide the secondary confirmation that the feature is interacting.Step 3.With these confirmations, it is possible to decide that the feature is a through W-slot with an interacting feature.Next, the features present in faces F3 and F4 are considered (refer to Table 2).Here, the first two steps adopted in the dovetail slot and the next three steps adopted in the W-slot are followed to identify the feature as a through slot with curved base and with interactions.The only addition is the procedure to find the interacting feature, as explained below: Step 1.The edge loops EL4 and EL5 present in the feature through W-slot share common edges in the connecting faces F23 and F25 of PQ category in the feature through slot with curved base.Step 2. As the two features share common edges on the intersecting points, it is found that the features through slot with curved base and through W-slot are interacting with each other.Step 3. Classify the feature according to sub class as slot/ step/pocket/hole/chamfer/fillet After identifying the feature, it is classified according to its main class.The details are presented below: [1] Blind dovetail slot-slot class [2] Blind slot-slot class [3] Through W-slot-slot class [4] Through slot with curved base-slot class [5] Through rectangular pocket-pocket class Step 4. Check whether the feature is normal or tapered at the end Now the edge loops are checked to decide whether the feature is normal or tapered.For this, the coordinate points on each edge representing the edge loop are projected perpendicularly to touch the parallel vertex (in the case of a through feature) or to a certain distance (in the case of a blind feature) equal to the dimensions of the feature.The details of the projected points for various features in the part are shown in Fig. 5b.The steps are explained below: 1.For the feature "blind dovetail slot," the point p1 on edge e1 is projected perpendicularly to a certain distance equal to its length.The projected point is represented as p3.The parallel point that has to be coincided is represented as p2.Now, a line is drawn connecting these points and checked with the equation given in Sect. 4. As the three points are not collinear, it is confirmed that the feature is tapered at one end.Similar checks are performed with the points on the edges e2 and e3.It also confirms that the feature is also tapered at all of the other points.2. For the feature "blind slot," the projected points from edge e4 lying on face F5 satisfy the equation given in Sect.4, whereas the second point on face F1 does not satisfy the equation.Similar results are obtained for edge e6 also, whereas for edge e5, the projected points do not conform to the collinearity checks.Hence, from these steps, it is confirmed that the feature is tapered only at the edge e5.
3. Similarly, the features "through W-slot," "through slot with curved base," and "through rectangular pocket" do not satisfy the collinearity check and are confirmed as tapered features.
. Step 6. Identifying the nature of the taper in the feature and the part After finding that the feature is tapered, the next step is to find out the nature of taper in the feature and the part.For this, the methodologies as presented in Table 1 are used and the following features are finally identified: 1. Ordinary blind dovetail slot narrowing at the end (OBDSLNE) 2. Ordinary blind slot having taper at the base of the feature (OBSLTBF) 3. Ordinary through W-slot narrowing at the end (OTWSLNE) 4. Ordinary through slot with curved base narrowing at the end (OTSLCBNE) 5. Ordinary through rectangular pocket narrowing at the end (OTRPNE) Step 7. Calculate the angle of the taper in the feature At this stage, the taper angle is calculated by constructing a right-angled triangle by connecting the points (as shown in Fig. 5b) in the appropriate faces.Then, using Pythagoras' theorem, the taper angle is calculated and the final dimension of the whole feature is presented.The complete details of all of the above steps and their details are presented in Table 2.

Conclusion
In the present the work, a feature recognizer was developed to recognize complicated prismatic parts containing interacting, tapering, and curved base features.The developed methodology is coded using the C and C++ languages running in a VC++ compiler.The feature recognizer considers 28 normal features for nine combinations of taper, as described in Sect. 4. These combinations were tested on a Pentium IV 2.4 GHz PC for its capability of handling combinations of more than one feature.The feature recognizer took a minimum amount of time to recognize the features and to generate the output.The output contains the tool approach direction, details of edge loops, and the dimensions of features with the taper angle as given in Table 2.This output provides an easy interpretation for the next module, the machinable volume identifier, to calculate the finish cut machinable volumes.The feature recognizer can be easily upgraded in the future to recognize features having Bezier, B-spline, and polygon surfaces.
Fig. 1 Block diagram of the feature recognition module in finish machining computer aided process planning system (FM-CAPP)

4 .
Face position value.The constant value in a collection of coordinate points representing the face is termed as the face position value.In Fig.2d, the coordinates of X values and Z values present in the X-Z plane of face F1 vary, whereas the Y values remain constant, i.e., 0. This value of Y (0) is taken as the face position value for a face in that plane.Similarly, the values of X in the Y-Z plane and Z in the Z-Y plane are examples of face position values.These values represent the placement of the face in a particular plane.It may be noted that an inclined plane will have two FPVs. 5. Direction of view (DOV).The viewing direction of a face in a particular plane is termed as the direction of view.In this research, the Y-Z, X-Z, and X-Y planes are viewed from the right, front, and top, respectively.The DOVs are represented separately in Fig.2d.6.Initial point for recognition (IPR).The initial point from which the recognition starts for a face is known as the initial point of recognition.In this research, the lower left corner is considered as the initial point of recognition.

Fig. 2 a
Fig. 2 a Part representing additional and main edges.b Representation of edge loop.c Representation of face geometry.d Example prismatic part to explain the basic concepts-I.e Example prismatic part to explain the basic concepts-II

Fig. 3 a
Fig. 3 a Example prismatic part representing a normal feature.b Example prismatic part representing a tapered feature

Fig. 4 a
Fig. 4 a Ordinary blind dovetail slot narrowing at the end (OBDSLNE).b Ordinary through slot having taper at the top face of the part.c Ordinary through slot having taper at the base of the feature (OTSLTBF)

Fig. 5
Fig. 5 Prismatic part with interacting features with tapered cross-section and curved base showing the details of the edge loops and faces

Table 1
Methodology adopted to recognize tapered features in the system

Table 2
Output obtained from the feature recognizer for the prismatic part shown in Fig.5a,b