A survey on smart automated computer-aided process planning (ACAPP) techniques

The concept of smart manufacturing has become an important issue in the manufacturing industry since the start of the twenty-first century in terms of time and production cost. In addition to high production quality, a quick response could determine the success or failure of many companies and factories. One the most effective concepts for achieving a smart manufacturing industry is the use of computer-aided process planning (CAPP) techniques. Computer-aided process planning refers to key technology that connects the computer-aided design (CAD) and the computer-aided manufacturing (CAM) processes. Researchers have used many approaches as an interface between CAD and CAPP systems. In this field of research, a lot of effort has been spent to take CAPP systems to the next level in the form of automatic computer-aided process planning (ACAPP). This is to provide complete information about the product, in a way that is automated, fast, and accurate. Moreover, automatic feature recognition (AFR) techniques are considered one of the most important tasks to create an ACAPP system. This article presents a comprehensive survey about two main aspects: the degree of automation in each required input and expected output of computer-aided process planning systems as well as the benefits and the limitations of the different automatic feature recognition techniques. The aim is to demonstrate the missing aspects in smart ACAPP generation, the limitations of current systems in recognising new features, and justifying the process of selection.


Introduction
Process planning is an essential link between design and manufacturing.It determines the manufacturing processes, their sequences, and the conditions to convert a design into a physical component economically and competitively [1][2][3][4][5][6].With the traditional approach, manufacturing experts used their experience and knowledge to solve process planning issues and gave instructions about how to manufacture products [7,8].Since the early 1960s, computers have been used to assist design, process planning, and manufacturing activities due to their ability to perform complex functions in a fast and accurate way [1,9].Thus, the three traditional concepts (design, process planning, and manufacturing) have now become known as computer-aided design (CAD), computer-aided process planning (CAPP), and computer aided manufacturing (CAM) in the industrial world [9].
The term CAD refers to the use of computer systems to assist in generating surfaces and 3D solids of products [9,10].Design information needs to be shared accurately among designers, process planners, and other participants in the production process [2,11].A part's information is represented internally in CAD systems, and thus, it is logical to let computers analyse that database of information directly to create a process plan.This is instead of converting the design from the computer into a drawing on paper and back again, to produce the manufacturing report [12].However, sharing design information might be challenging because different enterprises, which are involved in designing and manufacturing, use different CAD systems [13,14].As an ideal solution, many companies and organisations have designed and presented formats of international Product Data Exchange (PDE) standards to solve this issue, examples being: Drawing Exchange Format (DXF), Initial Graphic Exchange Specification (IGES), and Standard for the Exchange of Product (STEP) [13][14][15].The benefits of these standards are not limited to handling and saving the product data, for it is also possible for them to be used in identifying the manufacturing features of the product [15,16].In fact, the standard formats are essential requests, since manufacturing features are used for almost all CAPP systems for product description [2].
CAPP is the use of computers to aid process planners in a systematic determination of convenient methods in the manufacturing of a part or product [17,18].Niebel in 1965 was the first who discussed the use of computers to assist in the selection of basic processes in order to plan manufacturing processes for a given functional design [1,6,19].To date, much research and many publications have been devoted to developing CAPP systems.However, in comparison with CAD and CAM systems, few CAPP systems have reached the stage where they could provide significant solutions to manufacturing industry [20].Part of this slow progress is due to the enormous complexity of the nature, and the dynamic aspects of the process planning task [12,19,20].Furthermore, it might be discouraging to know that since Sutton mentioned in 1989 that "there are no fully automated CAPP systems and almost all of them still require extensive manual operations" [21], this statement still holds true, in spite of the significant efforts that have been made to take the traditional CAPP systems to the next automated level [22].
There are many methods and technologies of CAPP, with those that are widely used including feature-based technologies, knowledge-based systems, artificial neural networks, genetic algorithms (GAs), fuzzy set theory and fuzzy logic, Petri nets (PNs), agent-based technologies, internet-based technologies, and the STEP data-compliant method [1,6].It is important to re-examine and analyse, as much as possible, the current methodologies and approaches to determine whether they will lead to convincing solutions of automated computer-aided process planning (ACAPP).The following aspects will be discussed to achieve a smart ACAPP system: 1. What are the required inputs and expected outputs to generate ACAPP? 2. What optimisation functions can be implemented (cost, productivity, etc.)? 3. What factors and strategies are needed, and what further knowledge could be added?
The paper is organised as follows: Section 2 introduces the CAPP concept and structure.Principles, functions, requirements, and different methodologies and approaches to CAPP regarding inputs and outputs are discussed in Sections 3 and 4, respectively.A vision about how it is possible to optimise the covered aspects will be mentioned in Section 5.
Figure 1 shows a smart manufacturing system as a sequence of a product life cycle, which is supported by computers throughout the three main stages (design process/CAPP based on automatic feature recognition (AFR)/manufacturing process).

The concept of CAPP
Process planning is an essential activity that transforms the design of a product into detailed instructions on exactly how to manufacture the parts or assemblies of that product at a given factory.From this, it is clear that the decisive role of process planning is as a bridge between the design and manufacturing processes and that an efficient CAPP can reduce the lead time [21,23].In addition, essential issues such as cost of components, company competitiveness, production planning, and production efficiency could be determined with the associated CAPP [24].Owing to the reduction in the number of experienced process planners in industry, the field of CAPP research is growing and receiving greater attention than ever before [23].
Whilst there has been much research to automate CAPP, the results are still considered to be lagging behind where they should be due to the multidisciplinary nature of process planning [5,25].Most of the recent research has been concentrated on the generative CAPP approach instead Fig. 1 The architecture of a smart manufacturing system.Where the analysis includes features extraction and recognition in addition to all other information, such as dimensions and tolerances, surface finish, and the part datum of the variant one [25].The various aspects of process planning are classified according to the required inputs and operational details (outputs).The required inputs of a CAPP include: 1. Feature technology; 2. Dimensions and tolerances (GD&T); 3. Materials; 4. Surface finishes; 5. Machining process and process capabilities (MP&PC).These inputs should be accurately analysed and evaluated in order to generate process planning based on available machinery and processes [4,17].
The final output of the process planning activities includes: 1. Processes selection; 2. Sequence of operation; 3. Cutting tools; 4. Cutting conditions; 5. Selection of jigs and fixtures; 6. Identifying the tool path for both the rough and finish cycles; 7. Estimating the time and the cost to manufacture the part [3,17,25].
Figure 2 shows the general structure of CAPP systems with their inputs and outputs.

Required inputs of the CAPP
In order to generate instructions to manufacture a part, CAPP has to recognise and analyse the product model data provided by a CAD system.The product data includes manufacturing features, which are identified based on geometric features including dimensions, tolerances, and roughness as well as relevant non-geometric information, such as materials and hardness [26].However, CAD and CAPP systems have different product data descriptions, for example, the former is geometry-based, whereas the latter is manufacturing feature-based [27].In addition, it is difficult to embed non-geometric information as real attributes in most, if not all, current CAD models.As a matter of fact, even if the non-geometric data are incorporated in these models, they are represented as text in the same way as technical notes in a drawing.Hence, human intervention is needed to regenerate the manufacturing information when a CAD model is to be transferred to downstream users, such as the process planner [28].This section explains the concepts of the required CAPP inputs and is aimed at diagnosing the shortcomings that prevent auto interlinking between CAD and CAPP systems.

