Abstract
Manufacturers of machine parts operate computerized numerical control (CNC) machine tools to produce parts precisely and accurately. They build computer-aided manufacturing (CAM) models using CAM software to generate code to control these machines from computer-aided design (CAD) models. However, creating a CAM model from CAD models is time-consuming, and is prone to errors because machining operations and their sequences are defined manually. To generate CAM models automatically, feature recognition methods have been studied for a long time. However, since the recognition range is limited, it is challenging to apply the feature recognition methods to parts having a complicated shape such as jet engine parts. Alternatively, this study proposes a practical method for the fast generation of a CAM model from CAD models using shape search. In the proposed method, when an operator selects one machining operation as a source machining operation, shapes having the same machining features are searched in the part, and the source machining operation is copied to the locations of the searched shapes. This is a semi-automatic method, but it can generate CAM models quickly and accurately when there are many identical shapes to be machined. In this study, we demonstrate the usefulness of the proposed method through experiments on an engine block and a jet engine compressor case.
Keywords
Introduction
Mechanical parts that require high precision, such as engines, are mainly produced by cutting. Manufacturers use computerized numerical control (CNC) machine tools to maintain high levels of precision. CNC machine tools automatically control the movement of cutting tools to a precise value by a computer, enabling mass production of precision parts. Since the movement of cutting tools is described in G-code, there is a need to write G-code programs suitable for machining mechanical parts. However, it is not easy for humans to directly write the G-code of the part having a complicated shape, and it can cause human errors. Therefore, manufacturers introduce and utilize CAM (computer-aided manufacturing) software. When using CAM software, an operator creates a CAM model by setting tool paths and machining parameters based on a pre-designed computer-aided design (CAD) model. G-code is automatically generated from the CAM model to operate CNC machine tools. Using CAM software enables to link the machining process to the CAD model, to calculate the machining time and tools required for machining, and to analyze problems that may occur during machining through machining simulation.
A CAM model is based on CAD models and includes setting information, cutting conditions, and machining strategies required to generate tool paths. The CAM model does not define the tool paths explicitly but defines them indirectly using machining operations or machining features. For example, in a CAM model defined in CATIA V5, machining operations such as “Profile Contouring” and “Multi-Axis Curve Machining” are defined to process the shape. In addition, to define each machining operation, the guide shapes are defined and various machining strategies are defined.
Machining operations are defined using the faces or edges in CAD models as guide shapes. In this process, it is important to select the appropriate faces and edges at the operator’s discretion. Therefore, this step requires utmost attention and takes most of the time. Furthermore, if there are no faces or edges that can be used as a guide shape in the CAD models, the required faces or edges must be created manually. A jet engine case, although it is a single part, has a complicated shape. If a CAM model is created by manually defining machining operations for the jet engine case, it may take a time as short as a few days to as long as several weeks.
To solve this problem, feature recognition methods1–3 for automatically recognizing machining operations have been widely studied since the 1980s. Some feature recognition methods were implemented in commercial software. However, if feature recognition is applied to a part having a complex shape such as an aircraft jet engine and shape errors, the recognition rate decreases. Most feature recognition methods need to remove fillet and round shapes before application. Translation errors frequently occur in the process of exchanging CAD models, and such translation errors interfere with recognition. Besides, it often presents different results from the ones that operators expect for the recognized parts.
Because of such limitations in feature recognition methods, it may be necessary to pre-process 3D shapes. For example, to increase the recognition rate, shapes may be simplified while preserving the overall characteristics of the shapes, 4 or fillet and round shapes may be removed. 5 Also, when CAD models are exchanged, pre-processing for reducing translation errors may be performed.6,7 However, these pre-processing techniques would have limitations in practicality for industrial applications.
This study proposes a practical method as an alternative to the machining feature recognition. This method searches target shapes on a part, copies the source machining operation defined by an operator, and uses it in other parts which need the same machining. The target shapes having the same machining shapes with the source machining operation are found through the shape search in the part shape. The transformations for moving the source machining operation to the target locations are then calculated and the source machining operation is copied to the target locations. This is a semi-automatic method, but can generate a CAM model in a very short time. Especially, this method has great effect on parts which have a complex shape but consist of the same local shape (feature) in many areas; jet engine parts are a representative case of this part type. In this regard, the authors conducted prior research, 8 but its application was limited to a cylindrical shape, and the transformation was simplified to axis-rotation. However, in this study, the application is generalized, and the transformation is extended to a rigid transformation with a mixture of translation and rotation so that the method can be practically applied to aircraft engine parts. As a contribution, this study has a combination novelty which combines several techniques including search-and-copy strategy, shape search, feature recognition, and CAD to generate a CAM model for jet engine parts.
This paper is organized as follows. Section 2 discusses related studies and Section 3 explains the basic concept of the practical method proposed in this study. Section 4 describes the shape search method, while Section 5 explains how to calculate the transformation. Section 6 presents the implementation and experimental results, and Section 7 concludes this paper with a summary of the research.
Related studies
To integrate CAD and CAM, studies have been conducted since the 1980s to automatically recognize machining features or machining operations from CAD models. A considerable number of studies have been conducted, and representative research contents and advantages, as well as disadvantages of each method are well summarized in Han et al. 1 and Shah et al. 2 Representative feature recognition methods include graph-based methods,9–12 volume decomposition methods,13–19 hint-based methods,20,21 and machining learning-based methods.22–27
In graph-based methods, the relationship between the faces and edges of an original shape and feature shapes is represented in a graph. The sub-graphs representing the feature shapes are searched in the graph representing the original shape. These methods have the advantage of being able to easily add new machining features to be recognized and apply to various domains. However, it is challenging to apply these methods when the topology of the recognizable feature shape is variable or when the features intersect with each other. In addition, the recognized features are represented by faces instead of a volume. Furthermore, since the graph-based methods have exponential time complexity to search sub-graphs, it is challenging to apply them to complex shapes.
Volume decomposition methods decompose a part shape into simple volumes and recognizes the simple volumes as features. Based on how a part shape is decomposed, they are divided into convex decomposition methods13,14 and cell-based decomposition methods.15–19 Convex decomposition methods are a method that sequentially decomposes a part shape into convex hulls and delta volumes of the part shape. Cell-based decomposition methods decompose a part shape into small cells having a simple shape, and recombine these cells to form large machinable volumes. Volume decomposition methods can be applied even when features intersect with each other, and they have the advantage that the recognized features are expressed as volumes rather than faces. However, since it takes a long time to process, it is difficult to obtain a result in a reasonable time when applied to a complex shape.
Hint-based methods start with a minimum trace for recognition of a feature instead of finding a complete pattern of the feature and then search for the feature through a geometric inference process for the surrounding faces. However, when a feature intersects with another feature, some part of the feature disappears, which makes it impossible to define an intact feature only by an existing shape. Therefore, in hint-based methods, the geometric completion of the feature is carried out using the trace and the faces around the trace. It solves the problem of intersecting features, which is the biggest difficulty in feature recognition. Since hint-based methods start searching from a trace, they have an advantage of fast recognition. However, hint-based methods have a disadvantage in that a recognition rule must be individually defined for each feature.
Machine learning-based methods22–27 find features using convolution neural networks. These methods extended the convolutional neural networks, which showed good results in image classification, to feature recognition, and the basic concept is similar to that of image classification. However, since the input data of the convolutional neural networks must be represented in a grid form, a B-rep (boundary representation) model used to represent CAD shapes cannot be used. Therefore, a process for converting a CAD shape into a grid is required, and the recognition result is affected by the resolution of the grid. Moreover, even though it is possible to know what features the input CAD shape is composed of, it is difficult to know the specific faces or location of the feature. In addition, since they only have targeted cuboid shaped parts so far, it is difficult to apply them to parts having a cylindrical shape like jet engine parts.
Although many feature recognition studies have been conducted as described above, there is no feature recognition method generally applicable. Additionally, most methods are difficult to apply, when there are fillet or round shapes. They must be removed before applying the methods. However, it is often not easy to remove fillets or rounds in complex shapes. In addition, translation errors frequently occur in the process of exchanging CAD models between companies, and such translation errors interfere with recognition. Moreover, the recognition result is often different from what operators want for the recognized part. Therefore, this study proposes a search-and-copy strategy, which searches for shapes and then copies the machining operation, as an alternative to feature recognition methods.
Basic concept of the proposed method
This section describes the fast CAM model generation using the proposed method proposed in this study. Figure 1 shows the procedure of the proposed method. First, an operator defines one source machining operation to create a tool path. The source machining operation includes both the guide shapes and the machining strategy required to generate the tool path. Second, the operator selects the source machining operation to be copied. Additionally, one or more reference shapes used when searching for shapes, are selected. For example, when a drilling operation is selected as a source machining operation, a cylindrical surface corresponding to the hole-drilling surface or a circular curve corresponding to the opening of the hole can be selected as a reference shape. The guide shapes used to define a source machining operation can be also selected as reference shapes, and the shapes that appear common with the target shapes to which the source machining operation is applied can be selected as well. Third, the shapes similar to the reference shapes are searched in the part shape. At this time, the search is automatically performed using the shape search methods. In this study, a global feature-based method is used among various shape search methods in Iyer et al., 28 as described in Section 4. Fourth, transformations for moving the reference shapes to the locations of the searched shapes are calculated as described in Section 5. Finally, the transformations are applied to the source machining operation and copied to the searched shape locations. Copying the source machining operation copies the tool path created by the source machining operation to the locations of the searched shapes.

