Int. J. Rapid Manufacturing, Vol. 5, No. 2, 2015 An independent CAPP system for prismatic parts Awais Ahmad Khan* Industrial Engineering Department, College of Engineering, King Saud University, Riyadh 12372, Saudi Arabia and Advance Manufacturing Institute, College of Engineering, King Saud University, Riyadh 12372, Saudi Arabia Email: awais78@gmail.com *Corresponding author Emad Abouel Nasr Industrial Engineering Department, College of Engineering, King Saud University, Riyadh 12372, Saudi Arabia and Mechanical Engineering Department, Faculty of Engineering, Helwan University, Cairo, Egypt Email: eabdelghany@ksu.edu.sa Abdulrahman Al-Ahmari Industrial Engineering Department, College of Engineering, King Saud University, Riyadh 12372, Saudi Arabia and Advance Manufacturing Institute, College of Engineering, King Saud University, Riyadh 12372, Saudi Arabia Email: alahmari@ksu.edu.sa Abstract: Computer Aided Process Planning (CAPP) provides a link between design and manufacturing in a Computer-Integrated Manufacturing (CIM) environment. The Automatic Feature Recognition (AFR) plays a significant role in the contribution of Computer Aided Design and Computer Aided Manufacturing (CAD/CAM) integration. In this paper, an object oriented Copyright © 2015 Inderscience Enterprises Ltd. 129 130 A.A. Khan, E. Abouel Nasr and A. Al-Ahmari approach is applied to prepare the part geometric database from a neutral file (STEP AP 203) and translates this information to manufacturing knowledge. The algorithms and rules are then formulated to extract, group and recognise the form feature and their dimensions. The feature based CAPP system is then produced along with the setup plan using machining database and an algorithm based on feature location. The proposed methodology is tested by using a case study. Keywords: feature recognition; CAPP; CAD/CAM; STEP AP 203. Reference to this paper should be made as follows: Khan, A.A., Abouel Nasr, E. and Al-Ahmari, A. (2015) ‘An independent CAPP system for prismatic parts’, Int. J. Rapid Manufacturing, Vol. 5, No. 2, pp.129–144. Biographical notes: Awais Ahmad Khan is a Researcher in Advance Manufacturing Institute, College of Engineering, King Saud University, Saudi Arabia, and Assistant Professor in Mechanical Engineering Department, University of Engineering & Technology, Lahore, Pakistan. He received his PhD in Industrial Engineering from King Saud University in February 2015. His current research focuses on feature recognition, process planning, fixture design and analysis, die design, flexible manufacturing systems. Emad Abouel Nasr is an Associate Professor in Industrial Engineering Department, College of Engineering, King Saud University, Saudi Arabia, and Mechanical Engineering Department, Faculty of Engineering, Helwan University, Egypt. He received his PhD in Industrial Engineering from University of Houston, TX, USA, in 2005. His current research focuses on CAD, CAM, rapid prototyping, advanced manufacturing systems, supply chain management, and collaborative engineering. Abdulrahman Al-Ahmari is the Dean of Advanced Manufacturing Institute, Executive director of CEREM (Center of Excellence for Research in Engineering Materials), Supervisor of Princess Fatimah Alnijris’s Research Chair for Advanced Manufacturing Technology, and Supervisor of CMTT (Center of Manufacturing Technology Transfer). He received his PhD (Manufacturing Systems Engineering) in 1998 from University of Sheffield, UK. His research interests are in analysis and design of manufacturing systems, Computer Integrated Manufacturing (CIM), optimisation of manufacturing operations, applications of simulation optimisation, FMS and cellular manufacturing systems. 1 Introduction The essential factor for the modern manufacturing companies is to develop the diversified products in short calendars. Consequently, the flexible manufacturing techniques are growing quickly in order to compete the markets globally. The systems of Computer Aided Design and Computer Aided Manufacturing (CAD/CAM) facilitated the development of much higher levels of automation in manufacturing processes that was not previously possible. CAD/CAM technologies are designed to integrate CAD, Computer Aided Process Planning (CAPP) and CAM in a hardware configuration which An independent CAPP system for prismatic parts 131 makes it possible to the user to conceive, design, envisage and control the manufacturing of the products while automating as many activities as possible (Javorick et al., 1990; Thomas and Fischer, 1996). In general, there are two approaches in CAPP, variant and generative. Variant approach requires an operator to classify the information part by part, retrieve a similar process plan from a database and make the necessary adjustments. This method is suited for companies that involve stable manufacturing processes and manufactured products, which vary slightly. The advantage of this approach is the ease of maintenance, but the shortcoming is the lack of an on-time calculation of manufacturing process and quality of the process plan still depends on the knowledge of a process planner. Manual input is still required to establish the mass data of manufacturing processes. In a generative approach, process plans are generated automatically through decision logic and process knowledge (Xu et al., 2011). A CAPP system, depending on the level of complexity, may involve automating the interface between design and process planning as well as various process planning tasks such as process selection, machining volume, machine tool, cutting tool, set-up planning and so on. In the research work presented in this paper, the authors have developed a feature based generative CAPP system for machined prismatic parts (Jaider et al., 2014). The paper is organised as follows: Section 2 reviews the literature of process planning. The proposed methodology is then presented in Section 3. Section 4 demonstrates the implementation steps of the developed methodology using a case study. Finally, conclusion and future work is presented in Section 5. 2 Literature review CAPP software tools are useful for reducing demand on skilled human experts and for ensuring the production of consistent process plans by eliminating redundancies and conflicts that arise in complex designs (Nee et al., 2004). Supporting the design engineer at the conceptual phase requires an efficient feature recognition methodology operating in a period of minutes and able to handle the users CAD format. Various feature recognition techniques like Joshi and Chang (1988) developed a graph named the Attribute Adjacency Graph (AAG) to represent the features of a part. The node represents the part face and the arc represents edges in B-rep. Lockett and Guenoy (2005) propose a mid-surface-based feature recognition approach for moulded parts. Nasr and Kamrani (2006) proposed a methodology for extracting manufacturing features from CAD system using Initial Graphics Exchange Specification (IGES) format as input and translates the information in the file to manufacturing information. Zhou (1996) used an objectoriented approach to provide an interface with CAD models. In this interface, the part data file is extracted automatically in the form of neutral file since standard or nonstandard file formats were used in different applications. Venkataraman (2001) presented a graph based frame work for feature recognition. The feature recognition step involved finding similar sub graphs in the part graph. The novelty of this framework laid in the usage of a rich set of attributes to recognise a wide range of features efficiently. Han et al. (2001) presented integrating feature recognition and process planning in the machining domain to achieve the goal of CAD/CAM integration. Ismail et al. (2004) proposed a rule based approach for the recognition of hole from STEP file by using 132 A.A. Khan, E. Abouel Nasr and A. Al-Ahmari geometry and topology formation from B-rep model. Holland et al. (2002) proposed a process orientated feature recognition system, in which the pattern recognition is used to transform the surface boundary model of a component into an Attributed Adjacency Graph (AAG). Fu et al. (2003) proposed an algorithm for the identification of design and machining features from a data exchanged part model. Haque (2001) presented a methodology in which the geometric information of a rotational part is translated into manufacturing information through a Data Interchange Format (DXF). In this paper, the part design was introduced and represented via CAD software and solid model designed by the Constructive Solid Geometry (CSG) technique, respectively. The solid model of the part design consists of small and different solid primitives combined to form the required part design. The CAD software generates and provides the geometrical information of the part design in the form of a STEP file (the standard format). This provides ability for the proposed methodology to communicate with the various CAD/CAM systems. The object oriented approach is implemented using Visual C++ provides an efficient and automatic link between the geometric data, the generated process and the setup plan. 3 Proposed methodology Generative CAPP approach is used in the developed methodology due to its capability of providing detail information in the obtained process plans for the target manufacturing components. The STEP AP-203 file is used as an input to the system. The significance of using STEP AP 203 file is its compatibility with several known CAD systems. The CAPP system uses the 3-D solid model created in CATIA V5. The geometric information file generated by extracting the relevant data from STEP AP203 file using object oriented approach. The developed algorithms (coded using C++) used to recognise and group feature faces and find out their geometric properties. The technological features contained in the part recognised by establishing the rules based on geometric reasoning. The process parameters such as machining operation, cutting tool, machine tool, machining parameters and tool access direction defined based on the feature data obtained using feature recognition procedures. The feature location methodology is also developed using TAD data so that a definite setup can be adapted for the feature. The setup plan algorithm assigns all recognised features to a specific setup for CAM applications. The methodology is presented in the form of flow chart in Figure 1. 3.1 Geometric data extraction from STEP AP-203 Initially, a 3-D Solid model is developed to represent part design. The solid model consists of different solid primitives combined together to form the required part geometry. The geometrical information of solid model is stored in STEP AP203 file. As mentioned earlier, STEP AP203 is a standard CAD format used to store the geometrical information in a neutral file format that is independent of and platform and can communicate between different CAD systems such as CATIA, Unigraphics (UG), PROE and Solid Works (Figure 2). Geometrical and topological information in STEP format can be represented in the form of entities. Brief descriptions of some STEP elements are listed in Table 1. An independent CAPP system for prismatic parts Proposed methodology CAD Database Generation of STEP File Generation of faces, loops, edges, vertices ids and face direction Selection of Machining Operation Creation of Part Geometric Database Selection of Cutting Tool Extraction feature faces, loops, edges and vertices Selection of Machine Tool Object‐ Oriented Technique Extraction & Dimensional Algorithm Extraction of dimensional information like length, width, height, radius etc Setup Plan Generation by applying Feature Location Algorithm Generation of CAPP Data Rule Based Generation of Feature Recognition File Machining Database Figure 1 133 Figure 2 STEP data format for manufacturing Table 1 Description of STEP entities STEP entity Closed shell Advance face Face surface Description A collection of one or more faces which bounds a region in three dimensional space The face that associated with a type of surface A type of face in which the geometry is defined by the associated surface, boundary and vertices. 134 Table 1 A.A. Khan, E. Abouel Nasr and A. Al-Ahmari Description of STEP entities (continued) STEP entity Face outer bound and face bound Edge loop Edge curve Vertex point Cartesian point Description A loop used for bounding a face. The face outer bound represents the external loop whereas face bound represents the internal loop The closed path formed by the oriented edges It contains the magnitude and direction information of an edge A point defining the geometry of a vertex Address of a point in Cartesian space Among different geometric representation techniques, B-rep is taken because most mechanical parts can be modelled based on B-rep model. The data extraction process starts with the extraction of geometric and topological information from STEP AP 203 and redefining it as a new object-oriented data structure. The hierarchy structure of object oriented technique presented in Figure 3. In this hierarchy, the highest level is the designed object, known as called shell. The shell consists of faces that are further classified as plane, cylindrical and conical faces (Figure 4). The plane faces are further categorised as straight and inclined faces (Figure 4). The determination of straight or inclined surface is through the face vector direction. For straight face, the vector direction is in 0 or 1 otherwise it is between 0 and 1. The next level in the hierarchy is the edge loop. The edge loop contains edge curve and vertices. The edge loop is further classified as external and internal loop. The face outer bound represents the external loop and face bound represents the internal loop. If a feature exists within face boundary such as hole or pocket feature, it will be a face bound (internal loop) inside this face as shown in Figure 4.The next level in the hierarchy is edge curve that consist of line or circle edges. The line edge can be represented as plane line edge and tangent line edge. The plane line edge is the common line edge between two plane faces and tangent line edge is the common line edge between plane and cylindrical face or between two cylindrical faces as presented in Figure 4. 3.1.1 Geometric information file To translate the STEP files, the EXPRESS information model for STEP AP203 is compiled to produce C++ classes using Qt library. The modular Qt library provides a rich set of application building blocks, delivering all of the functionality needed to build advanced, cross-platform applications. An EXPRESS schema contains a data model made up of classes that are themselves made up of attributes, references, aggregates and rules. These classes are used to describe entities in STEP AP203 and map them into C++ class’s information memory model. The output file is generated through the analysis of the geometric information available in the STEP AP 203 File. This information identifies all face in B-rep format using faces, loops, edges and vertices along with the surface type and the normal vector direction. The faces, edges and vertices are given a unique id number. Information regarding the face conditions (plane, cylindrical, conical), edge conditions (plane line, tangent line and circle edge), face and edge directions are collected. Moreover, the orientation, direction of a face vector and external and internal loops are also established. An independent CAPP system for prismatic parts Figure 3 Hierarchy structure of object oriented technique Figure 4 Classification of faces, loops and edges (see online version for colours) 135 136 A.A. Khan, E. Abouel Nasr and A. Al-Ahmari 3.2 Feature recognition Feature recognition involves the identification and grouping of feature entities from a geometric model. Such ‘post definition’ of features can be done interactively or automatically. Usually, identified entities (i.e. the recognised features) are extracted from the model and additional engineering information such as tolerances and nongeometric attributes are then associated with the feature entities (Sreevalsan and Shah, 1992). The feature recognition is based on geometric properties and object oriented approach for the recognition of form features. The geometric properties like parallelism, perpendicularity, edge types, surface types etc are established from geometrical information file. The main objective is to recognise the technological features within solid model. 3.2.1 Extraction and dimensional algorithms The extraction algorithms are designed to identify and extract feature faces and establish their geometric properties. The faces are grouped by common edges (line and circular). The dimensions of these features calculated from the edges of extracted faces by simple algorithms. The algorithm is described in the following steps for Step Blind Round Corner feature in Figure 5: Step 1: Calculate the min and max x, y and z value of the part by reading the edge loops of the geometric information file for the selected part. Step 2: Extract the Faces that have constant coordinate value between min and max (value > min and < max) x, y or z throughout the edge loop (plane face). Step 3: Extract the faces that has no constant coordinate value throughout the edge loop and 1(inclined face) or 2 (conical and quarter-cylindrical face) coordinates are changing (throughout the edge loop) between min and max x, y, z value (value > min and < max) of the part. Step 4: Extract and group the feature faces with respect to the common edge such that if Face 1 has common edge with Face 2 and Face 2 has common edge with Face 3, then Faces 1,2 and 3 should be grouped. Step 5: The feature dimensions are calculated from all grouped feature faces such that: Step 5.1: Height is the difference of constant coordinate value (between the two vertices) of two circle edge curves. Step 5.2: Radius is extracted directly from circle edge curve ‘Value’. Step 5.3: Length and Width are calculated by extracting changing coordinates value (between the two vertices) of non-common edges of face that contains both line and circular edges and find their differences to calculate length and width of feature such that the bigger value will become length and smaller will become width. An independent CAPP system for prismatic parts Figure 5 137 Step blind RC feature (see online version for colours) 3.2.2 Parallelism and perpendicularity algorithm The parallelism and perpendicularity property between the two faces as illustrated in Figure 6 is described in the following steps: Step 1: Extract the normal vectors of two faces. Step 2: Compare the extracted vector (x, y, z) values. Step 3: If the normal vector of Face 1 = Face 2, the faces are parallel otherwise perpendicular. Figure 6 Face normal vector (see online version for colours) Table 2 displays the data attributes required for each class in the object oriented data structure that is defined before. 138 A.A. Khan, E. Abouel Nasr and A. Al-Ahmari Table 2 Definition of classes and attributes Class name Cartesian_Point Vertex_Point Edge_Curve Attribute Type X_Coordinates (Real) Y_Coordinates (Real) Z_Coordinates (Real) Vertex_ID (Integer) Vertex_Count (Integer) Cartesian_Point (Pointer to Cartesian Point) Edge_ID Edge_Type (Integer) Start_Vertex (Enumerated constants) (Vertex pointer) Terminate_Vertex (Vertex pointer) Dimension (Real) Oriented _Edge Edge_Curve (Pointer to Vertex Point) Edge_Loop Edge_List (A list of edges) Axis2Placement_3D Face_Direction (Pointer to the point) Surface Advance_Face Closed_Shell Feature Surface_Type (Enumerated constants) Face_Direction (Pointer to the AXIS2PLACEMENT3D) Face_ID Surface_Pointer Number External_Loop (Pointer to the surface) (Loop pointer) Internal_Loop_Count Number Internal_Loop_List (Vector of loop pointers) Face_List Part Min and Max Value (Vector of face pointers) (String) Feature_ID (Number) Feature_Name (String) Length (Real) Width (Real) Height (Real) Radius (Real) Face_List (Vector of face pointers) The created feature library contains both flat and cylindrical features. The flat features contains through, blind and round corners. The feature library contains ten machining features as shown in Figure 7. The feature faces are extracted and grouped by applying the above algorithms along with their parallelism and perpendicularity properties. Dimensions are calculated from the edges of the selected faces. The extraction procedure for some features from feature library is listed in Table 3. Rules are then formulated based on geometric reasoning to recognise the technological features. Every feature has been given a unique feature (id) as shown in Table 4. An independent CAPP system for prismatic parts Figure 7 The feature library (see online version for colours) Table 3 Feature faces extraction • Plane Faces 1 and 2 • are extracted and grouped by one common plane edge. • Face 1 is perpendicular to Face 2. • • Length and width is • calculated from Face 1 edges and • height from Face 2 edge. • Cylindrical Faces 1 • and 2 are extracted and grouped by two common tangent edges. • • Plane Face 3 is Face 1 is extracted and is perpendicular to • made by circular Faces 2–4. edges of Face 3 is parallel to cylindrical Faces 1 • Face 4. and 2 Face 2 is • Radius is perpendicular to determined from Faces 1, 3 and 4. the circular edge • of Face 1 or Length and width is calculated from Face 2 Face 2 edges and • Height is height from Face calculated from 1edge. line edge of Face 1 or Face 2 Plane Faces 1–4 are • extracted and grouped by four common plane edges. 139 Plane Faces 1, 2, 4 and cylindrical Face 3 are extracted and grouped by five common edges. Face1 is perpendicular to Faces 2, 3 and 4. Face2 is perpendicular to Face 4. Height and radius is calculated from the tangent and circular edges of Face 3. Length and width is calculated from Face 1 edges. 140 A.A. Khan, E. Abouel Nasr and A. Al-Ahmari Table 4 Feature recognition Feature rule • For the two extracted faces. • If the two faces (Face 1 and Face 2) are plane and perpendicular to each other. • If Face 1 and Face 2 are connected with each other by a plane common edge. • Then the feature is step through. • For the four extracted faces. • If the four faces are connected such that Face 1, Face 2 have three common plane edges and Face 3, Face 4 have two common plane edges in their edge loops. • If Face 1 perpendicular to Face 2, Face 3 and Face 4 and Face 3 and face4 are parallel to each other. • If Face 2 is perpendicular to Face 3 and Face 4. • Then the Feature is Slot Blind. • For the three faces. • If the Faces 1 and 2 generate cylinder. • If Face3 is plane and it is formed by two common circular edges of Face 1 and Face 2. • If the one loop formed by the circular edges of the Face1 and 2 is an internal loop. • Then the Feature is Hole Blind. • For the four extracted faces • If Face 1, Face 2 and Face 4 are plane and Face 3 is cylindrical. • If all the faces are connected such that Face 1 has two common plane edges with Face 2and Face 4, and one common circular edge with Face 3. • If Face 2, Face 3 and Face 4 are connected by tangent edges. • If all the plane faces are perpendicular to each other. • Then the Feature is Step Blind Round Corner. Feature illustration Recognition output An independent CAPP system for prismatic parts 141 3.3 Process and setup plan generation A database is created for the selection of suitable machining operation, cutting tool, machine tool and machining parameters for each feature. The algorithm for determining the manufacturing setup plan is illustrated in the following steps: 1 Define the part coordinate system and assign Tool Access Direction (TAD) for a block shaped part machined on 3-axis milling centre (Figure 8). 2 Define six setup plans corresponding to each TAD. 3 Assign a definite TAD to every feature so that it can be assigned to a definite setup. Figure 8 Tool access direction (TAD) (see online version for colours) Notes TAD1 defined by (1, 0, 0); +X direction. TAD2 defined by (–1, 0, 0); –X direction. TAD3 defined by (0, 1, 0), +Y direction. TAD4 defined by (0, –1, 0); –Y direction. TAD5 defined by (0, 0, 1); +Z direction. TAD6 defined by (0, 0, –1); –Z direction. 3.3.1 Sequence of machining operation in each setup Every setup plan (S + x, S – x, S + y, S – y, S + z, S – z) contains the following features: 1 Sequence the operation to minimise the tool change in a setup. 4 Case study The proposed methodology is tested and validated using a case study. The 3-D solid model is created in CATIA V5 as shown in Figure 9. The geometric information is extracted from STEP AP 203 file using object-oriented technique. 44 faces are extracted in geometric information file along with their loops. Edges, vertices and face directions. Fourteen feature faces are extracted and grouped along with their dimensions using extraction and dimensional algorithms. The formulated rules are then applied on the extracted data and eight manufacturing features are successfully recognised along with their dimensions as listed in Table 5. The process parameters like machining operation, cutting tool, machine tool are then defined each feature using machining database. An 142 A.A. Khan, E. Abouel Nasr and A. Al-Ahmari algorithm is then developed based on feature location to generate the setup plan for each feature. The CAPP output is generated automatically as presented in Table 6 for the sample case study. Figure 9 Case study (see online version for colours) Table 5 Feature data Feature ID Feature name Face Ids Feature dimensions Pocket through (5, 2, 1, 40) Length: 20 Width: 10 Height: 47 2 Slot through (34, 9, 39) Length: 100 Width: 10 Height: 15 3 Slot blind round corner (10, 33, 12, 13, 12, 11) Length: 30 Width: 20 Height: 12 Radius: 6 4 Slot blind (17, 16, 15, 32) Length: 20 Width: 20 Height: 6 (22, 31, 30, 29, 28) Length: 30 Width: 10 Height: 8 1 5 Pocket blind 6 Pocket blind round corner 7 Step blind (35, 37, 38) Length: 20 Width: 20 Height: 10 8 Hole blind (43, 42, 44) Radius: 10 Height: 20 Table 6 CAPP data (27, 21, 26, 20, 25, 19, 24, Length: 60 Width: 20 Height: 7 18, 23) Radius: 7 Feature Machining Machining Cutting tool Id volume operation Machine tool feature location Setup plan 8326 Pocket milling Corner rounding milling cutter Milling machine TAD (0, 0, –1) Location XY_TOP 1 (XY_TOP) 3 7153 Slot milling Corner rounding milling cutter Milling machine TAD (0, –1, 0) Location ZX_BACK TAD (0, 0, –1) Location XY_TOP 1 (XY_TOP) 2 15000 Slot milling End mill cutter Milling machine TAD (0, 0, –1) Location XY_TOP 1 (XY_TOP) 6 An independent CAPP system for prismatic parts Table 6 CAPP data (continued) Feature Machining Machining Cutting tool Id volume operation Machine tool feature location Setup plan 1 (XY_TOP) 9400 Pocket milling End mill cutter Milling machine TAD (0, 0, 1) Location XY_BOTTOM TAD (0, 0, –1) Location XY_TOP 4 2400 Slot milling End mill cutter Milling machine TAD (–1, 0, 0) Location YZ_RIGHT TAD (0, 0, –1) Location XY_TOP 1 (XY_TOP) 5 2400 Pocket milling End mill cutter Milling machine TAD (0, 0, –1) Location XY_TOP 1 (XY_TOP) 1 (XY_TOP) 1 (XY_TOP) 1 5 143 7 4000 Shoulder milling Side mill cutter Milling machine TAD (1, 0, 0) Location YZ_LEFT TAD (0, –1, 0) Location ZX_BACK TAD (0, 0, –1) Location XY_TOP 8 6280 Drilling Twist drill Milling machine TAD (0, 0, –1) Location XY_TOP Conclusion The methodology presented in the paper is successfully tested with a sample case study. The proposed methodology is implemented using Visual C++ that interacts with existing CAD packages. The significance of using C++ is to create a standalone system for CAPP. All the relevant geometrical data is extracted from STEP AP 203 file in the form of faces, loops, edges and vertices along with their IDs. The part geometric database is created using an object oriented technique. The object oriented technique found very useful in defining STEP entities and map them to C++ class’s information memory model. The output file is generated through the analysis of the geometric information available in the STEP AP 203 File. In the next step, the designed algorithms are applied to automatically extracted the feature faces, establish their geometric properties and dimensions. The logical rules then successfully recognise the technological features in the sample case study based on geometric reasoning approach. Each feature has been given a unique feature id. Machining database is created to define machining parameters for each feature. The setup plan algorithm is applied to place each feature in a definite setup. In the future, the standalone system can be used to develop a fixture design module for manufacturing and inspection planning. Moreover, the scope can be extended by adding cylindrical parts. 144 A.A. Khan, E. Abouel Nasr and A. Al-Ahmari Acknowledgements This work was supported by NSTIP strategic technologies program number (10-INF 1280-02) in the kingdom of Saudi Arabia. Moreover, the authors would like to thank the Advance Manufacturing Institute (AMI) at King Saud University for their support throughout the research work. References Fu, M.W., Ong, S-K., Lu, W.F., Lu, W.F., Lee, I.B.H. and Nee, A.Y.C. (2003) ‘An approach to identify design and manufacturing features from data exchanged part model’, Computer-Aided Design, Vol. 35, No. 11, pp.979–993. Han, J., Kang, M. and Choi, H. (2001) ‘STEP-based feature recognition for manufacturing cost optimization’, Journal of Computer-Aided Design, Vol. 33, No. 9, pp.671–686. Haque, A. (2001) ‘Manufacturing feature recognition of parts using DXF files’, 4th International Conference on Mechanical Engineering, 26–28 December, Dhaka, Bangladesh, Vol. 4, pp.111–115. Holland, P., Standring, H.L. and Mynors, D. (2002) ‘Feature extraction from STEP (ISO 10303) CAD drawing files for metal forming process selection in an integrated design system’, Journal of Material Process Technology, Vol. 125, pp.446–455. Ismail, N., Osman, M.R., Tan, C.F., Wong, S.V. and Sulaiman, S. (2004) ‘Extraction of cylindrical features from neutral data format for CAD/CAM integration’, International Journal of Engineering and Technology, Vol. 1, No. 2, pp.206–212. Jaider, O., Elmesbahi, A. and Rechia, A. (2014) ‘Manufacturing computer aided process planning for rotational parts. Part 1: automatic feature recognition from STEP AP203 Ed2’, Journal of Engineering Research and Applications, Vol. 4, No. 5, pp.14–25. Javorick, L., Cabadaj, J. and Chvojka D. (1990) ‘Aspects of computer-aided fixture design’, CIMS, Vol. 3, No. 2, pp.111–114. Joshi, S. and Chang, T.C. (1988) ‘Graph based heuristics for recognition of machined features from 3D solid model’, Computer-Aided Design, Vol. 20, No. 2, pp.58–66. Lockett, H.L. and Guenov M.D. (2005) ‘Graph-based feature recognition for injection moulding based on a mid-surface approach’, Journal of Computer-Aided Design, Vol. 37, No. 2, pp.251–262. Nasr, E.S.A. and Kamrani, A.K. (2006) ‘A new methodology for extracting manufacturing features from CAD system’, Computers & Industrial Engineering, Vol. 51, No. 3, pp.389–415. Nee, A.Y.C., Kumar, A.S. and Tao, Z.J. (2004) An Advanced Treatise on Fixture Design and Planning, World Scientific Publishing Co. Pte. Ltd. Sreevalsan, P.C. and Shah, J.J. (1992) ‘Unification of form feature definition methods’, IFIP Transactions B-Applications in Technology, Vol. 4, pp.83–99. Thomas, K.K. and Fischer, G.W. (1996) ‘Integrating CAD/CAM software for process planning applications’, Journal of Materials Processing Technology, Vol. 61, Nos. 1/2, pp.87–92. Venkataraman, S. (2001) ‘A graph based frame work for feature recognition’, Proceedings of 6th Annual Symposium on Solid Modelling and Applications, SMA’01, pp.194–205. Xu, X., Wang, L. and Newman. S.T. (2011) ‘Computer-aided process planning – a critical review of recent developments and future trends’, International Journal of CIM, Vol. 24, No. 1, pp.1–31 Zhou, F.B.S. (1996) Form Feature and Tolerance Transfer from A Three-Dimensional Solid Model To Set Up a Planning System, Master Thesis, The Texas Tech University, Lubbock, TX, USA.