Feature technology
Computer-aided design systems have been used since the 1960s to assist draftsmen with tedious drawings and redrawing tasks, as well as to improve drafting efficiency [17,29].All CAD packages contain detailed information of geometric features of a part, and they store the information in their own databases.However, each package has a different database structure, for there is no one standard that has been developed to be used by all [28].Furthermore, the geometric feature information of a part is not suitable to be used directly in CAPP systems.However, feature technology is expected, in the near future, to achieve better integration between CAD and CAPP.Feature technology represents an essential tool for computer integrated manufacturing (CIM), which is considered a focal research area in manufacturing industry.The main two approaches in this field are design by features (DBF) and automated feature recognition [30][31][32][33][34].
In the DBF methodology, a part is designed using a set of predefined features in the modelling system libraries, such as slots, holes, and pockets [31,33].This approach facilitates modelling design data by storing high-level information in the CAD module's data structure [35].In addition, this method can speed up the design process, since it remarkably reduces the amount of work required to recognise the features [33].Despite the advantages of DBF, it has not yet reached expectations.The main drawback is the unlimited set of features in design [30].Also, as this approach stores high-level feature information in CAD packages, it is difficult to transfer and exchange this level of information among different systems [36].Furthermore, despite DBF reducing the work of feature recognition, the need for it still exists [30,37].Hence, all the systems that include feature modelling require feature recognition techniques [33].
In AFR techniques, low-level geometric entities of part design models, which are created in CAD systems, are converted to manufacturing features.This is to be used in various engineering tasks, such as CAPP, CAM, and inspection [30,38].Different AFR approaches have been developed, since there are various classifications of features, and they are used in different application areas [38].The main five categories of the AFR are: 1. Syntactic pattern recognition; 2. Graph based; 3. Hint based; 4. Logic rule based; 5. Artificial neural network [39,40].
Whilst AFR methods have been used widely in the intelligent manufacturing environment, each method still Fig. 2 CAPP system with its inputs and outputs has drawbacks, such as limited ability of learning, specific range of features to be recognised, and low speed [33].

Syntactic pattern recognition
Syntactic pattern recognition (SPR) is a formalised technique to represent a pattern as a structure of the form of string, a tree, or a graph.In a recognition process, a pattern is analysed and assigned to a predefined class of features.If the pattern is complex, it is defined in a hierarchical way, whereby primitives are used at the bottom of the hierarchy in order to build simple substructures with symbols [41].There are three major components in this approach: preprocessing, pattern description or representation, and syntax analysis.In the pre-processing, a pattern is coded using a convenient form to be prepared for further processing.The coded pattern could be represented as a language-like code, such as a string of alphabets.During the pattern representation process, the pattern is segmented into simpler sub-patterns called primitives, and the segmentation process helps to identify relations between these primitives.The decision on whether or not the primitive belongs to the class that is described by an existing grammar will be achieved by the syntax analyser [42].Figure 3 shows the outlines of this approach, and how an analogy is drawn between the structure of patterns and the syntax of languages.
Ketan and Yaqoub [43] introduced a AFR system to recognise symmetrical features of rotational parts.The system includes two modules: extraction module and automatic feature recognition module.A new extraction algorithm has been provided to extract the low-level entities from a STEP file that is generated from a CAD package.Then, a SPR technique, sweeping operation, and logic rule are implemented to recognise different types of 3D features based on 2D entity input patterns.The system is limited to recognising 13 symmetrical rotational features.
Perng et al. [44] proposed a SPR method to extract manufacturing features from 3D constructive solid geometry (CSG).Whilst the system is able to recognise 18 prismatic features, it cannot handle intersecting ones.However, the output feature information from this algorithm can be passed to CAPP systems for the rough-cut machining.
[45] developed a feature recognition methodology that uses STEP files to extract geometrical information directly from a B-rep model.The proposed approach implements SPR to recognise five classes of prismatic parts features: interacting, tapering, interactingtapering, curved base features, and tapering cross-sections.Each edge loop of a prismatic part includes details of edges, vertices, coordinate points, and directions.With all the implicit information of an edge loop, a basic feature can be described by comparing it with pattern strings, which have been developed for every class of features.The final shape of a feature is recognised by checking: the presence of similar edge loops on parallel faces and the connectivity of faces between these parallel edge loops.The system is able to recognise 195 types of tapered features.Furthermore, the output provides the following: the tool path direction, details about edge loops, and the dimensions of features, including the value of taper angles.
Whilst the syntactic pattern recognition method has succeeded in identifying classes of features, it has a narrow area of application.That is, the method is limited to turning features of rotational parts and 2D prismatic parts.The implementation of this method lacks success, if it is implemented with rotational parts that have non-turning Fig. 3 Block diagram of a SPR system [42] features or 3D parts with non-axis symmetry.Because of this weakness, it has been replaced by newer techniques that have overcome these limitations [41,46].

Graph based
The first graph-based (GB) feature recognition formal approach was developed by Joshi and Chang in 1988.It is highly regarded as a successful features recognition method, since it has been implemented in many commercial FR systems.Moreover, many techniques have been incorporated based on this approach and used in different applications, such as process planning software [46].Joshi and Chang [47] developed the GB approach to recognise machined features from a B-rep solid model.Their approach uses an attributed adjacency graph (AAG), which can be defined as a graph G = (N, A, T ), where: N = a set of nodes, A = a set of arcs (or angles); T = a set of attributes to arcs in A.
The AAG method assumes that a unique node N exists at each face of a part.Also, for each two adjacent faces, there is a unique arc A that connects their nodes.Finally, each arc is assigned an attribute T , which is usually a concave angle (T = 0), or a convex angle (T = 1).Figure 4a, b shows an example of the AAG for a part.The part has 14 faces, and each face is represented by a unique node in the AAG net.After that, a line is drawn between each two adjacent faces and indicated either by "0" or "1" to refer to concave and convex angles, respectively.
Figure 5 shows three different parts that have identical topological information and AAG representation.Hence, the features need to be accurately defined, and that involves identifying the minimal set of essential conditions that classify a feature uniquely.In this example, the value of the two angles formed by the slot faces specifies the difference between the definitions of the three slots [47].
At that level, the use of AAGs to recognise features was limited to polyhedral parts, which have flat faces, straight edges, and sharp corners as isolated features.However, the concept could be extended to identify features formed by both planer and cylindrical faces [47].Whilst the number of primitive features is countable, the configurations when two or more features intersected are unlimited [48,49].The difficulty of recognising interacted features is one of the major issues in a GB features recognition system.Consider the example part in Fig. 6, theoretically, two slots are recognised by applying the initial concepts of GB systems, and these are (f1, f2, f3) and (f5, f6, f7).But practically, there is a third slot (f1, f4, f7), which intersects with the other two.This example reveals the shortcoming of the unmodified graph-based systems [49].To overcome this issue, Marefat and Kashyap [48] presented a novel solution that includes simplifying and restoring the AAG representation by creating a conceptual face, which is the result of unifying two or more unifiable faces.For example, in Fig. 6, a slot with f1, f4, and f7 can be recognised after restoring f2, f3, f5, and f6.However, the system cannot work correctly, if the AAG representation of a primitive feature consists of several disconnected components [48,49].
Zhu et al. [50] presented an automatic process planning system for multi-tasking machines, which are able to perform turning and milling machining.In this system, a CAD model is saved as a STEP file and represented in the structure of an AAG.In total, the system is able to recognise nine turning features and eight milling features.In addition, a sub-feature combination method was developed in order to recognise intersecting features and save the computation cost for process planning.
According to Woolridge [51], an agent is "a computer system that is situated in some environment and that is capable of autonomous action in this environment in order to meet its design objectives".Fougères and Ostrosi [52] have used the intelligent agents concept to enhance the Fig. 4 a Example of a part that has 14 faces, and b explanation of AAG for the part in a [47] graph-based method in order to recognise a set of features in prismatic parts.Topological and geometrical information of features is represented by adopting two formalisms, namely, graphs and grammar.A feature is transformed into an agent, with sub-features forming a network of agents that communicate and share knowledge with each other.The feature recognition approach performs three stages that are carried out by the multi-agent system and assisted by the designer: (1) identifying possible areas where features may be created, called regioning; (2) building links and Fig. 6 An example of intersecting features [49] virtual faces, called virtual extension; and finally, (3) feature identification includes identifying features in these zones.Currently, the approach is limited to manufacturing features.However, there is potential to extend the approach of the multi-agent system to update knowledge continuously through new rules that are learnt, and hence, the set of recognised features could be extended.