Proposed method for the fast generation of CAM models.
The main part of the proposed method is to search target shapes and to copy the source machining operation to the locations of the searched target shapes. It is called the search-and-copy strategy. Figure 2 shows the concept of the search-and-copy strategy. An operator defines one machining operation to create a tool path as shown in Figure 2-①. At this time, the loop consisting edges in Figure 2-② is used as a guide shape to define the machining operation. The machining operation that generates the tool path of Figure 2-① is designated as a source machining operation, and the loop of Figure 2-② is designated as a reference shape. The loop shapes in Figure 2-③, which are same to the reference shape in Figure 2-②, are then searched. Transformations for moving the reference shape in Figure 2-② to the searched shapes in Figure 2-③ are found. Finally, by applying the transformations to the source machining operation, the source tool path in Figure 2-① is copied to locations corresponding to each shape in Figure 2-③.

Concept of the search-and-copy strategy.
In the proposed method, only the process of selecting a source machining operation and reference shapes is intervened by an operator. The process after that is performed automatically. Therefore, if only one machining operation is defined for the same machining shapes, a predefined machining operation can be automatically copied and used for the other machining shapes. Existing CAM software provides functions to copy and use machining operations, but to use these functions, an operator has to define transformations directly or specify the locations to copy. Moreover, if the copy locations are not regular, it takes a long time to define the locations.
Shape search method
In the third step of Figure 2, the shapes equivalent to the reference shapes are searched in the part shape. Various methods for searching the same shapes have been proposed, and the contents of this are well summarized in Iyer et al. 28 Representative methods for searching shapes include machining feature recognition-based methods, 29 product information-based methods, 30 3D object recognition-based methods, 31 graph-based methods, 32 histogram-based methods, 33 machine learning-based methods,34–36 and global feature-based methods. 37
The practical method proposed in this study requires finding partial shapes composed of a set of faces or edges identical to the reference shapes in the entire part shape. Judging from this perspective, manufacturing feature-recognition-based methods, product-information-based methods, 3D object recognition-based methods, and graph-based methods cannot be applied. Manufacturing-feature recognition-based methods search for shapes by expressing the entire shape as machining features recognized by feature recognition methods and then comparing the machining features constituting the two shapes with each other. However, these methods cannot be applied to this study because machining features are a larger set of units than the reference shapes. Product-information-based methods search shapes by comparing various information representing a product. These methods cannot be applied to this study because it can only search by parts. The 3D object-recognition-based methods search for shapes by comparing the 2D images of 3D shapes and are also not applicable to this study. Graph-based methods represent the entire shape as a graph and then search for the shapes by comparing their graphs. The characteristics of the shape can be expressed as a boundary representation graph, a Reeb graph, or a skeletal graph. Because these methods also search by comparing the entire shape, it is not suitable for searching for partial shapes. Histogram-based methods sample points on faces of a shape and then construct a histogram from the sampled points to compare and search the shapes. In these methods, since the points are randomly sampled, it is difficult to recognize two identical shapes as 100% identical. Therefore, search results may vary according to a reference value for determining identity. Due to this uncertainty, it is not suitable for application in this study. Machine learning-based methods classify 3D shapes using convolutional neural networks (CNNs). These methods are suitable for classifying shapes with similar features because they automatically can learn features of 3D shapes using CNNs. However, it is not suitable for comparing two shapes to determine whether they are identical. Therefore, in this study, global feature-based method was applied for the partial shape search.
Global feature-based methods use invariant global features of a 3D shape, such as moment, Fourier descriptor, and shape ratio. For comparing shapes, the global features must be invariant to the location and orientation of the shape. When comparing complex shapes, moments38,39 or spherical harmonics40–43 are generally used. However, this study does not use complex features like spherical harmonics because in this study it is needed to compare the set of faces or edges that make up the shape. In this study, we compare the type of the face, the area of the face, and the circumference of the face for the faces; and the curve type along with the curve length for the edges. Comparing more global features allows a more accurate search, but additional feature calculations increase the comparison time. This study does not just compare one face or one edge, but compares reference shapes composed of sets of multiple faces and edges so it is possible to search for the same shapes using only the features presented above. This can also be confirmed by the experimental results in section 6.
The method for comparing the identity between one face or one edge constituting reference shapes and one face or one edge of a part shape is as follows: First, a comparison to determine whether the shape type of the face or edge in the part is similar to the shape type of the face or edge in the reference shape is done. If the types of compared faces or edges are different, they are excluded from the next comparison. However, since the same shapes can be expressed by different kinds of shapes, comparing the similarity of the types of the two surfaces or curves is done using transformation tables such as Tables 1 and 2. For example, since a plane type surface can be represented as a Bézier surface, a B-spline surface, a surface of extrusion or an offset surface as well as a plane, the Bézier surface, B-spline surface, surface of extrusion, and offset surface under item B are marked as true for the plane under item A. Tables 1 and 2 are symmetrical with respect to the diagonal as this relationship holds in reverse.
Transformation of surface type: If true, A can be transformed to B. 8
Transformation of curve type: If true, A can be transformed to B. 8
After passing the first step, the global features of the face or edge in the reference shapes are compared to the global features of the face or edge in the part. In case of faces, the area and circumference of the face are compared, and in case of edges, the length of the edge is compared. These global features can be calculated using geometric modeling kernels. If all the compared global features are similar, it is judged that the face or edge in the reference shapes and the face or edge of the part shape are identical.
To search for parts having the same shape as the reference shapes among the faces and edges in the part shape, it traverses all the faces and edges in the part shape. The faces and edges in the part shape are then compared with the faces and edges in the reference shapes, and the same faces and edges are found and stored. At this time, even if the reference shapes include multiple faces and edges, it does not find groups of faces and edges that simultaneously coincide with multiple faces and edge. In the current step, the faces and edges in the parts are individually matched to each face and edge constituting the reference shapes. The identity of a group of faces and edges is determined by finding the transformation using the method described in Section 5, and then by comparing the transformation matrix. Simply put, after calculating the transformations to the searched faces or edges for each face and edge of the reference shapes, the same transformation matrices should exist in the same number as that of faces and edges included in the reference shapes. If it is different from the number of faces and edges of the reference shapes, it is considered as not a similar shape.
For example, for the shape in Figure 3, suppose that an operator has selected the edges

