Keywords

1 Introduction

Computer aided process planning (CAPP) is the bridge between CAD and CAM systems. In CAPP, automated feature recognition (AFR) techniques still have more room to be explored. The volume decomposition method is among many AFR methods an adequate procedure to be used. In order to generate volume decomposition bodies, topological data of part models has to be recognized. To ensure that the generated bodies from volume decomposition are accurate, the approach on generating must be reliable.

A cylindrical part model has a unique parameter as it has a conical shape in it. A previous method from other researchers using copy face translation in normal directions from the mid-point of the face will work well on a flat surface but shows non-uniform thickness for cylindrical faces. This can be improved by applying an offsetting technique on the cylindrical face rather than normal translation. In order to eliminate topological errors from the developed algorithm, the part model is divided into two sections. Only half of the section is used to generate the sub delta volume for finishing (SDVF). Then to generate other delta volume bodies of sub delta volume for finishing filled region (SDVF-FR) and sub delta volume for roughing (SDVR), the SDVF was mirrored. This approach works well for a symmetrical cylinder part but is limited for an unsymmetrical part as the shape and features will contrast from the other half section.

Research and works on CAPP had been started for more that fives decade ago. More than ten methods of CAPP including feature based, knowledge based, artificial neural networks, genetic algorithms (GA), fuzzy set theory and fuzzy logic, Petri nets (PN), agent, internet, standard for the exchange of product data (STEP)-compliant method, and functional blocks (FB) method/technologies had been reported [1, 2]. Among these methods, the feature based method had been adopted by many researchers due to its ability to facilitate the representation of various types of part data in a significant form to drive automated CAPP [2]. Various applications had used the feature based technology for CAPP including in mill-turn machining [3, 4], sheet metal [5], computer aided inspection planning [6], prismatic micro parts [7]. Beside volume decompositions, other researchers had used the AFR method from other techniques such as from STEP AP203 [8,9,10], commercial CAD system database [6, 11, 12] to extract features information.

Apart from all the mentioned methods and techniques, past researches show that volume decomposition techniques were also been used. Recently Kataraki and Abu Mansor [13] had used the volume decomposition method in their research, although cylindrical shapes for bosses were covered, whereas overall cylinder shape part models were not in their intentions. Bok and Abu Mansor [14] had used volume decomposition for regular and freeform part models and stated some limitations for cylindrical faces. This paper will focus on symmetrical cylinder part models that are reliable for turning machining feature recognitions. A cylindrical stock model will be considered and conical as well as planar surfaces that are related to turning machining such as tapering, grooving and facing will be recognized as well.

2 Algorithm Framework

Several software packages were needed to develop the algorithm. This included a CAD software to model the part model and export it as .SAT file and an open source C++ language CAD modeller software to develop the algorithm in order to facilitate the recognition of features. The surface recognition will decompose a sub-delta volume that suits the finishing and roughing machining process. SDVF will be generated based on the thickness of the finishing while for SDVR the thickness will be according to the stock model dimensions. Figure 1 shows the process flowchart of the developed algorithm. The algorithm is based on two processes which are; (1) part model validations and (2) the volume decomposition generation.

Fig. 1
figure 1

Algorithm process flowchart

2.1 Part Model Validation

The part model will be validated in three ways. These include the part model volume, part model symmetry and positioning of the part model. This process is to ensure that the part model is in the correct state and position before the volume decomposition process take place.

2.1.1 Part Model Volume

The part model will be validated in terms of their volume and type of file. If the part model does not represent a body, it means that it does not have any volume. Without volume, the algorithm will end the process. Apart from that if the file is not a .SAT file the algorithm will return an error. The validation process will be using the CAD modeller API function.

2.1.2 Part Model Symmetry

In order to validate if the part model is symmetrical or not, the topological data of the part model needs to be extracted. Topological data such as part model’s faces, loops and edges number will be analyzed to find out the symmetry conditions of the part model. A part model is considered to be symmetrical if below conditions are met:

  1. (1)

    Cylindrical part model, without any features within it, i.e.; holes or pockets.

  2. (2)

    If the top or bottom plane has more than two cylindrical loops and the midpoint of the loops is at the centre.

2.1.3 Part Model Orientation

The part model orientation will be based on the planar top and bottom faces of the part model. This is explained in the author’s previous work [15]. The cylindrical axis of the part model will be identified and it will be reoriented into the desired position of he z-axis if it is not. By the correct positioning of the part model, errors involving part model positioning can be eliminated.

2.2 Volume Decompositions Generation

Features of the part model will be recognized as volume decomposition in terms of SDVF and SDVR. By generating these sub-delta volumes, the exact volume of the material to be removed in the machining process can be calculated and known. For the ease of edge, co-edge and face recognition, the part has to be divided into two as the CAD modeller will work well on a half cylindrical shape rather than a full cylindrical part model. Then after the division, the part model features will be recognized and SDVF will be generated. Next, overlapping and gaps from bodies generated will be eliminated by generating sub delta volume of finishing filling region (SDVF-FR). After the generation of the half section, SDVF will be mirrored to get a full SDVF body. With the generation of full SDVF bodies, the part stock model and SDVR can be generated. All these bodies which are the overall delta volume (ODV algorithm ) are then compared with the manual overall delta volume (ODV manual ) to make sure that the volumes generated are reliable and correct. Equations (13) show how the calculation of the comparison of \( \Delta ODV \) being done. These equations are based on the preview work of Bok and Abu Mansor [14].