Hint based
Initially, each proposed feature has a frame, which could be represented as a hint.A hint is a proof about the existence of a specific machining feature in a part.For example, primitive linear slots or grooves are produced by a pair of parallel opposing faces, whereas hole hints are formed by either cylindrical or conical face and one can also be triggered by a thread attribute [53,54].
Vandenbrande and Requicha were the first to present the hint-based approach in 1993 [49,55], proposing an Object-Oriented Feature Finder (OOFF) system.It starts by generating hints for the existence of features, and posting them on a blackboard.Then, the hints are analysed by a hint classifier and the results placed in one of three categories: promising, unpromising, and rejected hints.If the hints seem promising, they are processed by a feature completer to confirm them as actual features and if they are evaluated as rejected, then they are neglected.Otherwise, if the features are unpromising, they are temporarily stored, because they may be reactivated later to be identified as part of a composite feature.
The algorithm also includes the implementation of another set of rules in an attempt to combine the stored processed features and check the possibility of getting more complex features.Finally, verification is undertaken, since it is important to check the machinability of the proposed features.Figure 7 shows the architecture of the hint-based approach [53].
A feature hint may be generated from different sources, for example, nominal geometry, design feature, tolerance or surface attributes to infer parts machining features and process planning aspects.
Kang et al. [26] presented a system that starts with the generation of a STEP 203 file from a UniGraphics CAD modeller.Then the STEP file is interpreted and transformed into parasolid entities to check the correctness of the STEP 203 import.Next, hint-based reasoning is used to convert the geometric features into manufacturing features by applying an Integrated Incremental Feature Finder (IF2).Finally, the manufacturing information is translated into a physical STEP AP224 file that contains the relevant data for manufacturing the designed part.According to the authors, although the system is able to remove the main barrier between CAD and CAPP, recognition of complex shapes remains a bottleneck.

Logic rule based
In 1984, the logic rule-based approach for feature recognition was introduced by Henderson and Anderson, being presented as a FEATURES system.The system replaces the human role with logic programming in the part interpretation to extract high-level knowledge from a stored part description.The FEATURES system consists of three main components: feature recogniser, feature extractor, and feature organiser as shown in Fig. 8.The feature recogniser can define cavities made up of various types of features, such as pockets, holes, and slots, whereas the feature extractor can separate these features based on their respective entities.Finally, the feature organiser arranges the separated features as a graph structure, which is defined as volumes to be removed.The structure of the graph consists of nodes for the features and links for their relationships.Moreover, the feature graph can be used in subsequent manufacturing processes, since it provides information about each feature as well as the stock material [56].
Oussama et al. [57] developed a new methodology for recognising both interacting and isolated features for rotational parts.The system consists of three main modules: geometrical and topological data extraction, feature recognition, and feature generator.The first module includes the extraction of dimensional, topological, and geometric of the part features from a STEP file using C++ programming.The extracted information is reorganised and stored in a database.The geometrical and topological data is analysed in the second module using a rule-based approach.Also, a library of thirty predefined turning manufacturing features is associated in this module in order to recognise high-level features.In the third module, there is a feature generator analysis of the recognised features to generate all possible combinations of interacting features.However, multiple combinations of interacting features are given to machine the same workpiece, which can lead to complex computational processes in the feature recognition stage and is time-consuming during the tool selection stage.As a combination between the DBF and AFR approaches, Zehtaban and Roller [58] developed a framework for an automatic classification of product shape information.The aim of their work was to consider high-level manufacturing entities in the first stage of product development.To achieve this goal, a rule-based feature recognition method based on Opitz coding system was developed as group technology (GT) classification.The system uses a STEP file to represent the design geometry and topology.After loading the STEP file, the system starts a "classification" that includes a feature recognition process and Opitz code generation.The final result of this model implies a predefined group of features, according to GT. Whilst a rule-based method is considered as a generalisation of a syntactic one, it has advantages over the latter, whereby it has proved to be more robust and more functional with 3D part representation.However, the need for predefined rules for every conceivable feature makes the rules-based techniques overburdensome and inflexible [59].

Artificial neural network
Artificial neural networks (ANNs) are human-like computational models inspired by the biological neural networks (NN) of the brain.An ANN is a network of nodes and links, which is specified by net topology, the characteristics of each node, and learning rules.The net topology assigns the inputs of each node, whereas the node characteristics determine its output.A node is defined by three factors: inputs, an arithmetic operation, and a weighting.Each node can receive several inputs and perform arithmetic operations.Then, this node sends only one output via link(s) to another Fig. 8 Architecture of the FEATURES system [56] node(s) which perform operations in turn.Both inputs and weights of a node are allowed to change over time, whilst the learning rules train the NN how to react to an unknown input.An important characteristic of ANN systems is their ability to adapt and learn by collecting examples.Thus, they can be trained to solve feature recognition tasks by repeatedly presenting input patterns to the net.The use of ANNs to recognise manufacturing features from 3D solid models has been demonstrated since 1990 [46,60].
Prabhakar and Henderson [61] presented a new algorithm for feature recognition based on an NN technique.The methodology involves coding of a B-rep solid model into an adjacency matrix, which is a 2D array of integer vectors, and contains eight-digit code for all faces in a part.An entry of the adjacency matrix is a vector of integers.Each vector gives information about a face and defines its relationship to another face.Then, the developed algorithm performs pattern recognition on each row of the matrix.A feature is recognised if the recogniser detects the presence of a predefined set of rules belonging to a specific feature.The developed NN has five layers, each performing one of the steps in the algorithm.Whilst the approach recognised simple features such as holes, slots, and pockets, many limitations were found, which are discussed in [61].
Sunil and Pande [62] used an ANN feature recognition approach to recognise machining features from a B-Rep CAD model.The system proposed a 12-node vector scheme as a classification of machining feature families, which have variations in topology and geometry.The first stage of the system includes saving a solid design model as a SAT file format.Then, the SAT file is used as an input and fed to the neural network toolbox of MATLAB for classification.In the second stage, the recognised features are post-processed to create a feature-based model.Finally, this feature-based model file is linked to a CAPP system for CNC machining.
An important constraint must be kept in mind, which is that an ANN performs only simple arithmetic operations and is not expected to perform any logical operations explicitly.This limitation goes against the development of conventional feature recogniser systems, which check to see whether a potential feature satisfies a predefined set of rules [61].

Geometric dimensions and tolerances
The initial design is a critical stage of the product life cycle.That is, decisions at this stage provide a rich quantity of essential information for the remainder of the design and manufacturing cycle.Identifying feature dimensions and tolerances of a part design is one of these essential decisions [63].In an engineering drawing, a dimension is a natural descriptor or a numerical value of the geometry [63,64], whilst a dimensioning scheme is a set of dimensions, which is chosen by a designer and shows the nominal geometry of a part [65].However, the dimensions of a real part cannot be produced exactly as designed under normal manufacturing conditions.Thus, tolerances are needed to accommodate variations in dimensions, which are the permitted range of deviation in part geometry, according to the nominal size and shape [65,66].Traditionally, the designers specify dimensions and tolerances just before releasing the drawings.According to the reviewed literatures, these tolerances are based on standards that have emerged from engineering experience, best guess, or through anticipated manufacturing capability [65,67].
Computer-aided analysis of dimensions and tolerances appeared for the first time in the 1980s [64].Hoffmann [68] suggested the use of linear programming in order to solve basic problems of tolerance allocation in mechanical parts.A method was presented to check inaccuracies of operations by finding the tolerance between two elements for an individual part, where an element can be a point or a line.Later, Weill and Bourdet [66] developed a computer program that calculates dimensioning and tolerancing, thereby introducing the aid of computers in process planning.A two-dimensional drawing of a part, in three different directions, was used as an input to the system.The output provides the following: tolerances of positions, machining tolerances, clear distinctions between dependent and independent variables, and minimum dimensions of the raw material.Britton and Thimm [69] presented a new matrix method based on the datum hierarchy tree technique, to calculate functional dimensions and offsets for tolerance charts.The calculations in the matrix method are performed either manually or are aided by a computer.It has been implemented in a prototype AI program for process planning.
From a mechanical engineering point of view, dimension chains involve dimensions as elements in a closed loop [70], with the technology being the basis of tolerance analysis and synthesis.Recently, it has played an important role as a connection between CAD, CAPP, and CNC machines.By using dimension chains, it is possible to: 1. Define the functional parameters (dimensions) during the design stage; 2. Use related design functions to allocate and analyse the tolerances; 3. Evaluate and analyse the accuracy of parts assembling [71].
Muholzoeva and Masyagin [72] applied a classical algorithm Floyd-Warshall to simplify the calculation of dimension chains.The missing values of tolerances in these chains are calculated by adding the lengths of two links each time.The method solves the entire structure of dimensional chains and does not calculate data for individual ones.
Gao et al. [71] presented a 3D dimension chain generation method based on a variational geometric constraints network (VGCN) approach.According to ISO/TC 213, a VGC can be classified into three types: self-referenced (SVGC), cross-referenced (CVGC), and mating-referenced (MVGC).These three types of VGC are linked to each other to form VGCN, which is used to build an assembly database.Then, assembly dimension chain can be generated automatically from the database.Instead of using a VGCN, Zhenbo et al. [73] used a feature attributes set (FAS), which represents the concept of an assembly information model for automatically generating the 3D assembly dimension chain.To achieve this goal, a transmit network between features was also presented.However, in both methods, the closed loop of a part is still needed to be specified manually by the user.Li et al. [74] proposed a method to extract the assembly information directly from a CAD assembly model.The extracted information is managed as data structures with an interrelationship, which is then accessed with database technology.Next, the 3D assembly dimension chains are generated automatically based on the assembly constraints from the extracted information.Finally, the ant colony algorithm is used to increase the dimension chain accuracy.
Nowadays, almost all CAD packages have the ability to generate and locate dimensions automatically.However, the way that these packages specify the dimensions does not reflect the functionality of the part and does not satisfy the designer and manufacturer's point of view.At present, there are no CAD packages that can calculate and assign tolerances of different dimensions in a satisfactory way, which means alternative methods (solutions) are required.Despite much effort having been made to automate the calculation of geometric dimensioning and tolerancing (GD&T) in the way of dimension chains, researchers have not proposed comprehensive solutions so far.Thus, further development of dimension and tolerance analysis is needed to complete dimension chains automation by using more appropriate theoretical models [73,75].