Example of shape search.
Calculation of transformation
After searching for the same faces or edges as the reference shapes, the transformations for copying the reference shapes to the locations of the searched faces or edges are calculated. This corresponds to the fourth step in Figure 1.
Rigid transformation
A typical transformation that changes the position of a face or edge can be represented as a rigid transformation by in equation (1).
where,
To find the transformation that moves the reference shapes to the searched shapes, the points on the reference shapes are sampled. Points on faces and edges can be sampled through triangulation or polygonalization, and the same sampling result can be obtained for the same shapes. If the set of points sampled from the reference shapes is
where,
Axis rotation
In parts such as jet engines, machining shapes are often arranged along an azimuth on a cylindrical shape. In this case, since there is only the axial rotation,
Since the axis of rotation is usually fixed or selectable, the unit vector
There is no need to use SVD to find the rotation angle

How to find the rotation angle.
Translation
If the tool only moves linearly, such as three-axis machining,
Implementation and experiments
The method proposed in this study was verified by implementing a prototype program. The CAM module of CATIA V5 was used as CAM software. Figure 5 shows the architecture of the prototype program. The OpCopier module provides GUIs for operators and controls the entire system. The ShapeFinder module is the core module of this study, and it processes shape search and transformation matrix calculation. The ShapeFinder module receives the part shape and reference shapes from the commercial CAD software CATIA V5 in the IGES file format. The calculated transformation matrices are then returned to the OpCopier which uses the CATIA Automation API to copy the source machining operations. The ShapeFinder module was implemented using the OpenCascade, an open-source geometric modeling kernel. The experiments were conducted on a PC with an Intel i7 CPU and 16GB RAM.

