1 Introduction

Five-axis milling has been widely used in machining complex structural parts, and one of the most important parameters during milling processes is the cutting force. It is the basis for judging the machining vibration, tool wear, and surface integrity of machined parts; also it is an important criterion for selecting cutting parameters. The key steps for predicting the cutting force of five-axis milling are accurately determining cutter-workpiece engagements (CWEs) and cutting force coefficients.

During the milling of parts with sculptured surfaces, the CWE region varies along the tool path, and it is difficult to find an analytical expression for this region. So, solid and discrete modelling methods are the commonly used methods to extract CWEs. Solid modelling–based methods [1,2,3] use the exact models of the tool and workpiece geometries to extract CWE maps. The advantage of these methods is that the results have high accuracy. However, due to the growing size of data structures during simulations, the calculation efficiency of these methods is limited. To improve the calculation efficiency, several discrete modelling-based methods have been proposed, and the most used method is the Z-map method. In the conventional Z-map method [4], the workpiece is represented by the intersection points of the Z direction vectors (ZDV) with the upper surface of the part, but only one intersection of the part with a ZDV is allowed. To overcome this shortcoming, an extended Z-map approach [5] was proposed. In this method, for one ZDV, multiple intersections and gaps between the intersection points can be stored by a linked list data structure. To obtain the contact patch more accurately at lower resolutions, Boz et al. [6] modelled the part by discrete vectors in three orthogonal directions. In this paper, a method based on three-orthogonal dexel is presented to calculate CWEs.

The cutting force coefficient is another important part of the mechanical cutting force model. It can be identified by orthogonal cutting tests or milling tests. Budak et al. [7] constructed a data base of shear stress, shear angle, and friction angle from a series of orthogonal cutting tests. Then, they used it to calculate the cutting force coefficients of the flat end mill. After, Lee et al. [8] extended this method to the ball-end mill. Although the data base can be used for cutters with different geometries, the hypotheses made by the method affect the accuracy of the results, especially in the case of tools with complex geometry and finishing milling processes. In these cases, the milling test is much more suitable for the identification. And, the measured average cutting force per revolution or the instantaneous cutting force can be used for the identification in an inverse way.

When the average cutting force is used to calculate the coefficient, a set of milling tests at different feed rates need to be performed. Then, the average cutting force is expressed as a linear form of feed rates, and the coefficients are obtained by equating the analytical expressions of the average cutting force to their measured counterparts. Gradišek et al. [9] presented the expressions of shear- and edge-specific coefficients for a general helical end mill from milling tests at an arbitrary radial immersion. Cao et al. [10] regarded the position of the cutting element on the ball-end mill edge as the only factor that affects the cutting force coefficients. Then, they presented the cutting force coefficients for different tool inclination angles. Gao et al. [11] adopted a cubic polynomial of the slice elevation to fit the cutting force coefficients. Grossi et al. [12] identified the cutting force coefficients of end mill in the entire speed range by a spindle speed ramp-up test. Dikshit et al. [13] studied the influence of cutting speeds on cutting force coefficients in ball-end milling.

To reduce the number of tests, some methods based on the instantaneous cutting force have been proposed. Wan et al. [14] described cutting force coefficients as the exponential functions of the instantaneous uncut chip thickness. Also, Guo et al. [15] proposed a cutting force coefficient model relative to instantaneous uncut chip thickness and axial position angle. Tukora et al. [16] determined the cutting force coefficients by a single measuring test without restrictions of the cutting geometry. Grossi et al. [17] studied the influence of spindle speeds on cutting force coefficient by means of a genetic algorithm. Wang et al. [18] described the shear-specific coefficients as the polynomial functions of elevation, axial immersion angle, and local radius along the tool axis. They found that the selection of variables had a significant effect on the predictive ability of the polynomial function.

From [9,10,11,12,13,14,15,16,17,18], it can be seen that only the milling tests in the state of single-tooth engagement can be used to identify cutting force coefficients. And, the research objects of most researches are the cutters with two flutes. However, in the actual machining processes, the commonly used tools are the cutters with four flutes. If the calibration is performed for a 4-fluted ball-end mill based on the average force, some slots must be machined and the machining parameter must be properly selected to ensure single-tooth engagement. This consumes more milling tests and time. To reduce the costs of tests, in this paper, we present the new identification expressions of cutting force coefficients for the 4-fluted ball-end cutter based on the average cutting forces obtained by the slot milling tests with double-tooth engagement.

The studies [12, 13, 17] show that the spindle speed has an important influence on cutting force coefficients; however, they have not established a fitting model of the cutting force coefficients related to the spindle speed. Also, the researches [9,10,11, 13, 15, 18] show that cutting force coefficients vary significantly with the cutting element position. This is because the helix angle of the cutting edge lies on the spherical part that varies along the cutter axis, and the changes of cutting edge radius causes the changes of cutting speed along the cutter axis. Both the helix angle and cutting speed affect the cutting mechanics, so the cutting force coefficients change appreciably along the cutter axis. To improve the simulation accuracy, in this paper, the spindle speed and the cutting element position will be involved in the fitting model of the cutting force coefficients.

This paper proposes a method to predict cutting force for the case when only the spherical part of the 4-fluted ball-end mill engages with the workpiece, and the paper is organized as follows. In Section 2, the mechanistic force model for ball-end milling is built. In Section 3, the CWE is calculated by the three-orthogonal dexel–based method. In Section 4, the new identification expressions of cutting force coefficients for a 4-fluted ball-end cutter are proposed. In Section 5, the influences of cutting element position and spindle speed on cutting force coefficients are studied, and a fitting model of cutting force coefficients related to this two factors is proposed; then, the accuracy of the proposed method is verified by tests performed on both rectangular workpiece and workpiece with curved surface.

2 Mechanistic milling force model

To determine the local cutting edge geometry of a ball-end mill, a tool coordinate system XTYTZT is defined at the tool tip as shown in Fig. 1. The location of point M is defined by a vector, written as:

$$ {\textbf{r}}(\theta_{i},z) = R(z)({\textbf{i}}\sin {\theta_{i}} + {\textbf{j}}\cos {\theta_{i}}) + {\textbf{k}}z $$
(1)

where R(z) represents the local radius and 𝜃i is the radial immersion angle of point M, written as:

$$ {\theta_{i}}(\theta,z) = \theta + (i-1){\phi_{p}} - {\varphi}(z) $$
(2)

where 𝜃 denotes the immersion angle of the reference edge (i = 1) at z = 0, ϕp is the tooth spacing angle, and φ(z) represents the radial lag angle caused by helix angle.

Fig. 1
figure 1

Geometry and tool coordinate system for a ball-end cutter

To calculate the cutting force by the infinitesimal cutting force model, the cutter is divided into differential slices along tool axis with the height Δz, for the j th slice z = jΔz. For the j th slice of the i th tooth, the differential tangential (dFt), radial (dFr), and axial (dFa) cutting forces acting on the differential cutting edge segment can be written as:

$$ \left\{ \begin{array}{l} dF_{i,j,t}(\theta) = {K_{te}}ds + {K_{tc}}{h_{i,j}}(\theta)db\\ dF_{i,j,r}(\theta) = {K_{re}}ds + {K_{rc}}{h_{i,j}}(\theta)db\\ dF_{i,j,a}(\theta) = {K_{ae}}ds + {K_{ac}}{h_{i,j}}(\theta)db \end{array} \right. $$
(3)

where Kc and Ke (∗ = t,r,a) represent the shear-specific coefficients and edge-specific coefficients, respectively; \(db = dz/{{\sin \limits } \kappa }\) is chip width; the edge length of the slice element can be derived from Eq. 1 as:

$$ ds = \sqrt{{(R(z){\varphi}^{\prime} (z))^{2}} + {({R}^{\prime} (z))^{2}} + 1} \ dz $$
(4)

The instantaneous undeformed chip thickness hi,j(𝜃) for ball-end milling can be expressed as [19]:

$$ {h_{i,j}}(\theta) = \left\{\begin{array}{l} ({f_{t}}\sin {\theta_{i,j}}\sin \kappa(z)\cos \sigma - {f_{t}}\cos \kappa(z)\sin \sigma) \\ \times {g_{i,j}}(\theta),\quad (\mathrm{upward \ milling})\\ ({f_{t}}\sin {\theta_{i,j}}\sin \kappa(z)\cos \sigma + {f_{t}}\cos \kappa(z) \sin \sigma) \\ \times {g_{i,j}}(\theta),\quad (\mathrm{downward \ milling}) \end{array} \right. $$
(5)

where ft denotes feed per tooth, σ is the feed inclination angle measured with respect to the horizontal feed direction, κ(z) is the axial immersion angle, and gi,j(𝜃) is a window function that indicates whether the slice element is in or out of cut.

The components of the cutting force along XT, YT, and ZT directions can be obtained from Eq. 3 by a transformation.

$$ \begin{array}{l} \left[ {\begin{array}{*{20}{c}} {d{F_{i,j,x}}(\theta )}\\ {d{F_{i,j,y}}(\theta )}\\ {d{F_{i,j,z}}(\theta )} \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} { - \cos {\theta_{i,j}}}&{ - \sin \kappa \sin {\theta_{i,j}}}&{ - \cos \kappa \sin {\theta_{i,j}}}\\ {\sin {\theta_{i,j}}}&{ - \sin \kappa \cos {\theta_{i,j}}}&{ - \cos \kappa \cos {\theta_{i,j}}}\\ 0&{\cos \kappa }&{ - \sin \kappa } \end{array}} \right]\\ \times \left[ {\begin{array}{*{20}{c}} {d{F_{i,j,t}}(\theta )}\\ {d{F_{i,j,r}}(\theta )}\\ {d{F_{i,j,a}}(\theta )} \end{array}} \right] \end{array} $$
(6)

Then, the cutting forces Fs(𝜃) (s = x,y,z) acting on the cutter can be obtained by summing the cutting forces acting on all slice elements and all cutting edges.

The above calculations are performed in the local Cartesian tool coordinate frame (TCF); however, the TCF is usually not consistent with the workpiece coordinate frame (WCF) in five-axis milling, and it changes with the variation of tool orientation which defined by lead and tilt angles. In this paper, the lead angle and tilt angle are defined as the rotation angles of the tool axis about the ZW axis and XW axis, respectively, as shown in Fig. 2, and they can be calculated as follows:

$$ \text{Lead} = atan 2(i,\sqrt {{j^{2}} + {k^{2}}} ), \text{Tilt} = atan 2(k,j) $$
(7)

where i, j, and k are the components of tool orientation vector with respect to WCF.

Fig. 2
figure 2

Illustration of lead and tilt angles

A table-type dynamometer will be used in the experiments, and the coordinate frame of the dynamometer is consistent with WCF. To compare the analytical cutting forces with the measured values, the analytical cutting forces in TCF must be transformed into WCF. The transformation can be expressed as:

$$ \left[ \begin{array}{l} {F_{x}^{W}}(t)\\ {F_{y}^{W}}(t)\\ {F_{z}^{W}}(t) \end{array} \right] = {}_{T}^{W}{\textbf{R}}\left[ \begin{array}{l} {F_{x}}(t)\\ {F_{y}}(t)\\ {F_{z}}(t) \end{array} \right] $$
(8)

where \({F_{s}^{W}}\) (s = x,y,z) represents the cutting forces in WCF and \({}_{T}^{W}{\textbf {R}}\) is the rotation matrix from TCF to WCF, which can be expressed as \({}_{T}^{W}{\textbf {R}} = (\textbf {e}_{2},\textbf {e}_{3},\textbf {e}_{1})\), where e2, e3, and e1 represent the unit vectors of XT, YT, and ZT respectively—they will be calculated in Section 3.1.

From the above equations, it can be seen that the keys to calculate cutting forces in ball-end milling are determining the CWE and cutting force coefficients.

3 Cutter workpiece engagement of ball-end milling

Several steps should be done to obtain CWE maps for ball-end milling, as shown in Fig. 3. The first step is the generation of tool swept volume, then the in-process workpiece is obtained by the Boolean operations between the initial workpiece and the tool swept volume. After, the contact patch surface between the tool and the in-process workpiece is obtained. Finally, the contact surface is divided into discrete slices along the tool axis, and the boundary points of these slices are converted into start and exist angles with respect to the +Y axis of the TCF.

Fig. 3
figure 3

Processes of obtaining CWE for ball-end milling

3.1 Generation of swept volume

Since our attention is concentrated on the finishing and semi-finishing milling processes, therefore, the calculations of CWE are focused on point milling strategy, and the swept volume will be computed only for the spherical part of the ball-end mill. For this part, the surface is generated by rotating a generatrix \(r(u):\left \{\begin {array}{l}y = y(u)\\z = z(u) \end {array} \right .\) around the ZT axis, and the parametric form for the revolution surface can be expressed as:

$$ {\textbf{S}}(u,\psi) = [y(u)\cos\psi,y(u)\sin\psi,z(u)] $$
(9)

According to the general rigid body motion theory, a moving surface caused by motions of a cutter can be expressed as:

$$ {\textbf{F}}(u,\psi;t) = {\textbf{R}}(t){\textbf{S}}(u,\psi) + {\textbf{p}}(t) $$
(10)

where R(t) ∈ SO(3) is a rotation matrix and p(t) ∈ R3 is a translation vector.

For the given t and u, the key factor to obtain the envelope surface is the calculation of ψ which corresponds to the point on both the moving surface and swept envelope surface. The value of ψ can be obtained by solving the following equation [20]:

$$ a\cos \psi + b\sin \psi = c $$
(11)

where:

$$ \left\{ \begin{array}{l} a \buildrel {\Delta} \over = {v_{x}}(t){z}^{\prime}(u) + {\omega_{y}}(t)(y(u){y}^{\prime}(u) + z(u){z}^{\prime}(u))\\ b \buildrel {\Delta} \over = {v_{y}}(t){z}^{\prime}(u) - {\omega_{x}}(t)(y(u){y}^{\prime}(u) + z(u){z}^{\prime}(u))\\ c \buildrel {\Delta} \over = {v_{z}}(t){y}^{\prime}(u) \end{array} \right. $$
(12)

If \(|c/\sqrt {{a^{2}} + {b^{2}}} | \le 1\), ψ can be resolved by Eq. 11 as follows:

$$ \psi = \left\{ \begin{array}{l} {\sin^{-1}}\left( {\frac{c}{\sqrt {a^{2} + b^{2}} }} \right) - \phi \\ \pi - {\sin^{-1}}\left( {\frac{c}{\sqrt {a^{2} + b^{2}}}} \right) - \phi \end{array} \right. , (u,t) \in [u_{0},u_{1}] \times [t_{0},t_{1}] $$
(13)

where \({\sin \limits } {\phi } = \frac {a}{\sqrt {a^{2} + b^{2}}}\), \({\cos \limits } {\phi } = \frac {b}{\sqrt {a^{2} + b^{2}}}\). For the given generatrix r(u), the values of y(u), \({y}^{\prime }(u)\), z(u), and \({z}^{\prime }(u)\) can be calculated. Now, the keys to calculate ψ are the calculations of angular velocity ω(t) and linear velocity v(t) of the cutter, and they can be obtained as follows [21]:

$$ {\boldsymbol{\omega }}(t) = \left[ \begin{array}{l} {\omega_{x}}(t)\\ {\omega_{y}}(t)\\ {\omega_{z}}(t) \end{array} \right], {\textbf{R}}^{T}{\textbf{R}}^{\prime} = \left[ {\begin{array}{*{20}{c}} 0&{ - {\omega_{z}}(t)}&{{\omega_{y}}(t)}\\ {{\omega_{z}}(t)}&0&{ - {\omega_{x}}(t)}\\ {-{\omega_{y}}(t)}&{{\omega_{x}}(t)}&0 \end{array}} \right] $$
(14)
$$ {\textbf{v}}(t) = \left[ {\begin{array}{*{20}{c}} {{v_{x}}(t)}&{{v_{y}}(t)}&{{v_{z}}(t)} \end{array}} \right]^{T} = {{\textbf{R}}^{T}}(t){\textbf{p}}^{\prime}(t) $$
(15)

Next, the calculations of rotation matrix R(t), translation vector p(t), and \({\mathbf {R}^{\prime }}(t)\), \({\mathbf {p}^{\prime }}(t)\) are performed. To calculate the rotation matrix, the tool frame at any cutting position must be defined. Assuming A1 and A2 are the unit tool axis vectors at two adjacent cutter locations, then, the unit tool axis vector A (Fig. 4) at any position between the two adjacent cutter locations can be obtained by quaternion interpolation of the vectors A1 and A2, as follows:

$$ {{\textbf{A}} = \frac{{\sin \left( {(1 - t_{0})\alpha } \right)}}{{\sin \alpha }}{{\textbf{A}}_{1}} + \frac{{\sin (t_{0}\alpha )}}{{\sin \alpha }}{{\textbf{A}}_{2}}} $$
(16)

where t0 is the position variable and t0 ∈ [0,1], α is the angle between vectors A1 and A2, and \(\alpha =\cos \limits ^{-1} \langle {{\textbf {A}}_{1}},{{\textbf {A}}_{2}}\rangle \). When the value of α is very small and the value of \({\sin \limits } \alpha \) is close to 0, then, the linear interpolation method is adopted to calculate vector A, as follows:

$$ {{\textbf{A}} = \frac{\left( (1 - t_{0}){\textbf{A}}_{1} + t_{0}{\textbf{A}}_{2} \right)} {\left| (1 - t_{0}){\textbf{A}}_{1} + t_{0}{\textbf{A}}_{2} \right|}} $$
(17)
Fig. 4
figure 4

Illustration of tool axis vectors

The moving frame (e2,e3,e1) of the ball-end cutter can be defined as follows:

$$ \left\{ {\begin{array}{*{20}{l}} {{{\textbf{e}}_{1}} = {\textbf{A}}}\\ {{\textbf{e}}_{3}} = {\textbf{A}} \times {{\textbf{V}}_{c}}/{|{\textbf{A}} \times {\textbf{V}}_{c}|}\\ {{{\textbf{e}}_{2}} = {{\textbf{e}}_{3}} \times {{\textbf{e}}_{1}}} \end{array}} \right.,{\textbf{A}} \times {{\textbf{V}}_{c}} \ne {\textbf{0}} $$
(18)

where Vc is the feed direction of the tool which can be obtained as follows:

$$ {{\textbf{V}}_{c}} = \frac{(x_{2}-x_{1},y_{2}-y_{1},z_{2}-z_{1})}{\sqrt {(x_{2} - x_{1})^{2} + (y_{2} - y_{1})^{2} +(z_{2} - z_{1})^{2}} } $$
(19)

where (x1,y1,z1) and (x2,y2,z2) are the coordinates of the tool tip at two adjacent cutter position points. The value of A1, A2, (x1,y1,z1), and (x2,y2,z2) can be obtained from cutter location (CL) files. Then, the moving frame at any cutting position can be obtained.

Assuming that the frames of positions 1 and 2 are \({\textbf {e}}^{1}:({\textbf {e}}_{2}^{1},{\textbf {e}}_{3}^{1},{\textbf {e}}_{1}^{1})\) and \({\textbf {e}}^{2}:({\textbf {e}}_{2}^{2},{\textbf {e}}_{3}^{2}, {\textbf {e}}_{1}^{2} )\), respectively, after, we define the matrices \({\textbf {M}}_{1} = [{\textbf {e}}_{2}^{1}\ {\textbf {e}}_{3}^{1}\ {\textbf {e}}_{1}^{1}]\), \({\textbf {M}}_{2} = [{\textbf {e}}_{2}^{2}\ {\textbf {e}}_{3}^{2}\ {\textbf {e}}_{1}^{2}]\), and the transformation matrix R from frame e1 to frame e2 is defined as:

$$ {\textbf{R}} = {\textbf{M}}_{2}^{-1}{{\textbf{M}}_{1}} $$
(20)

For the rotation matrix R with components rij, the equivalent angle Θ and equivalent axis k are given by the expressions [22]:

$$ {\Theta} = {\cos^{-1}}\left( \frac{r_{11} + r_{22} + r_{33} - 1}{2} \right) $$
(21)
$$ {\textbf{k} }= \frac{1}{{2\sin {\Theta} }}\left[ {\begin{array}{*{20}{c}} {r_{32} - r_{23}}\\ {r_{13} - r_{31}}\\ {r_{21} - r_{12}} \end{array}} \right] $$
(22)

The skew symmetric matrix S(k) that corresponds to vector k = (kx,ky,kz) is defined as:

$$ {\textbf{S}}({\textbf{k}}) = \left[ {\begin{array}{*{20}{c}} 0&{-{k_{z}}}&{k_{y}}\\ {k_{z}}&0&{-{k_{x}}}\\ {-{k_{y}}}&{k_{x}}&0 \end{array}} \right] $$
(23)

Then, the derivative of the rotation matrix R(t) can be calculated as follows:

$$ {\textbf{R}}^{\prime}(t) = {\textbf{S}}(k){\textbf{R}}(t) $$
(24)

And the derivative of the translation vector p(t) can be calculated as follows:

$$ {\textbf{p}}^{\prime}(t) = f{{\textbf{V}}_{c}} $$
(25)

where f is the feed rate.

The angular and linear velocity of cutter can be obtained according to Eqs. 14 and 15, and the values of ψ can be calculated by Eqs. 1113. Note that ψ is a function of the parameters u and t. Then, by substituting Eq. 13 into Eq. 10, the parametric expression of the swept envelope surface can be obtained, and the generated swept volume is shown in Fig. 3.

3.2 Three-orthogonal dexel–based representation

In the extended Z-map approach [5], for one Z direction vector (ZDV), multiple intersections and gap elements between the intersection points (Fig. 5a) can be stored using a linked list data structure. The three-orthogonal dexel approach is similar to the extended Z-map approach; however, the depth buffer is applied in three orthogonal directions. The three-orthogonal dexel representation of the ball end part is shown in Fig. 5b.

Fig. 5
figure 5

a Representation for the extended Z-map approach. b Three-orthogonal dexel representation of ball end part

Axis-aligned bounding boxes (AABBs) are used to reduce the size of data and improve computational efficiency. After the AABBs of workpiece and tool are obtained respectively, the interior space of each AABB is divided by a set of evenly distributed parallel line segments with the same grid spacing. To perform Boolean operations, the line segments which represent the workpiece must be on the same lines with the line segments which represent the tool. However, there may be some gaps between them, as shown in Fig. 6a, so some adjustments must be done, and the AABB of workpiece is selected as a reference. For example, in the Z direction, the recalculated z coordinates of the AABB of tool can be obtained as follows:

$$ {z_{C1}}= {z_{A}} + \text{floor}\left( {\frac{{{z_{C}} - {z_{A}}}}{z_{gs}}} \right){z_{gs}} $$
(26)
$$ {z_{D1}}= {z_{A}} + \text{ceil}\left( {\frac{{{z_{D}} - {z_{A}}}}{z_{gs}}} \right){z_{gs}} $$
(27)

where zA is the z coordinate of point A; zC and zC1 are the z coordinates of point C before and after recalculated, respectively; zD and zD1 are the z coordinates of point D before and after recalculated, respectively; zgs is the grid spacing in the Z direction; and the floor and ceil are the functions that map a real number to the greatest preceding or the least succeeding integer, respectively. The recalculated AABB of tool is shown in Fig. 6b.

Fig. 6
figure 6

a, b Adjustment of AABB of tool

In order to represent the workpiece and tool by the three-orthogonal dexel–based approach, two C++ classes are defined as follows: classRayXYZ{public :intRayMark;boolInterFlag;doubleRayStartPoint[3];vector < double > Height}

classOrthogonalTriDexel{public :doubleAABB_lim[6];doubleGridSpacingXYZ[3];intNumGridXYZ[3];vector < vector < RayXYZ >> RayGroup;}

The class “RayXYZ” is defined to store the dexel data; it is the data structure of dexel which used in this paper. The member “RayMark” is used to indicate the direction of dexel, and when it is equal to 0, 1, and 2 respectively, the direction of dexel is parallel to Z axis, X axis, and Y axis, respectively. The value of “InterFlag” indicates whether the dexel ray intersects with the workpiece or tool, when intersections exist the value is “true”, if no intersection exists, the value is “false.” The member “RayStartPoint” is used to store the coordinates of the start point of the ray. The vector “Height” is used to store the heights between the intersections and start point. Multiple heights from the smallest to the largest can be stored in the vector, and the gap between every two intersection points can be obtained by the difference between every two heights, such as “Height [1]−Height [0]” and “Height [3]−Height [2]”.

The class “OrthogonalTriDexel” is defined to store the data of three-orthogonal dexel representation for workpiece or tool. The array “AABB_lim [6]” is used to store the coordinates of the AABB, the minimum x, y, and z coordinates of the AABB are stored in the first, third, and fifth elements of the array, respectively; the maximum x, y, and z coordinates of the AABB are stored in the second, fourth, and sixth elements of the array, respectively. The array “GridSpacingXYZ [3]” is used to store the grid spacings in the X, Y, and Z directions; the grid spacings of workpiece and tool are equal in the same direction. The array “NumGridXYZ [3]” is used to store the number of grids in the X, Y, and Z directions. The member “RayGroup” is used to store the dexel data of the workpiece or tool.

After the intersections between the line segments and workpiece, tool, and tool swept volume are respectively obtained by the function UF_MODL_trace_a_ray, the three-orthogonal dexel data of workpiece, tool, and tool swept volume can be stored by the class “OrthogonalTriDexel”, respectively. Then, the dexels of the in-process workpiece can be obtained by Boolean operations between the three-orthogonal dexel data of the workpiece and tool swept volume, as shown in Fig. 7a. And, the intersection part between the tool and workpiece can be obtained by Boolean operations between the three-orthogonal dexel data of the workpiece and tool, as shown in Fig. 7b.

Fig. 7
figure 7

Three-orthogonal dexel representations of a in-process workpiece and b intersection part between tool and workpiece

3.3 Computation of engagement domain

Once the three-orthogonal dexels of the intersection part have been obtained, the contact surface between the tool and workpiece can be represented by the endpoints of the dexels, which are located on the spherical surface of the ball-end mill, as shown in Fig. 3. Then, the 3D point set is projected to a plane perpendicular to the cutter axis. The closed boundary of the contact patch is obtained by the shape reconstruction of the data points via α-shapes [23]. Then, the engagement zone can be represented by the closed polygon, as shown in Fig. 8.

Fig. 8
figure 8

Projected view of the engagement domain along the cutter axis

To calculate the start and exit angles of each slice element of the cutter, the circle that corresponds to the middle of each slice element is projected to the same plane which is vertical to the cutter axis. Then, the intersections between each circle and all line segments of the polygon are calculated. After, the intersection points must be converted into start and exit angles that are required for the force prediction model. For the intersection point A (Fig. 8), the radial immersion angle 𝜃 which is measured from the +YT axis can be obtained as follows:

$$ If \quad < {\textbf{OA}},{{\textbf{e}}_{2}} > = \cos^{-1} \left( \frac{\left[ {{\textbf{OA}},{{\textbf{e}}_{2}}} \right]}{\left| {{\textbf{OA}}} \right|\left| {{\textbf{e}}_{2}} \right|} \right) \le \frac{\pi }{2} $$
(28a)
$$ Then, \quad \theta = \cos^{-1} \left( \frac{\left[ {\textbf{OA}},{{\textbf{e}}_{3}} \right]}{\left| {\textbf{OA}} \right|\left| {{\textbf{e}}_{3}} \right|} \right) $$
(28b)
$$ If \quad \left\{ \begin{array}{l} < {\textbf{OA}},{{\textbf{e}}_{2}} > = \cos^{-1} \left( \frac{\left[ {\textbf{OA}},{{\textbf{e}}_{2}} \right]}{\left| {\textbf{OA}} \right|\left| {{\textbf{e}}_{2}} \right|} \right) > \frac{\pi }{2}\\ < {\textbf{OA}},{{\textbf{e}}_{3}} > = \cos^{-1} \left( \frac{\left[ {\textbf{OA}},{{\textbf{e}}_{3}} \right]}{\left| {\textbf{OA}} \right|\left| {{\textbf{e}}_{3}} \right|} \right) > \frac{\pi }{2} \end{array} \right. $$
(29a)
$$ Then, \quad\theta = 2\pi - \cos^{-1} \left( \frac{\left[ {\textbf{OA}},{{\textbf{e}}_{3}} \right]}{\left| {\textbf{OA}} \right|\left| {{\textbf{e}}_{3}} \right|} \right) $$
(29b)
$$ If \quad \left\{ \begin{array}{l} < {\textbf{OA}},{{\textbf{e}}_{2}} > = \cos^{-1} \left( \frac{\left[ {\textbf{OA}},{{\textbf{e}}_{2}} \right]}{\left| {\textbf{OA}} \right|\left| {{\textbf{e}}_{2}} \right|} \right) > \frac{\pi }{2}\\ < {\textbf{OA}},{{\textbf{e}}_{3}} > = \cos^{-1} \left( \frac{\left[{\textbf{OA}},{{\textbf{e}}_{3}} \right]}{\left| {\textbf{OA}} \right|\left| {{\textbf{e}}_{3}} \right|} \right) < \frac{\pi }{2} \end{array} \right. $$
(30a)
$$ Then, \quad \theta = - \cos^{-1} \left( \frac{\left[ {\textbf{OA}},{{\textbf{e}}_{3}} \right]}{\left| {\textbf{OA}} \right|\left| {{\textbf{e}}_{3}} \right|} \right) $$
(30b)

where e2 and e3 are the unit vectors of XT and YT axes respectively; < OA,ei > (i = 2,3) is the angle between the vectors OA and ei; \(\cos \limits ^{-1}\) is the inverse cosine function; [OA,ei] (i = 2,3) is the dot product of the vectors OA and ei; and |∙| is the magnitude of vectors. The obtained start and exit angles are shown in Fig. 3.

4 New identification expressions of cutting force coefficients

For the given cutting conditions, the cutting force coefficients can be determined by equating the measured forces with the corresponding analytical expressions. The average cutting force can be expressed as:

$$ {\bar F_{xyz}} = \frac{1}{\Delta \theta }{\int}_{\theta_{st}}^{\theta_{ex}} {{\int}_{z_{1}}^{z_{2}} {d{F_{xyz}}(\theta ,z)} } d\theta $$
(31)

where Δ𝜃 = 𝜃ex𝜃st, 𝜃st and 𝜃ex denote the start and exit radial immersion angles, respectively. The analytical calculation can be simplified by assuming the average cutting force per tooth period to be independent of helix angle, so that β0 = 0 can be set.

When a ball-end cutter with four uniformly spaced flutes is used for slot milling tests, there are two teeth engaged with workpiece simultaneously (Fig. 9). If the tooth i is taken as a reference, when 0 < 𝜃i < π/2, the teeth i and i + 1 are engaged with workpiece; when π/2 < 𝜃i < π, the teeth i − 1 and i are engaged with workpiece. For horizontal milling, the feed inclination angle α = 0, according to Eqs. 35, and 6, the elemental cutting forces acting on the j th slice of the i th tooth can be expressed as:

$$ \begin{array}{l} \left[ {\begin{array}{*{20}{c}} {dF_{i,j,x}(\theta )}\\ {dF_{i,j,y}(\theta )}\\ {dF_{i,j,z}(\theta )} \end{array}} \right] = \frac{f_{t}}{2}\left[ {\begin{array}{*{20}{c}} { - K_{tc}\sin 2{\theta_{i,j}}}&{ - 2K_{rc}{{\sin }^{2}}{\theta_{i,j}}}&{ - 2K_{ac}{{\sin }^{2}}{\theta_{i,j}}}\\ 2K_{tc}{\sin }^{2}{\theta_{i,j}}&{ -K_{rc}\sin 2{\theta_{i,j}}}&{ - K_{ac}\sin 2{\theta_{i,j}}}\\ 0&{ - 2K_{ac}\sin {\theta_{i,j}}}&{2K_{rc}\sin {\theta_{i,j}}} \end{array}} \right] \times \left[ {\begin{array}{*{20}{c}} {dz}\\ {\sin \kappa dz}\\ {\cos \kappa dz} \end{array}} \right]\\ + \left[ {\begin{array}{*{20}{c}} { - K_{te}\cos {\theta_{i,j}}}&{ - {K_{re}}\sin {\theta_{i,j}}}&{ - K_{ae}\sin {\theta_{i,j}}}\\ {K_{te}\sin {\theta_{i,j}}}&{ - K_{re}\cos {\theta_{i,j}}}&{ - K_{ae}\cos {\theta_{i,j}}}\\ 0&{ - K_{ae}}&{K_{re}} \end{array}} \right] \times \left[ {\begin{array}{*{20}{c}} {ds}\\ {\sin \kappa ds}\\ {\cos \kappa ds} \end{array}} \right] \end{array} $$
(32)

When \(0 < {\theta _{i}} < \frac {\pi }{2}\), the elemental cutting forces acting on the j th slice of the (i + 1)th tooth can be expressed as:

$$ \begin{array}{l} \left[ {\begin{array}{*{20}{c}} {dF_{(i+1),j,x,}(\theta )}\\ {dF_{(i+1),j,y}(\theta )}\\ {dF_{(i+1),j,z}(\theta )} \end{array}} \right] = \frac{f_{t}}{2}\left[ {\begin{array}{*{20}{c}} {K_{tc}\sin 2{\theta_{i,j}}}&{ -2K_{rc}{{\cos }^{2}}{\theta_{i,j}}}&{ - 2K_{ac}{{\cos }^{2}}{\theta_{i,j}}}\\ {2K_{tc}{{\cos }^{2}}{\theta_{i,j}}}&{K_{rc}\sin 2{\theta_{i,j}}}&{K_{ac}\sin 2{\theta_{i,j}}}\\ 0&{ - 2K_{ac}\cos {\theta_{i,j}}}&{2K_{rc}\cos {\theta_{i,j}}} \end{array}} \right] \times \left[ {\begin{array}{*{20}{c}} {dz}\\ {\sin \kappa dz}\\ {\cos \kappa dz} \end{array}} \right]\\ + \left[ {\begin{array}{*{20}{c}} {K_{te}\sin {\theta_{i,j}}}&{ - K_{re}\cos {\theta_{i,j}}}&{ - K_{ae}\cos {\theta_{i,j}}}\\ {K_{te}\cos {\theta_{i,j}}}&{{K_{re}}\sin {\theta_{i,j}}}&{{K_{ae}}\sin {\theta_{i,j}}}\\ 0&{ - K_{ae}}&{K_{re}} \end{array}} \right] \times \left[ {\begin{array}{*{20}{c}} {ds}\\ {\sin \kappa ds}\\ {\cos \kappa ds} \end{array}} \right] \end{array} $$
(33)

The elemental cutting forces acting on the j th slice of cutter can be expressed as:

$$ \begin{array}{l} \left[ {\begin{array}{*{20}{c}} {dF_{i,j,x}(\theta ) + dF_{(i + 1),j,x}(\theta )}\\ {dF_{i,j,y}(\theta ) + dF_{(i + 1),j,y}(\theta )}\\ {dF_{i,j,z}(\theta ) + dF_{(i + 1),j,z}(\theta )} \end{array}} \right] = \frac{f_{t}}{2}\left[ {\begin{array}{*{20}{c}} 0&{ - 2K_{rc}}&{ - 2K_{ac}}\\ {2K_{tc}}&0&0\\ 0&{ - 2K_{ac}(\sin {\theta_{i,j}} + \cos {\theta_{i,j}})}&{2K_{rc}(\sin {\theta_{i,j}} + \cos {\theta_{i,j}})} \end{array}} \right] \times \left[ {\begin{array}{*{20}{c}} {dz}\\ {\sin \kappa dz}\\ {\cos \kappa dz} \end{array}} \right]\\ + \left[ {\begin{array}{*{20}{c}} {K_{te}(\sin {\theta_{i,j}} - \cos {\theta_{i,j}})}&{ - K_{re}(\sin {\theta_{i,j}} + \cos {\theta_{i,j}})}&{ - K_{ae}(\sin {\theta_{i,j}} + \cos {\theta_{i,j}})}\\ {K_{te}(\sin {\theta_{i,j}} + \cos {\theta_{i,j}})}&{K_{re}(\sin {\theta_{i,j}} - \cos {\theta_{i,j}})}&{K_{ae}(\sin {\theta_{i,j}} - \cos {\theta_{i,j}})}\\ 0&{ - 2K_{ae}}&{2K_{re}} \end{array}} \right] \times \left[ {\begin{array}{*{20}{c}} {ds}\\ {\sin \kappa ds}\\ {\cos \kappa ds} \end{array}} \right] \end{array} $$
(34)
Fig. 9
figure 9

Illustration of cutter-workpiece engagement

As the helix angle β0 = 0, the instantaneous cutting forces acting on the tool can be expressed as:

$$ \begin{array}{l} \left[ {\begin{array}{*{20}{c}} {{F_{1,x}}({\theta})}\\ {{F_{1,y}}({\theta})}\\ {{F_{1,z}}({\theta})} \end{array}} \right] = {f_{t}}\left[ {\begin{array}{*{20}{c}} 0&{ - K_{rc}}&{ - K_{ac}}\\ {K_{tc}}&0&0\\ 0&{ - K_{ac}(\sin {\theta_{i}} + \cos {\theta_{i}})}&{K_{rc}(\sin {\theta_{i}} + \cos {\theta_{i}})} \end{array}} \right] \times \left[ {\begin{array}{*{20}{c}} {A_{1}}\\ {A_{2}}\\ {A_{3}} \end{array}} \right]\\ + \left[ {\begin{array}{*{20}{c}} {K_{te}(\sin {\theta_{i}} - \cos {\theta_{i}})}&{ - K_{re}(\sin {\theta_{i}} + \cos {\theta_{i}})}&{ - K_{ae}(\sin {\theta_{i}} + \cos {\theta_{i}})}\\ {K_{te}(\sin {\theta_{i}} + \cos {\theta_{i}})}&{K_{re}(\sin {\theta_{i}} - \cos {\theta_{i}})}&{K_{ae}(\sin {\theta_{i}} - \cos {\theta_{i}})}\\ 0&{ - 2K_{ae}}&{2K_{re}} \end{array}} \right] \times \left[ {\begin{array}{*{20}{c}} {B_{1}}\\ {B_{2}}\\ {B_{3}} \end{array}} \right] \end{array} $$
(35)

where \({A_{1}} = {\int \limits }_{z1}^{z2} {dz} \), \({A_{2}} = {\int \limits }_{z1}^{z2} {{\sin \limits } \kappa (z)dz} \), \({A_{3}} = {\int \limits }_{z1}^{z2} {{\cos \limits } \kappa (z)dz} \), \({B_{1}} = {\int \limits }_{z1}^{z2} {ds(z)} \), \({B_{2}} = {\int \limits }_{z1}^{z2} {{\sin \limits } \kappa (z)ds} (z)\), \({B_{3}} = {\int \limits }_{z1}^{z2} {{\cos \limits } \kappa (z)ds} (z)\). Similarly, when \(\frac {\pi }{2} < {\theta _{i}} < \pi \), the instantaneous cutting forces acting on the tool can be expressed as:

$$ \begin{array}{l} \left[ {\begin{array}{*{20}{c}} {{F_{2,x}}({\theta})}\\ {{F_{2,y}}({\theta})}\\ {{F_{2,z}}({\theta})} \end{array}} \right] = {f_{t}}\left[ {\begin{array}{*{20}{c}} 0&{ - {K_{rc}}}&{ - {K_{ac}}}\\ {{K_{tc}}}&0&0\\ 0&{{K_{ac}}(\cos {\theta_{i}} - \sin {\theta_{i}})}&{{K_{rc}}(\sin {\theta_{i}} - \cos {\theta_{i}})} \end{array}} \right] \times \left[ {\begin{array}{*{20}{c}} {A_{1}}\\ {A_{2}}\\ {A_{3}} \end{array}} \right]\\ +\left[ {\begin{array}{*{20}{c}} {-{K_{te}}(\sin {\theta_{i}} + \cos {\theta_{i}})}&{{K_{re}}(\cos {\theta_{i}} - \sin {\theta_{i}})}&{{K_{ae}}(\cos {\theta_{i}} - \sin {\theta_{i}})}\\ {{K_{te}}(\sin {\theta_{i}} - \cos {\theta_{i}})}&{-{K_{re}}(\sin {\theta_{i}} + \cos {\theta_{i}})}&{-{K_{ae}}(\sin {\theta_{i}} + \cos {\theta_{i}})}\\ 0&{ - 2{K_{ae}}}&{2{K_{re}}} \end{array}} \right] \times \left[ {\begin{array}{*{20}{c}} {{B_{1}}}\\ {{B_{2}}}\\ {{B_{3}}} \end{array}} \right] \end{array} $$
(36)

After, the instantaneous cutting forces are averaged over the radial immersion angle yielding:

$$ {\bar F_{xyz}} = \frac{1}{{\Delta \theta }}\left[ {{\int}_{{\theta_{st}}}^{{\theta_{\lim }}} {{F_{1,xyz}}} + {\int}_{{\theta_{\lim }}}^{{\theta_{ex}}} {{F_{2,xyz}}} } \right] $$
(37)

Submitting (35) and (36) into (37):

$$ \begin{array}{l} {\bar F_{xyz}} = \frac{{{f_{t}}}}{{\Delta \theta }}\left[ {\begin{array}{*{20}{c}} 0&{ - ({C_{1}} + {C_{4}}){A_{2}}}&{ - ({C_{1}} + {C_{4}}){A_{3}}}\\ {({C_{1}} + {C_{4}}){A_{1}}}&0&0\\ 0&{({C_{2}} - {C_{6}}){A_{3}}}&{ - ({C_{2}} - {C_{6}}){A_{2}}} \end{array}} \right] \times \left[ {\begin{array}{*{20}{c}} {{K_{tc}}}\\ {{K_{rc}}}\\ {{K_{ac}}} \end{array}} \right]\\ +\frac{1}{{\Delta \theta }}\left[ {\begin{array}{*{20}{c}} {-({C_{3}} + {C_{5}}){B_{1}}}&{-({C_{2}} - {C_{6}}){B_{2}}}&{ - ({C_{2}} - {C_{6}}){B_{3}}}\\ {({C_{2}} - {C_{6}}){B_{1}}}&{ - ({C_{3}} + {C_{5}}){B_{2}}}&{ - ({C_{3}} + {C_{5}}){B_{3}}}\\ 0&{2({C_{1}} + {C_{4}}){B_{3}}}&{ - 2({C_{1}} + {C_{4}}){B_{2}}} \end{array}} \right] \times \left[ {\begin{array}{*{20}{c}} {{K_{te}}}\\ {{K_{re}}}\\ {{K_{ae}}} \end{array}} \right] \end{array} $$
(38)

where \({C_{1}}=\left . {{\theta _{i}}} \right |_{\theta _{st}}^{{\theta _{\lim }}}\), \({C_{2}}=\left . {({\sin \limits } {\theta _{i}} - {\cos \limits } {\theta _{i}})} \right |_{\theta _{st}}^{{\theta _{\lim }}}\), \({C_{3}}=\left . {({\cos \limits } {\theta _{i}} + {\sin \limits } {\theta _{i}})} \right |_{\theta _{st}}^{{\theta _{\lim }}}\), \({C_{4}}=\left . {{\theta _{i}}} \right |_{{\theta _{\lim }}}^{{\theta _{ex}}}\), \({C_{5}}=\left . {({\sin \limits } {\theta _{i}} - {\cos \limits } {\theta _{i}})} \right |_{{\theta _{\lim }}}^{{\theta _{ex}}}\), \({C_{6}}=\left . {({\cos \limits } {\theta _{i}} + {\sin \limits } {\theta _{i}})} \right |_{{\theta _{\lim }}}^{{\theta _{ex}}}\). In this paper, 𝜃st = 0, \({\theta _{\lim }} = \frac {\pi }{2}\), 𝜃ex = π. Expressing (38) as a linear function of ft:

$$ {\bar F_{s}} = {\bar F_{sc}}{f_{t}} + {\bar F_{se}}, \quad {(s = x,y,z)} $$
(39)

After tests are performed at a series of feeds ft, a linear regression of the measured average values about feeds can be obtained. Then, \({\bar F_{sc}}\) and \({\bar F_{se}}\) correspond respectively to the slopes and intercepts of the straight lines. Equating the measured and analytical average cutting forces, then, the cutting force coefficients can be expressed as:

$$ {K_{tc}} = \frac{{\bar F}_{yc}}{({C_{1}} + {C_{4}}){A_{1}}}{\Delta} \theta $$
(40a)
$$ {K_{rc}} = \frac{{({C_{1}} + {C_{4}}){A_{3}}{{\bar F}_{zc}} - ({C_{2}} - {C_{6}}){A_{2}}{{\bar F}_{xc}}}}{{({C_{1}} + {C_{4}})({C_{2}} - {C_{6}})({A_{2}^{2}} + {A_{3}^{2}})}}{\Delta} \theta $$
(40b)
$$ {K_{ac}} = - \frac{{({C_{2}} - {C_{6}}){A_{3}}{{\bar F}_{xc}} + ({C_{1}} + {C_{4}}){A_{2}}{{\bar F}_{zc}}}}{{({C_{1}} + {C_{4}})({C_{2}} - {C_{6}})({A_{2}^{2}} + {A_{3}^{2}})}}{\Delta} \theta $$
(40c)
$$ {K_{te}} = \frac{{({C_{2}} - {C_{6}}){{\bar F}_{ye}} - ({C_{3}} + {C_{5}}){{\bar F}_{xe}}}}{{\left[ {{{({C_{2}} - {C_{6}})}^{2}} + {{({C_{3}} + {C_{5}})}^{2}}} \right]{B_{1}}}}{\Delta} \theta $$
(40d)
$$ {K_{re}} = \frac{{\left[ {{{({C_{2}} - {C_{6}})}^{2}} + {{({C_{3}} + {C_{5}})}^{2}}} \right]{B_{3}}{{\bar F}_{ze}} - 2({C_{1}} + {C_{4}})({C_{3}} + {C_{5}}){B_{2}}{{\bar F}_{ye}} - 2({C_{1}} + {C_{4}})({C_{2}} - {C_{6}}){B_{2}}{{\bar F}_{xe}}}}{{2({C_{1}} + {C_{4}})\left[ {{{({C_{2}} - {C_{6}})}^{2}} + {{({C_{3}} + {C_{5}})}^{2}}} \right]({B_{2}^{2}} + {B_{3}^{2}})}}{\Delta} \theta $$
(40e)
$$ {K_{ae}} = - \frac{{2({C_{1}} + {C_{4}})({C_{2}} - {C_{6}}){B_{3}}{{\bar F}_{xe}} + 2({C_{1}} + {C_{4}})({C_{3}} + {C_{5}}){B_{3}}{{\bar F}_{ye}} + \left[ {{{({C_{2}} - {C_{6}})}^{2}} + {{({C_{3}} + {C_{5}})}^{2}}} \right]{B_{2}}{{\bar F}_{ze}}}}{{2({C_{1}} + {C_{4}})\left[ {{{({C_{2}} - {C_{6}})}^{2}} + {{({C_{3}} + {C_{5}})}^{2}}} \right]({B_{2}^{2}} + {B_{3}^{2}})}}{\Delta} \theta $$
(40f)

It can be seen that the tangential shear-specific coefficient Ktc is only influenced by the force in Y direction.

5 Experiments and simulations

5.1 Milling tests

To calculate cutting force coefficients by the identification expressions proposed in Section 4, a series of slot milling tests were performed on the workpiece made of titanium alloy TC4 with dimensions of 150 mm × 70 mm × 60 mm (Fig. 10a) to get the average cutting forces which are needed by the identification expressions. Then, to verify the accuracy of the proposed method, tests were conducted on both the rectangular workpiece and the workpiece with curved surface. The dimensions of the workpiece with curved surface are shown in Fig. 10b. The rectangular workpiece was machined on a three-axis CNC machine with a maximum spindle speed of 10,000 rpm, the curved surface was machined on a five-axis CNC machine along curve 6, curve 12, and curve 18, as shown in Fig. 10b, where 6, 12, and 18 represent the distances from the cutting position to the upper surface of the workpiece along the height direction, and the unit is in millimeters.

Fig. 10
figure 10

Experimental workpieces. a Rectangular workpiece. b Workpiece with curved surface

The ball-end mills with 4 flutes, an 8-mm diameter, and a 40 nominal helical angle were used in the tests. During the machining processes, the cutting forces were measured by a three-component cutting force dynamometer (Kistler 9255B); the dynamometer was fixed to the machine tool; and the workpieces were fixed to the dynamometer by the fixtures. A charge amplifier (Kistler Type 5010), a signal analyzer (DT9837B), and the data acquisition software were used to record the cutting forces, and the sampling rate was 10,000 Hz. The tests were conducted without any lubricant, and just air was used as the coolant.

To study the influences of cutting element position and spindle speed on cutting force coefficient, the cutting parameters for the slot milling tests are presented in Table 1. For the certain spindle speed and cutting depth, full immersion experiments were repeated at each feed rate. To analyze the accuracy of the proposed model, according to the cutting parameters selected by the calibration tests, the cutting parameters for validation tests are shown in Tables 2 and 3. For each set of cutting parameters presented in Table 2, a horizontal milling test was performed. For the three set of cutting parameters presented in Table 3, milling tests were performed along curve 6, curve 12, and curve 18, respectively.

Table 1 Cutting parameters applied in the calibration tests
Table 2 Cutting parameters of validation tests for milling the rectangular workpiece
Table 3 Cutting parameters of validation tests for milling the workpiece with curved surface

5.2 Analysis of cutting force coefficients

To calculate the cutting force coefficients for the j th slice element, the cutting forces generated by the j th slice element were extracted from the measured cutting forces by the subtraction process described in [24]. Then, the cutting force coefficients for the cutting parameters shown in Table 1 were calculated by the identification expressions proposed in Section 4.

The cutting force coefficients calculated by the tests performed at 3000 rpm were used to study the influence of the cutting element position on cutting force coefficients. The calculated results are shown in Fig. 11, and it can be seen that with the increase of cutting depth, the values of Ktc and Krc first decrease, then, their values gradually increase towards the end of the arc zone, while Kac increases gradually throughout the arc zone. The cutting force coefficients at the tool tip are higher; this due to the fact that the cutting speed at the tool tip zone is zero and causes significant ploughing forces [25]. Meanwhile, the edge-specific coefficients exhibit little variations with the increase of cutting depth. The cutting force coefficients can be fitted by a 4th-order polynomial about cutting element position, and the fitting results are shown in Fig. 11.

Fig. 11
figure 11

Influence of cutting element position on cutting force coefficients at n = 3000 rpm. a Shear-specific coefficients. b Edge-specific coefficients

The cutting force coefficients calculated by the tests performed at ap = 1 mm were used to study the influence of the spindle speed on cutting force coefficients. It is clear that the cutting force coefficients first increase and then decrease with the increase of spindle speed, as shown in Fig. 12. This is because with the increase of spindle speed, a built-up edge on the tool may be produced, so the cutting force increases. However, as the continuous increase of spindle speed, the generated cutting heat increases, then, the built-up edge gradually decreases until it disappears; also, the generated cutting heat may lead to thermal softening of the workpiece material. The effects of these two aspects lead to a reduction of the cutting force as well as the cutting force coefficients. Compared with the cutting force coefficient for 5000 rpm, the cutting force coefficients for 6000 rpm are higher; this results from the increased vibration of the machining system. The cutting force coefficients can be fitted by a cubic polynomial about spindle speed n, and the fitting results are shown in Fig. 12.

Fig. 12
figure 12

Influence of spindle speed on cutting force coefficients at ap = 1 mm. a Shear-specific coefficients. b Edge-specific coefficients

Based on the influences of the cutting element position and spindle speed on the cutting force coefficients as discussed previously, the fitting model of the cutting force coefficient with respect to the cutting element position z and the spindle speed n can be written as:

$$ \begin{array}{l} {K_{x}} = {W_{0}} + {W_{1}}{z} + {W_{2}}z^{2} + {W_{3}}z^{3} + {W_{4}}z^{4} + {W_{5}}n\\ \qquad + {W_{6}}{n^{2}} + {W_{7}}{n^{3}}, \quad (x = tc,rc,ac,te,re,ae) \end{array} $$
(40g)

The values of W0, W1, W2, W3, W4, W5, W6, and W7 were calculated by nonlinear fitting of the cutting force coefficients calculated by the measured average forces. The results are shown in Table 4; then, the model was used to calculate cutting force coefficients for the validation tests. Meanwhile, the fitting surfaces of cutting force coefficients with respect to the cutting element position and spindle speed are shown in Fig. 13, and the red circles represent the values calculated by tests.

Table 4 The fitted polynomial coefficients of Ktc, Krc, Kac, Kte, Kre, and Kae
Fig. 13
figure 13

Fitting surfaces of cutting force coefficients with respect to cutting element position and spindle speed. aKtc. bKte. cKrc. dKre. eKac. fKae

5.3 Simulation analysis

In order to verify the accuracy of the proposed method, the simulated cutting forces obtained by the proposed method should be compared with the measured values. Meanwhile, the coefficients of the fitting model proposed in [9] were calculated by the cutting force coefficients for n = 3000 rpm, then the fitting model were used to calculate the cutting force coefficients for the validation tests, and the calculated cutting forces were compared with the measured results. Due to the tool runout during milling processes, the cutting forces generated by each tooth are different, in this paper, the influence of tool runout is eliminated by averaging the cutting forces generated by all teeth.

For the verification tests performed on rectangular workpiece with the cutting parameter presented in Table 2, as horizontal milling was adopted to machine the workpiece, so the CWE at each cutter location is same as well as the cutting force. The simulated and measured results of the tests performed on the rectangular workpiece are shown in Fig. 14. The blue solid curves denote the measured signals, the green dotted lines denote the values calculated by the model which has not considered the influence of spindle speed [9], while the red dash-dotted lines indicate the values obtained by the model proposed in this paper. It can be seen that when the spindle speed is 3000 rpm, the cutting forces calculated by the fitting model proposed in [9] can achieve a good calculation accuracy. If not, the simulation results obtained by the model proposed in this paper are more accurate than the results obtained by the model proposed in [9]. This is because the fitting model proposed in [9] did not consider the influence of the spindle speed on cutting force coefficients, and the coefficients of the fitting model were calculated by the cutting force coefficients obtained by the tests performed at 3000 rpm. So, when the fitting model proposed in [9] is used to calculate cutting forces for the tests performed at 4500 rpm and 6500 rpm, the calculation errors are high.

Fig. 14
figure 14

Comparison of measured and predicted cutting forces for milling rectangular workpiece with the parameters presented in Table 2. an = 3000 rpm. bn = 4500 rpm. cn = 6500 rpm

For the milling processes along curve 6, curve 12, and curve 18 (Fig. 10b) with the cutting parameter presented in Table 3, as the curved surface workpiece used in this paper is a thin-walled part, vibration will occur during the machining of both sides of the workpiece. However, the proposed model is suitable for stable machining, so the cutter location that belongs to stable machining should be selected as the simulation cutter location. According to the test results, the points k at the middle of curve 6, curve 12, and curve 18 were selected as the cutter locations to calculate cutting force by the method proposed in this paper. For the selected cutting position point k, the start and exist immersion angles calculated by the method presented in Section 3 are shown in Fig. 15, and the simulated and measured cutting forces are shown in Fig. 16. It is evident that the shape and size of the cutting forces along the X, Y, and Z directions change obviously with the changes of the tool orientation. The reason is that as lead angle increases, the CWE changes from the tool tip zone toward the end of the arc zone, so the differential cutting edge segments which are involved in the cutting and their corresponding immersion angles are changed (Fig. 15), and the cutting force coefficients for each differential cutting edge segment are different.

Fig. 15
figure 15

Start and exist immersion angles at the selected cutting position point k for milling workpiece with curved surface. a Lead = 10. tilt = 5. b Lead = 15, tilt = 5. c Lead = 20, tilt = 5

Fig. 16
figure 16

Comparison of measured and predicted cutting forces for milling workpiece with curved surface with the parameters presented in Table 3. an = 3000 rpm; lead = 10, tilt = 5. bn = 4500 rpm; lead = 15, tilt = 5. cn = 6500 rpm; lead = 20, tilt = 5

It can be found that compared with the tests performed at 3000 rpm and 4500 rpm, the relative errors of the simulation results for the tests performed at 6500 rpm are higher. This results from the fact that the measured forces for the tests performed at 6500 rpm are altered by high-frequency oscillations; also, 6500 rpm is out of the range of spindle speed selected by the calibration tests, so the fitting errors of cutting force coefficients are more higher. Apart from the influences of tool runout and vibrations, the predicted force is in good agreement with that of the test results, and when the measured cutting force is regarded as a standard, the relative errors are less than 15%.

The prediction results of existing literatures are presented in Table 5. It can be seen that in the existing literatures, the maximum relative errors of the simulation results are between 10 and 20%. As the maximum error of the model proposed in this paper is about 15%, the proposed method is effective and accurate.

Table 5 Comparison of the result of this paper with existing literatures

The direction of cutting force affects the oriented receptance between cutting force and resultant vibration. Also, the CWEs and cutting force coefficients are two important factors for constructing stability lobe diagrams. The results of this paper will be used to optimize tool orientation to suppress machining vibration during five-axis milling of thin-walled parts.

6 Conclusions

In this paper, a method was proposed to predict the cutting force for 5-axis ball-end milling of the workpiece with curved surface. Firstly, a three-orthogonal dexel–based method was presented to calculate CWEs. Then, to reduce the costs of calibration tests, we presented the new identification expressions of cutting force coefficients for a 4-fluted ball-end cutter based on the average forces obtained by the slot milling tests with double-tooth engagement. After, the proposed identification expressions were used to calculate the cutting force coefficients for different cutting parameters. Then, the influences of the cutting element position and spindle speed on the cutting force coefficients were studied. The results show that the cutting force coefficients are higher at the tool tip zone, and they change significantly with the increase of cutting depth. And the cutting force coefficients first increase and then decrease with the increase of spindle speed. Then, a fitting model of the cutting force coefficient with respect to the cutting element position and spindle speed was presented; the coefficients of the fitting model were obtained by nonlinear fitting of the calculated cutting force coefficients. After, the proposed method was verified by tests performed on both rectangular workpiece and curved surface with different cutting parameters. The results show that the proposed method can accurately predict the cutting forces for different cutting parameters, and the maximum relative error of the simulation results is about 15%. The results of this paper present a basis for suppressing chatter during five-axis milling of thin-walled parts.