Materials
From a designer viewpoint, material selection is a process that identifies the material for a design that after appropriate manufacturing meets its required function [76].The decision of material selection is made during the preliminary stage of design calculations, and it has a great effect on overall product cost [77,78].From a process planner perspective, knowing the product material is one of the important aspects that gives early direction regarding the product manufacturing process [79].This is because the product material affects the selection of cutting tool material and geometry, cutting conditions (feed, speed, depth of cut), and the type of coolant [80].There are recommended cutting conditions for each material, which are traditionally found in the tool manufacturing catalogues or cutting data handbooks [81].It takes merely a glance at these machining handbooks to realise they contain complex information about hundreds of thousands of different materials.This makes it very difficult and time-consuming for a process planner to identify the ideal cutting tool, cutting conditions, and coolant fluid for each process.Hence, a type of upgradable computerised database is needed to overcome the aforementioned drawbacks.
Al-Shebeeb and Gopalakrishnan [82] used generative CAPP software tools to analyse the effects in process plans with respect to changing material properties.Precisely, the system explored the change that occurs in the cost and production rate of process plans.The research showed how a design can be evaluated from the manufacturing perspective in an attempt to decrease production cost, increase production rate, and improve the quality.

Surface finishes
Surface finish is one of the essential factors that affect the planning of manufacturing, inspection, and assembly processes of a mechanical component [83].Its notations are used to define the surface quality of a designed part, which is usually specified by maximum allowable surface roughness in micrometres, as Ra or Rz numbers [84].As an important consideration, surface finish must be supplied by the designers as it reflects intended functions of the part and must be known by process planers, for this helps to predict the machining performance of any machining operation [83,85].Some researchers have focused on the control of cutting conditions to obtain a specific surface finish [86,87].However, other groups of researchers have claimed that in addition to the cutting conditions, other factors such as the tool geometry, tool material, process capabilities, and workpiece material properties could affect the surface finish value [88].As a result, it is very important to ensure that from among all the alternative machines and tools in the shop, the machine, the tool design, and the tool material assigned to perform an operation are the best choices [4,89].
(Ben) Wang and Wysk [90] and Chang and Wysk [91] presented the Turbo-CAPP and TIPPS systems, respectively, and whilst both of these systems consider the surface finish value in their processing, the input method needs human intervention.Furthermore, the surface finish was isolated from the other inputs.However, systems like the ones mentioned above have paved the way for more automated process planning systems.Chang et al. [92] proposed a variant CAPP system.In this method, a workpiece is represented by geometry, material, and precision indexing.The surface finish is categorised into three groups: fine, intermediate, and rough.If two parts have the same geometry and their surface finishes are located in the same group, it means the cutting processes and machine tools are the same for both.According to the authors, the system is able to find out the most relevant case rapidly and is convenient for manufacturing products that vary little in their process planning.
Grzesik and Wanat [93] presented experimental work aimed at finding alternative process planning that produces the required surface finish.A workpiece of hardened lowchromium alloy steel was used and instead of deploying grinding, as the final process in a traditional process plan, mixed alumina-titanium carbon (TiC) ceramic cutting tools were utilised in turning machine to get the required value of surface finish.This alternative process plan reduced the manufacturing costs, decreased the production time, and improved overall product quality.
Özel et al. [89] examined the use of neural network (NN) models to predict the surface finish and tool wear in finish hard turning processes.The study involved investigating the finish turning of AISI D2 steels (60 HRC) with the use of ceramic wiper (multi-radii) tools.Three factors were utilised in order to train the NN algorithm: measured forces, power, and specific forces.According to the authors, the NN models are able to predict the surface finish of a part for a range of cutting conditions.Furthermore, it can enhance the creation of intelligent process planning (IPP).

Machining process and process capabilities MP&PC
In order to make a decision on which process(es) can be used and in which sequence to manufacture a part, the characteristics of available manufacturing processes should be known.The basic characteristics of a manufacturing process include features that the process can produce, limitations of the dimensional and geometrical tolerances (process tolerances), and the achievable surface finish.Such characteristics are called process capability, which must be matched with the required geometrical and topological specifications of a part to identify the necessary manufacturing processes [91,94].For example, depending on the required surface finish of a hole, a process planner should know that a reaming operation can produce a surface finish within the range 2.5-0.4 μm, whereas a drilling operation can guarantee accuracy between 80 to 12.5 μm.Also, a drilling operation is required before a boring operation due to the limitation of the cutting tool accessibility.Thus, it is possible and necessary to utilise the knowledge about the process capabilities as a functional model of process planning [95].
The knowledge about process capability can be divided into three levels: universal, shop, and machine level.The universal level ignores the knowledge of a specific machine shop, and its information is available in handbooks.This is to be used when the details of a specific machine shop are not available.In the shop level, a specific set of machines and/or cutters is considered in order to predict the required accuracy.The machine level provides the most accurate information since it takes in consideration only certain machine capabilities.Šormaz et al. [96] proposed a rule-based intelligent process planning system, which includes the process selection based on the universal level information of process capabilities.The process selection (IMPlanner) algorithm starts by comparing the feature requirements with the stored process capabilities.The process is selected based on inheriting relations from the feature type.The algorithm also includes an evaluation process, which has one of three possible results: complete, partial, and no matching.Depending on the feature requirements, process capabilities, and the evaluation result, the system shows one of these outputs: 1. "Complete" means the process is selected as a full compatible process for that feature; 2. "Partial" means the process is accepted to produce an intermediate feature with processes in the next stage of precedence; 3. "No matching" means the process is rejected and the system searches for an alternative process; 4. If the result is "no matching" and there are no more processes to consider, then the system reports dead-end to the user.

Summary
Whilst CAPP systems have been developed over the years to consider all the necessary inputs, some have been given greater emphasis, whereas others have been somewhat neglected.Older CAPP systems would deal with inputs individually, which impacted negatively on the time, cost, and quality of products.Whilst CAPP systems nowadays attempt to deal with the inputs simultaneously, there is still a lack of smartness in the way these systems update inputs.For example, AFR systems are limited to recognising a set of predefined features.Also, CAPP systems are not able to determine cutting conditions for new materials.These fundamental limitations are currently shaping a vital area of research within smart CAPP that requires further development.