Architecture of the prototype program.
Figure 6 shows the shape of an engine block part. This model consists of 1555 faces and 3796 edges.

Engine block part.
First, the drilling operations on the upper part of the engine block were tested. The drilling operation for machining one of the holes in Figure 7(a) was defined using the drilling function of CATIA. A reference shape was then selected using the OpCopier. The reference shape is a circular edge indicated by a solid red line in Figure 7(a). It took approximately 20 s to search for the shapes same to the reference shape using OpCopier and copy the source drilling operation to the searched locations. In this experiment, out of a total of 15 search targets, all 15 targets were searched. The search accuracy was 100%. The circular solid lines in Figure 7(b) indicate the shapes searched using the OpCopier. Additionally, the vertical lines are the tool paths created by copying the source drilling operation. The drilling operations were performed successfully based on the generated tool paths.

Drilling operation test for an engine block part: (a) source drilling operation and reference shape and (b) searched shapes and copied tool paths.
For the same engine block part, the profile contouring operations were tested. First, as shown in Figure 8(a), the machining operation and tool path were defined using the profile contouring function of CATIA. Two faces were then specified as the reference shapes using OpCopier, as illustrated in Figure 8(a). It took about 20 s to search for the shapes same to the reference shapes using OpCopier and copy the profile contouring operation. This example shows searching for shapes by specifying multiple reference shapes. In this experiment, out of a total of five search targets, all five targets were searched. The search accuracy was 100%. Figure 8(b) shows the searched shapes. Moreover, the thin solid lines represent the tool paths created using the copied machining operations. The profile contouring operations were performed successfully based on the generated tool paths.