$$ {\text{Stock model volume, }}Vs = ODV_{manual} + V_{CAD} $$
(1)
$$\begin{aligned} ODV_{algorithm} = & \sum\limits_{i = 0}^{n} {\text{SDVF}} { + }\sum\limits_{i = 0}^{n} {\text{SDVF } - {\text{FR}}} { + } \\ & \sum\limits_{i = 0}^{n} {\text{SDVR}} \\ \end{aligned}$$
(2)
$$ \Delta ODV{ = }\frac{{ (ODV_{algorithm} - ODV_{manual} )}}{{ODV_{manual} }} \times 100 $$
(3)

2.2.1 Part Model Division

In order to eliminate the incompatible co-edge error produced by the software, one way to solve it is by dividing the part model into half. This is to eliminate the full round circle when the concave or convex edge of a circular plane meets with the planar or conical plane which is causing the co-edge to be incompatible. Figure 2 shows the process of the part model division. By choosing a middle plane of the xz-plane, the part model is then being cut into two. As the part model is symmetrical in the first place, only the right side of the part model will be chosen to recognize all the features. To make sure that the xz-plane is at the correct position of the middle plane, a calculation of finding the correct position needs to be done. Point n is the coordinate that needs to be chosen to generate the xz-plane.

Fig. 2
figure 2

Part model division. a Original part model b half section of part model

$$ \begin{aligned} Point \, n & = \left( {x,y,z} \right) \\ Point \, A & = \left( {maximum \, point \, x, \, 0, \, maximum \, point \, z} \right) \\ Point \, B & = \left( {minimum \, point \, x, \, 0, \, minimum \, point \, z} \right) \\ \end{aligned} $$

2.2.2 SDVF Generation

SDVF generation will be according to the three main features recognition. It will be based on planar, cylindrical and conical features attached to the part model. With the recognition of all these features a thin layer of volume decomposition will be generated according to the user input finishing thickness, normally 0.75–2 mm. The method will be using offsetting copy original faces to finishing thickness and generate the volume by lofting the original face and copied face. Figure 3 shows the recognition of cylindrical, conical and planar features of the half section part model. In order to generate the further sub delta volume, for instance SDVR full section of SDVF is needed. As SDVF bodies were generated by offsetting the original face via normal direction, gaps and overlapping between bodies will happen. A similar concept was being done by generating SDVF-FR [15].

Fig. 3
figure 3

SDVF generations. a Combinations of half-section SDVF b conical SDVF c cylinder SDVF d planar SDVF

2.2.3 Mirroring SDVF

The half-section of SDVF is being called back and analyzed. Topological data of the SDVF half-section body is gathered and being used to do the process. Figure 4 shows the mirror process. Because it is the half-section there is a planar face in the y-axis direction that needs to be selected to be the mirror plane. This plane is selected by determining its face type which is the planar type and normal direction of the plane face. Then the mirror function is being called to mirror all the body.

Fig. 4
figure 4

Mirror process. a Half-section SDVF before mirror b full section SDVF after mirror

2.2.4 SDVR Generation

As the roughing process will be the first process in machining, the SDVR of the part model will be in the outer layer. Figure 5 shows the SDVR of the part model. SDVR will be the volume that subtracted part stock model, SDVF and the part model itself. The thickness will be based on the user input. The volume of SDVR bodies is then calculated.

Fig. 5
figure 5

SDVR and SDVF of part model in facet view

In order to generate the part model, the stock model needs to be generated first. Because it is a cylindrical part model, the cylindrical stock model will be used rather than the square box stock model. The boundary thickness, bx for the x-axis direction, by for the y-axis direction and bz for the z-axis direction will be asked from the user. The SDVR will be divided into Left SDVR and Right SDVR for the volume recognition.

3 Results and Discussion

A symmetrical cylinder part model was implemented using the proposed approach in the developed algorithm. Figure 6 shows the exploded view of the ODV bodies generated. ODV bodies were differentiated in different colour codes. Grey colour for the original part model (Fig. 6d), green colour for SDVF bodies, and yellow colour for SDVF-FR and blue colour for SDVR bodies. The left-hand SDVR is shown in Fig. 6a and right-hand SDVR is shown in Fig. 6b. Table 1 shows the volumes of all the ODV bodies. Percentage errors of the different ODV are shown below. The finishing thickness, t is 1 mm and the boundary thickness for each direction, bx, by and bz is 4 mm (Fig. 7).

Fig. 6
figure 6

Exploded view of the generated ODV bodies. a Left SDVR, b left SDVF-FR, c left SDVF, d original Part model, e right SDVF, f right SDVF-FR g right SDVR

Table 1 ODV bodies volume representation
Fig. 7
figure 7

Output of the volume decomposition generated

Calculation of ODVmanual for example part model is shown below:

$$ \begin{aligned} & {\text{Final stock model volume}},V_{s} = 3345570{\text{ mm}}^{3} \\ & ODV_{algorithm} = \, 2553628{\text{ mm}}^{3} \\ & V_{CAD} = 792223{\text{ mm}}^{ 3 } \\ \end{aligned} $$

From Eqs. (13), calculation of ODVmanual will be:

$$ \begin{aligned} 3345570 & = ODV_{\text{manual}} + \, 792223 \\ ODV_{manual} & = 2553347{\text{ mm}}^{ 3} \\ \Delta ODV & = 0.011\% \\ \end{aligned} $$

4 Conclusion

This paper introduced the mirror approach on generating volume decomposition of symmetrical cylinder part models. The offsetting and division techniques have a propensity to produce a consistent body thickness of SDVF bodies and to produce an efficient result. SDVF-FR were then been created to eliminate the gaps. The blend of all the techniques produced nearly a zero error of \( \Delta ODV \). The verification part model example shows a significant sum of errors in recognizing surfaces and generating volume decompositions of wanted surfaces.