Output activities of CAPP
Whilst the automation of inputs in CAPP has significant value, process planners are continually looking for what such a system can give as an output.As was mentioned previously, the output of a CAPP system should include selection of operations, sequence of operations, and associated processes to convert a raw material into a product.Also, it has to specify each dimension and geometry requirement through which the operation is achieved [97].Removing human intervention to achieve these tasks would improve CAPP performance.In order to create a convenient CAPP, these requests of production should be considered: reducing cost, quality control, and shortening time taken [98].This section studies what has been achieved in each output parameter of CAPP so far.

Process selection
To manufacture a product with the required shape, size, and properties, this depends not only on the design, but also on the selection of an appropriate manufacturing process(es) [99].Process selection in CAPP is making the decision of which to use to manufacture a part, whilst taking into consideration the existence of alternative processes that are able to achieve the same task.Consequently, a part that is planned to be manufactured on a specific class of machines could be also manufactured on a different class of machines.However, using a different class of machines means significantly different manufacturing procedures and, therefore, different process planning [17].Jain and Jain [99] presented a process selection methodology for advanced machining processes (AMPs) as well as basic types of manufacturing process.A combination of elimination and ranking strategy is used in this methodology, whilst the AMPs were reclassified to facilitate the process selection.Software known as APSPOAMPS is used to implement this approach.According to the authors, the users of AMPs are able to save time, effort, and money by using this system.However, AMPs were only reclassified based on their material application capabilities, feature recognition generating capabilities, and operational capabilities, in addition to economic and environmental aspects.Hence, the authors confessed that this is not an exhaustive list, due to unavailability of other quantitative information about the manufacturing process.In consequence, the described methodology is considered preliminary and not comprehensive or complete.
Lau et al. [100] applied a rule-based method to extract the data of a part from a CAD model saved as a STEP file.The system is aimed at recognising the features of a part and creating a process plan to manufacture it.By applying user-defined rules, the system provides rapid process selection.Even though the system saves time in process planning, it is limited to prismatic components and the common processes that are used to produce them.Zhang and Merchan [101] proposed an integrated process planning model (IPPM), with three levels: preplanning, pairing planning, and final planning.The process selection is a step in the preplanning level.The machining process is selected based on characteristics of a part's features and the equipment on the shop floor.The main concern of the process selection with this system is the availability of machines on the shop floor.

Sequence of operations
The sequence of operations is a primary objective of most CAPP systems [17].Many factors can affect this task such as types and numbers of available machines, available tools and fixtures, part features, tolerances, and required heat treatment [102].Each of these factors imposes limitations or constraints on the sequence of operations, which are called manufacturing constraints [102,103].Moreover, some of the constraints may cause confusion as they conflict with each other.Hence, some processing steps are executed in the same setup, whereas others are executed consecutively [103].
Kruth and Detand [104] presented non-linear process plans (NLPPs) for a CAPP system.The NLPPs provide rescheduling and re-planning functions which are missing in conventional process plans.The objective of NLPPs is to offer manufacturing alternatives.In this method, featurebased input is required to generate a sequence of operations.The data are provided to the system via two ways, namely, as a neutral file or a graphical editor.Gu and Zhang [102] used an object-oriented CAPP system in order to generate a sequence of operations.The method includes three phases of planning.The first phase is initial planning, which includes the selection of the operations and the machine cells.Then, a setup planning identifies machines and fixtures, clamping surfaces, and feature accessibility.Based on the information from the previous phases, the final planning determines all the detailed sequences of operations.
Pandey et al. [105] developed an operation sequencing rating index (OSRI) system by associating four factors: setup changeover, tool changeover, motion continuity, and loose precedence.The next step includes the use of the simulated annealing (SA) algorithm to determine the best sequence of operation by maximising OSRI.According to the authors, the system is able to reduce both the computational time and the search space to reach the best solution.However, it does not take into consideration the stuck up tolerances.

Cutting tools
A machining process includes the metal removing from a workpiece as swarf or chips using single or multi-point cutting tools with a specified geometry [88].Despite the cutting tools selection being just a sub-function of process planning, it is a complex task that requires considerable experience and knowledge [106,107].Traditionally, the best set of cutting tools is selected by individuals based on their previous experience, but this manual approach is slow as well as leading to errors and inconsistencies [107].Thus simply, it is inconvenient to select the cutting tools based on the familiarity, experience, and the memory of operators.To overcome this issue, a system is required to analyse part geometry and specifications, subsequently identifying the appropriate tools automatically.Unfortunately, despite the development of CAPP systems, automatic cutting tool selection for machining operations is still in its infancy [106].
The tool selection affects many other parameters in manufacturing such as the selection of fixtures, production rate, machining accuracy, and the final cost of the product [108].The correct selection of cutting tools and its associated cutting conditions could significantly reduce the production cost.Hence, any CAPP system that does not consider these parameters will have severe limitations [109].Even though most modules use "minimum cost" criteria in the tools selection task, this criteria does not necessarily represent the ideal solution as it does not always consider other technological constraints.In such situations, it is difficult to include machinists' experience of decision making, as these systems are build up based on "low cost" criteria.So far, there is no general acceptable solution for tools selection that could be used in all workshops [106].
Ribeiro and Coppini [109] presented a new algorithm to improve the computer-aided technical assistance (CATA) system.Previously, this was used to determine operational costs of machining processes.By adding the improvement, the system is able to choose cutting tools and cutting conditions.This is based on a database to determine maximum production.Arezoo et al. [106] developed an Expert Computer-Aided Tool Selection System (EXCATS) by using the Prolog language.The objective is to select the tool-holder, insert, and cutting conditions in turning operations.The system has many features, for example, it allows the user to modify the result by feeding his or her own shop floor experience.In addition, it has an interface that enables tool manufacturers to add their tooling system to the package.The required inputs to the system are the part representation and tool file.Later, Zhao et al. also [110] presented a novel method to integrate a CAD system with EXCATS in turning operations.The CADEXCATS system starts with the use of an IGES neutral format to save product data.Thereafter, a feature recognition approach is applied to generate a component representation file for EXCATS.
Fernandes and Raja [108] proposed Incorporated Tool Selection Systems (ITSS) in a CIM environment.There are five steps carried out in ITSS to select a set of tools for each feature in the product, as processed on a specific machine.The first step is to define possible alternative tools for each feature.Then, the system excludes some of the tools from step one that are not compatible with the selected machines.The next step includes further eliminating the tools that are not compatible with the job, part material, or feature attributes.In step four, the determination of tooling parameters for each tool type is achieved by using the available information about the part.Finally, a tooling match is determined when the system searches through an objectoriented database.According to the authors, the system is fast and helps to keep the user up-to-date with developments in the tooling industry.
Based on the use of mathematical modules and heuristic data, Edalew et al. [111] developed a dynamic programming-based system to select cutting tools and calculate total component cost.This is to give users suggestions and solutions to reduce cost and time of machining.The system was developed using Kappa-PC software with five modules: knowledge acquisition, knowledge base, inference engine, user interface, and database.The system was designed to cover different machining processes, whereby it is able to analyse cylindrical and prismatic products.All the calculations are based on the product material, features attributes, machining time and cost, tool life, and material removal rate.
Orala and Cakir [107] presented a tool selection method used in a generative CAPP system for rotational parts (GPPS-RotP).In this system, the automatic tool selection task is based on several factors: part machinability, part features, machine tool data, part holding device, and setup number.There are two criteria that have been implemented to achieve tool sequence that minimise both the number of tool changes and the tool travel time.