Profile contouring operation test for an engine block part: (a) source profile contouring operation and reference shapes and (b) searched shapes and copied tool paths.
To demonstrate that it can be applied to complex shapes, it was applied to an actual jet engine compressor case model. Although all shapes of the test model cannot be presented due to the security concerns of the company, the jet engine compressor case has a more complex shape than the engine block in Figure 6. The model used in this study is the CAD model of the GEnx Forward Case 45 designed by GE. The image can be found in KIPCO Homepage. 46 The model consists of 18,139 faces and 60,712 edges. This model is an actual design model and has not been subjected to any artificial processing for experimentation.
The actual jet engine compressor case model was an example with the most complex shape we could get from the company. The two feature shapes, the holes and bosses that can be applied most effectively, were selected based on the opinions of the operator working for the company, and they are shown in Figures 9 and 10. Complex shapes did not appear repeatedly, so they were not suitable as experimental examples.

Drilling operation test for a jet engine compressor case part: (a) source drilling operation and reference shape and (b) searched shapes and copied tool paths.

Profile contouring operation test for a jet engine compressor case part: (a) reference shape and (b) searched shapes and copied tool paths.
We tested the holes. First, the drilling machining operation for machining one of the holes in Figure 9(a) was defined using the drilling function of CATIA. Using the OpCopier, the arc-shaped edge was then designated as a reference shape. It took about 251 s to search for the shapes same to the reference shape using the OpCopier and copy the source drilling operation. In this experiment, out of a total of 25 search targets, all 25 targets were searched. The search accuracy was 100%. The edges of the thick solid lines in Figure 9(b) show the shapes searched using the OpCopier. Furthermore, the thin line segments are tool paths created by copying the source drilling operation. The drilling operations were performed successfully based on the generated tool paths.
Second, the machining of the outer contour of the bosses was tested. The outer contour of one of the bosses was defined using the profile contouring function of CATIA. From Figure 10(a), the top face of the boss shape was selected and searched. It took approximately 251 s to search for the shapes same to the reference and copy the source machining operation. In this experiment, out of a total of four search targets, all four targets were searched. The search accuracy was 100%. The tool paths created by copying the source machining operation are shown in Figure 10(b). The profile contouring operations were performed successfully based on the generated tool paths. These two experiments show that the proposed method can be applied to complex parts.
All the processes that can be applied using the method proposed in this study were applied to the GEnx Forward Case. It took about 8 months to define the CAM model from the CAD model, to generate the tool paths, and to finish the actual machining. Of these, it took approximately 20 days to define the CAM model and generate the tool paths. When the proposed method was applied, the 20 days was reduced to about 12 days. It was reduced by 8 days, which corresponds to 40% of the tool path generation period.
When the proposed method was applied to the manufacturing process in the field, the average working time was reduced by 20% compared with the previous process. Assuming that it takes 2 months on average to generate a CAM model for one engine case, applying the proposed method could save about 1.6 weeks per one engine case.
However, the proposed method has some problems to be solved. First, since the transformation matrices are found using SVD, the tool paths may be reversed when applied to a symmetrical shape. To prevent this, it is good to select multiple reference shapes asymmetrically. Second, when the tool path generated by the original machining operation is copied to the searched locations, shapes adjacent to a location where the tool path is copied to may be different from those adjacent to the location of the original tool path. This would cause a problem of overcutting. However, overcutting can be checked in advance through machining simulation and an operator can easily exclude the copied machining operation causing the problem. Finally, when copying the machining operation, the tool paths may not be aligned in the form intended by an operator. In the case of the axis rotation, it is possible to arrange them in increasing order of angles with respect to the axis. However, in the case of a linear translation or a general transformation, the alignment criteria cannot be clearly defined. To solve this, the tool paths should be arranged based on the minimum movement path, the minimum machining time, the energy efficiency, 47 etc., but this study has not dealt with this.
Conclusion
In this study, a practical method was proposed for the fast generation of a CAM model for jet engine parts. This method is based on the search-and-copy strategy; the source machining operation defined by an operator is found and then copied to the locations having the same machining shape. The global feature-based shape search method was used to find the same machining shapes, and SVD was used to find the transformations to move the source machining operation to the searched locations. To verify the proposed method, two parts having complex shapes were tested and satisfactory results were obtained. The method proposed in this study is being applied to the field, and it reduces the working time considerably. However, there are problems to be solved, such as the reversal of the tool path or the alignment issue of the copied tool path, and further studies are required to solve them.
Footnotes
Handling Editor: James Baldwin
Declaration of conflicting interests
The author(s) declared no potential conflicts of interest with respect to the research, authorship, and/or publication of this article.
Funding
The author(s) disclosed receipt of the following financial support for the research, authorship, and/or publication of this article: This research was supported by the Basic Science Research Program through the National Research Foundation of Korea (NRF) funded by the Ministry of Education (NRF-2017R1D1A1B03028274 and NRF-2020R1I1A3066259).