Cutting conditions
Cutting conditions or cutting parameters include cutting depth, feed rate, and cutting speed.The selection of convenient cutting conditions is an essential task for every machining process and CAPP system.Usually, experiences and handbooks are used to determine the desired cutting conditions.However, this does not necessarily mean that the selected parameters will achieve the desired surface quality features [112][113][114].In order to select proper cutting conditions, reliable mathematical models, which are usually based on neural computing or statistical regression techniques, have been developed to study the relationship between cutting conditions and cutting performance.The next step includes the defining of an objective function with constraints to find the optimal cutting conditions [112,115].
Based on the design and analysis of machining experiments, Chua et al. [115] developed mathematical models for Röchling T4 medium carbon steel workpiece material using TiN-coated carbide as a cutting tool in the turning operation.The experiment was planned using three levels (low, medium, high) for each cutting parameter.The results of 27 experiments were recorded, each of which was carried out with a combination of different levels of parameters.The tool life, cutting forces, and power consumption were measured and related to the cutting conditions.Vele [116] presented a mathematical model to select optimal cutting conditions for TiN-coated carbide cutting tools and a T4 medium carbon steel workpiece, in order to achieve economic objectives.The system was developed based on detailed planning and proper analysis of machining experiments for multi-pass turning operations.The research was also aimed at studying the effects of cutting parameters on the tool life, cutting forces, and power consumption.Despite the mathematical models approach helping to determine desired cutting conditions, it requires considerable knowledge and experience.Furthermore, to build mathematical models, it is necessary to carry out and analyse a large number of cutting experiments, which consumes material and time.Hence, a more cogent approach with less consumption is needed.
Tsai et al. [117] proposed a methodology to define the cutting condition and tool path for pocket milling operations.In this research, the cutting conditions include axial and radial depth of cut and feed rate, with a procedure being followed to determine these parameters.Firstly, the axial depth of cut is selected based on the geometry of the product.Next, the maximum allowable radial of cut or the maximum allowable engage angle is calculated.Finally, the feed rate is selected for both the rough and finish cutting cycles.In the rough cycle, the cutting torque is considered to calculate the feed rate, whereas this calculation in the finish cycle is based on the tool deflection.The main purpose of determining these cutting conditions is to avoid abnormal cutting states such as excess cutting torque, excess tool deflection, and chatter vibration.
Many researchers have used the Taguchi method to optimise the selection of cutting conditions for a specific machining operation.This is a powerful tool that greatly improves productivity, whereby it enhances quality and attempts to minimise the loss function of the product cost and development interval [112].Basically, the method was introduced for designing products and processes in order to meet environmental conditions, designing and developing products and processes in order to increase the flexibility of the system performance to sources of variation, and reducing variation around a target value.This is carried out in a three-step approach: system design, parameter design, and tolerance design.The system design includes the production of a basic functional prototype design in two stages.The first stage is the product design, when components, materials, basic product parameter values, etc. are selected.The second stage is the process design, which involves the following: sequence of operations, machine and tool selection, temporary process parameter values, etc.In terms of quality and cost, the system design is far from optimal since it is an initial functional design.Thus, the following step, which is parameter design, is required to optimise the process parameter values.This is so as to achieve high production quality and reduce the cost.Finally, the tolerance design step is used to analyse the recommended values by the parameter design, and then, tolerances are determined around these values.The need of tolerance design occurs when the result obtained by parameter design does not satisfy the required performance, thereby needing a tightening of the tolerances for the product or process parameters.This increases cost by having to purchase better-grade materials, components, or machinery.However, based on the above, parameter design is a significant step in the Taguchi method towards improving quality without increasing the cost [112,114].
Yang and Tarng [112] used the Taguchi method to find proper cutting parameters in turning operations of a S45C steel workpiece and tungsten carbide cutting tools.In this method, an orthogonal array is implemented to study the cutting parameters space with only a small number of experiments.Then, a signal-to-noise (S:N) ratio used to measure the deviation between the quality characteristics and the desired value is calculated based on the experimental results.Usually, the greatest S/N ratio represents the optimal level of the cutting parameters.Next, a statistical analysis of variance (ANOVA) is used to determine the significant cutting parameters.As an indicator of the method success from the initial cutting parameters to the optimal ones, the results show 250% improvement in tool life and surface roughness.Nalbant et al. [114] utilised the same method for an AISI 1030 steel workpiece and TiN-coated cutting tools in a turning operation.In this research, two main purposes were taken in consideration.Firstly, there is the presentation of a simple, systematic, and efficient methodology of the Taguchi parameter design in process control for turning operations.Secondly, it clarifies the significant impact of using the Taguchi parameter design to improve surface roughness with a particular combination of insert radius, feed rate, and depth of cut.After implementing the Taguchi method, the authors claimed the improvement in surface roughness is about 335%.
Subramanyam and Rao [118] analysed the values of three cutting parameters (speed, feed, and depth of cut) of 14 turning operation samples with their respective surface roughness.The values obtained by varying the parameters are used in the design of expect V-8 software in order to obtain an equation.There are two phases in this study, which include the use of a genetic algorithm (GA) and particle swarm optimisation (PSO).In the first phase, the experimental values were used instead of mathematical models to create a neural network.Then, through MATLAB, a GA is used to optimise the cutting conditions.In the second phase, the program calculates the cutting parameters by using the obtained equation from the design of the Expect software and written PSO in c language.Finally, the results from the GA and PSO are compared.
In 2006, Sardinas et al. [113] presented a multi-objective method to optimise the cutting parameters in turning processes based on posteriori techniques and using a GA.In this system, two conflicting objectives were considered as optimisation criteria and simultaneously optimised: tool life and operation time.The system starts with the use of a micro-GA in order to create and preserve an elitist population of the fittest cutting parameters: speed, feed rate, and depth of cutting.After applying a series of evolutionary periods, non-dominated points are plotted to build the Pareto front in order to make the analysis and decision-making process easier.Later, Sardinas et al. [119] applied the same earlier techniques (posteriori and GA) and procedure to optimise the cutting parameters for drilling laminate composite materials.In this work, two conflicting objectives were considered and optimised: material removal rate and delamination factor.The authors confirmed that the use of posteriori and GA in different machining processes increases the flexibility in selecting the optimal cutting parameters.
Addona and Teti [120] proposed an optimisation system based on a GA to determine the cutting parameters in turning operations.The main objective of this system is to minimise the production time without affecting the cutting constraints, which in this research include the following: tool life, surface finish, cutting force, chip-tool interface temperature, power, roughing and finishing parameter relations, stable cutting region, and the number of passes.According to the authors and based on the simulation model, the system presents a fast and suitable solution for automatic selection of the machining parameters.
Agrawal and Verma [121] used a new evolutionary GA approach in CAPP to optimise machining parameters for multi-tool milling operations.The system was developed based on the Tolouei-Rad and Bidhendi mathematical model, whilst the maximum profit rate was utilised as the objective function.The depth of cut was not included in the problem of determining the machining parameters, but instead, the value of the combination between maximum allowable depth for a given workpiece and cutting tool was taken.Hence, the calculations for selecting the speed and the feed rate of cutting were reduced.In this research, the following were used as constraints: surface finish requirement, maximum machine power, available feed rate and spindle speed on the machine tool, and maximum cutting force permitted by the rigidity of the tool.According to a comparison of the results, the methodology delivers an improvement of 419% in profit rate over the handbook recommendation.

Selection of jigs and fixtures
Fixtures and jigs are mechanical devices and tools frequently used with different types of machining, assembling, and inspection operations, to maintain accuracy and facilitate production [122,123].A fixture is a holding or support device that securely locates and supports the workpiece with respect to a cutting tool or measuring device in manufacturing industry [124,125].A fixture system is a set of clamps and locators aimed at removing the degrees of freedom, thereby restricting the part to that particular position [126,127].The position and orientation of a workpiece is usually determined by locators, whereas clamps exert a clamping force in order to press the workpiece firmly against the locators [127,128].Whilst jigs are used to locate and hold components as well as fixtures, they also guide the cutting tools and provide repeatability in the manufacturing of products [129].Traditionally, an appropriate designing of fixtures and jigs scheme is determined by relying on the experience of a tool designer or by using trial-and-error methods.These methods are costly, time-consuming, and not accurate.Thus, many computer-aided fixture designs (CAFDs) have been developed over the past decades to overcome the aforementioned drawbacks [130][131][132].
Artificial intelligence techniques is one of the methods that has been used in the design and selection of fixtures.Bhattacharyya et al. [130] presented an expert system in order to select the appropriate fixture, according to a particular workpiece specification.In this research, the fixtures are classified into three main categories of elements, which represent part's datums: clamping, positioning and guiding, supporting and base.The system contains many typical search routines built based on the experiences of fixture designers, each routine being linked to a specific group of elements.Then, the parameters of the chosen elements are passed to an interface program calling standard commands from a drafting package to construct the drawing of these elements parametrically.Finally, the fixture is formed by assembling all of the elements together.According to the authors, it is possible to use this procedure not just with the design of jigs and fixtures, for it could be extended to include almost any products where a large number of variations exist.
Wang and Pelinescu [126] proposed an approach to optimise fixture layout for arbitrary complex 3-D workpieces, and the fixture elements are restricted to being in discrete locations.The authors claimed that two major issues were addressed in this research: the development of an efficient algorithm to define fixture synthesis and the selection of optimal fixture design based on practical requirements.An interchange algorithm was employed in the system in order to improve the locator locations, which were selected randomly, in a subsequent set of interchange processes.The objective functions include the following: maximising the accuracy of the workpiece localisation as well as minimising the norm and dispersion of the locator contact forces.Also, the interrelationship between locators and clamps was presented in two different design strategies, which was to evaluate the trade-offs between different performance objectives.
Qin et al. [128] developed a new methodology to analyse and optimise the clamping sequence by taking into account the varying of both contact and friction forces during clamping, which affects the degrees of freedom.A nonlinear mathematical programming problem was solved in order to evaluate the errors of varying contact forces and workpiece position in each clamping step.To achieve this task, the total complementary energy of the workpiecefixture system was minimised.Furthermore, a study to reduce the effect of the clamping sequence on low-stiffness workpiece machining accuracy was presented by means of the finite element method (FEM).By taking three examples, the results showed good agreements between the predicted ones and experimental data.
In mass volume production, a large number of similar parts are produced once jigs and fixtures are designed.In this case, these are designed as special-purpose tools for machining and assembling, and they may or may not be utilised in another mission.The main two purposes are as follows: elimination of the need for an additional setup for every workpiece and ensuring that each workpiece is manufactured within the allowable tolerances.Bhosale et al. [123] presented a study and design of jigs and fixtures in mass volume production.The base frame of a generator canopy was considered as a case study.The researchers included many modules: design the base-frame model, study the manufacturing process of the base frame, design the fixture, selection of fixture material, and manufacture of the fixture.Regarding the fixtures, heat-treated steel was selected to fabricate them due to it being corrosion and wear resistant.Accuracy and low cost were considered in the designing and manufacturing of the fixtures and jigs.By using these to manufacture the base frame, the results showed the following: an increase in production rate, increased accuracy and consistent quality of manufactured products, a decrease in manufacture cost, minimising of the need for inspection, and the safety was improved.Whilst the purpose of using fixtures and jigs is similar in both mass and low volume production, they have different characteristics and requirements.The concept of a reconfigurable fixture system has become a considerable objective in low volume production.This is to reduce the cost of production per unit as it consists of standard components that can be used in another job.Jayaweera et al. [124] developed a novel concept of a reconfigurable fixture system.The system was validated using available standard parts to build a fully functional small-scale prototype of a fixture for handling a large square and round sections of aircraft components.The system consists of six different modular sizes, screws, and nuts, and different sizes of tubes.These parts can be assembled in different shapes and sizes depending on the application and the strength requirements.The developed system can be used in many industries due to its flexibility and reconfigurability.

Identifying the tool path for both of rough and finish cycles
The responsibility of preparing the technical machining information (e.g.numerical control NC program, tool sets, design of jigs and fixtures) is laid on the process planner.The NC program consists of tool path (cutter location) and machine tool operating commands, such as cutting conditions [81].The tool path is a coded instruction, which is represented by a specific command and numerical value, making specific trajectories on the workpiece being processed [133].Once the features of a designed part are recognised and defined with all the geometrical information, it is possible to determine the cutter tool path.The manual generation of a tool path is considered a bottleneck in a production system since it requires extensive calculations, which makes it time-consuming and error prone.Thus, automatic tool path generation is an essential task of an automated manufacturing system [133,134].
In processes such as turning and milling, the operations are divided into stages: rough, single pass, multi-passes, and fine cycle.In the rough cycle, the workpiece is machined in incremental layers in order to avoid damage of the tool and/or machine.This is to remove most of the material from the original stock of a particular workpiece to the desired shape and size, which greatly affects the total machining time and, partially, the accuracy of the finished product [134,135].Whereas in the finish cycle, the workpiece surface is machined smoothly, using line segments to get the finished product with its required shape and accuracy.The finish cycle directly affects the product accuracy in terms of shape, dimensions, and surface roughness [134].However, to generate an efficient automatic tool path for rough and finish cycles, these requirements must be considered: -It is applicable for general feature types as canned cycles; -It is applicable for general surfaces; -Whilst cutting a specific part of the workpiece, the cutter does not adversely affect any other part (gauge avoidance); -Cutting efficiency, which refers to saving time whilst the cutter repeats traversals in the rough cycle, and achieves the required accuracy in the finish cycle [136].This is accomplished by reducing the number of moves in which no cutting occurs.
Lin and Gian [137] developed a methodology to generate automatically an NC cutter path for the rough machining of complex parts.Firstly, a cubic non-uniform B-spline (NUB) mathematical surface model is established from a large number of data points obtained from the sculptured-object surface.Then, a quadrangular-meshed model is created based on the NUB model in order to determine the island loops and boundaries associated with each cutting layer, of constant depth.A boundary-loop pre-checking algorithm is proposed to find the main-machining region, whilst another algorithm, island-loop final-checking, is used to determine the residual-material region.Finally, four paths are utilised for tool path generation: linear pocketing, contour roughing, semi roughing, and new-island processing.This is to ensure good cutting efficiency and to avoid the breaking of the cutting tool during the rough cycle.
Bieterman and Sandstrom [138] presented a novel curvilinear tool-path generation method for three-axis machining of convex pockets.In the main part of this work, both geometry input and a partial differential equation (PDE) were used.The approach is aimed at determining an ideal curvilinear tool path by spiralling between trajectories of a well-selected scalar mathematical function on the pocket.This morphs the tool path from an almost circler shape in the pocket centre to the final shape of the part on the pocket boundary.Figure 9a, b shows a conventional and curvilinear tool path for pocket machining, respectively.Whilst the main focus of this research is the generation of a tool path, several other benefits have been gained: saving up to 30% of machining time, reduction of tool wear through cutting along with reduced machine spindle wear and tear.However, the implementation of this method was restricted to a specific type of convex pockets, ones free of islands or pad-up regions and formed by removing constant-depth layers.
In 2013, Sadílek et al. [139] proposed a new methodology for a rough cycle tool path in turning operations.In contrast to the conventional roughing cycles, when the tool machines a constant depth, a variable depth of cut is applied, in order to increase the tool life.Three paths of roughing cycles are included in this research: gradually decreasing the depth of cut, creating conical paths of cut, and using non-linear methods.By implementing the developed method on a flange using a sintered-carbide cutting tool, the results showed the following: increasing the durability of the cutting edge by 44%, reducing the total cost for the cutting tools, and decreasing the load in the spindle by 10%.According to the authors, complex programming is required to generate tool paths for the roughing cycle with variable depths of cut.Later, in 2015, Sadlek et al. [140] used the same previous methodology for a rough cycle with variable depths of cut this time and with the cutting forces as an object function.In addition to the aforementioned results, the new experiment showed the following: the cutting forces are reduced by up to 10.8%, and the tool life can be affected owing to the relation of cutting force components being changed.
Francis et al. [141] presented automated tool path generation for finish machining of freeform surfaces.The free form surfaces contain scallops, which are the amounts of material intentionally left behind.Two scallop height strategies were used in this research in order to compare the optimal tool path method.The first approach is the minimum scallop height (MSH), which includes extra tool passes and results in smoother surfaces with lower machining efficiency.The second approach is maximum scallop height (CSH), when the cutter sweeps in fewer passes compared with the MSH method, hence less smoothness of the final surface will be gained.However, the cutter contact (CC) points and the tool orientation at those points are known; thus, it is possible to determine whether a collision will occur between the tool and the neighbouring surface.

Estimate the time and the cost to manufacture the part
A time-cost estimation process is greatly required for any new product before manufacturing since these factors affect the success of the product [142].One of the essential tasks in process planning is to send feedback information to assist the designer at an early stage in evaluation of the design features.This does not just include the functional aspects, but also the manufacturability, assimilability, and estimate processing time and cost.Hence, if the designer realises that the initial design's features require expensive tools and/or complex manufacturing processes, it would be logical to try an alternative one [143,144].Underestimating will certainly cause a financial loss to the company, whilst overestimating might mean losing the contract or customer goodwill [142].Consequently, the estimates should be as accurate as possible.
The cost estimation of non-linear process planning is one of the problems under consideration.This includes, for example, taking into account processing alternatives.In 1998, Xirouchakis et al. [145] presented a PP-net (process Fig. 9 a Conventional pocket-machining tool path, and b curvilinear pocket-machining tool path [138] planning net) model, which is an extension to the Petri net model, in order to determine four types of cost in process planning: -The pure machining cost, which depends on the machining time for a particular machining operation; -The cost to transmit a part from one machine to another; -The cost when the setup is changed in one machine; -The cost of changing tools in one machine.
In this system, a PP-net construct is created, firstly, by including the costs of operations, machine changes, setup changes, and tool changes.Next, Dijkstra's algorithm is used to compute the shortest path of the previous PP-net.This algorithm has an incremental nature and calculates the optimum process planning cost directly, which means there is no need to develop all possible solutions first.A year later, Xirouchakis et al. [146] applied Petri net in non-linear process planning to estimate the delivery time and cost of a batch of manufactured mechanical parts.In comparison with the previous work, the interleaving of transitions is allowed in the new method.This is to obtain optimal schedules and realistic delivery time estimations.Also, the simple structure of the Petri net was extended to include a two-level hierarchy of nets.The top level of the hierarchy represents the system net modelling, which is the job shop layout, including the machines.Each node of the system net can hold one or more token nets, which is the second level of the hierarchy and includes the jobs and setups.The new model construction allows the job shop layout, jobs, and setups to be considered as separate objects with unique identity and behaviour.
Gomaa [142] developed a system aimed at minimising the gap between the estimated cost and the actual cost of products.Three models are presented in this work: detailed time-cost estimation (DTCE), machining complexity (MC), and rough-cut time-cost estimation (RTCE).The DTCE module is divided into five phases: -Feature recognition (FR), using a feature-based description system; -Sequence planning (SP), to determine a sequence of machining processes and operation; -Process detailing (PD), which gives details about each machining process and operations, i.e. tools selection and cutting parameters; -Time estimation (TE), determining the total standard machining time; -Cost estimation (CE), which determines the total standard machining cost.
All these phases are essential details for process planning.Ten experimental factors in the MC model have been presented and evaluated: workpiece weight, mean outer diameter, machining yield, number of machining surfaces, surface finish, tolerances, metal type, machining features, process type, and quantity required.These factors are important in the group technology and the rough-cut estimation system, whereas the RTCE module is needed for a rapid request-for-quotation (RFQ) process, design stage, new parts processing, and production schedule.According to the author, the maximum deviation of the estimated time is 12%, whereas that of the estimated cost is 15%.
Ben-Arieh and Li [147] developed a web-based system that links design stations with manufacturing shops in order to provide accurate and fast machining time and cost estimation.Furthermore, the system provides processplanning capabilities and a supplier selection facility.A cost estimation and supplier selection (CESS) module has been developed and connected via the web-based system with the design departments and the manufacturing shops.The designer client needs to, firstly, register with the CESS server, and then, a request for quotes (RFQ) form must be filled.Finally, browsing and the evaluation of cost estimation information from different manufacturing shops is received from the CESS module.The CESS module includes three major activities: account management, RFQ management, and process plan/time estimation.The developed CESS system offers several benefits, including finding the right manufacturers and getting the quotations faster.It also means that the suppliers can get the right work depending on their shop capabilities.
Chi [148] developed an application program "Quotation Calculator" in order to calculate the material and manufacturing costs of a new product.The system was developed in Microsoft Excel with partial programming in the Visual Basic editor.In this methodology, product data is extracted from a CAD model and transformed to Microsoft Excel.Whilst the sequence of operation and process planning is done manually, the cost calculation can be automatically implemented based on standard operations and tables for machine data and material costs.
Elgh and Sunnersj [149] presented a generative process planning and cost estimation (GEPPACE) system.In this method, the information about topology, features, and parameters is extracted from a CAD model and exported to generic process plans for a given class of products.The DBF approach was used to identify features in a CAD model for CAPP.The core of GEPPACE includes renaming of assemblies, parts, features, and parameters using strings with predefined positions and nomenclature for classification of objects.The nomenclature system depends on the product nature and company needs.An application program was developed in order to extract and transfer CAD model information.The application program matches the CAD model information with the generic standard CAPP information and worksheets for cost estimation.This allows the designer to view cost-effective solutions in accordance with manufacturing restrictions.
Germani et al.G [150] used a knowledge-based system to link automatically the design features with manufacturing operations in order to obtain the estimation of manufacturing cost.To achieve a robust combination between the manufacturing operations and the design features, two clusters of data were defined: simple modelling features and advanced manufacturing features.A CAD data structure is analysed using the knowledge-based tool to extract the design information that the system needs.Finally, the cost estimation is generated after mapping design and manufacturing features.

Summary
From the literature survey, it has emerged that not all CAPP systems can provide all seven outputs, thus delivering incomplete information about production, and therefore, requiring human input for completion, which introduces variability and subjectivism.Also, the outputs are determined with specified fixed inputs and a CAPP system should be smart enough to update its output calculations based on new changed inputs.For example, if a new feature is detected, the CAPP system should be smart enough to calculate cutter location data, and other cutting conditions.One way of possibly solving this problem is to use neural networks, training the CAPP system to simplify complex features into their initial entities.

Discussion and conclusion
Process planning is an essential multi-task concept in the production industry, which links the design process with the manufacturing process and is aimed at providing a whole plan to transfer the idea of a designer into a final physical product.Process planning functions can be divided into two main categories: required inputs and expected outputs.Computers have been used to assist process planning activities.That is, many CAPP systems and technologies have been developed in the hope of they can contribute significantly towards time and cost reduction.However, the use of computers in process planning does not necessarily mean that these activities are being achieved automatically.A new version of CAPP, which is ACAPP, is needed to be considered in order to obtain a rapid, accurate, and robust system with minimum human intervention.
Based on a comprehensive survey, the shortcomings and barriers in current CAPP systems have been detailed, which prevent the creation of effective smart ACAPP systems.Here are some of the main facts that have been drawn out -Process planning is multidisciplinary.This means, each function of input and output can affect the other functions and be affected by them.However, most of the current CAPP systems isolate these functions from each other.In other words, each input and output move towards or from CAPP, respectively, in one direction.Thus, the final decision is far away from being an ideal one.-Part features recognition is the first and most important input to any CAPP system.Each current AFR and DBF system is limited to recognising a specific set of predefined features.To overcome this drawback, a new feature recognition system is needed, which can automatically recognise new types of features, or at least be able to learn how to recognise a new feature.Also, the system should be able to solve intelligently feature recognition issues, such as features intersection.-In an assembled product, the dimensions and tolerances of each part are related to the other parts, in order to achieve the functional parameters of the product.Thus, automatic dimension chain calculation must not be considered for each part individually, as is happening in current systems.
-Some CAPP systems include databases that are necessary in the decision-making for some CAPP functions.This type of database needs to be updated; otherwise, a lack of information could cause a failure in the CAPP system.However, this issue can be minimised by replacing the database with an intelligent knowledge base.
All the topics mentioned above could be considered essential issues in terms of creating an effective smart ACAPP system.However, many other considerations must be borne in mind to achieve this task in a satisfactory way.
The above conclusions emphasise the need for the creation of a smart AFR system.This will be a major building block for a smart CAPP that is able to recognise and construct new features using self-learning mechanisms.Further developments in this area will strongly benefit from the recent developments in artificial intelligence and smart manufacturing systems.