1 Introduction

Free-form surfaces, also called sculptured surfaces, have been widely used in designing complex surfaces such as turbine blades, automobile bodies. In CAD/CAE environment free-form surfaces are machined in two stages, roughing and finishing. The major volume of the material is removed in the roughing stage using larger tools while the left over material is removed in the finishing stage.

Due to the inherent nature of the motion of the tool, tool paths are always a series of straight lines/arcs whereas the actual sculptured surface is a surface of varying slope and curvature. Thus, the free-form surface is approximated by a series of straight lines and arcs for machining, and the goal of machining is to get as close as possible to the design surface.

Several tool path generation methods have been developed by researchers over the years [111]; they include iso-parametric, iso-planer, iso-scallop, iso-phote, etc. Because of efficiency in calculation and better surface quality and aerodynamic effect (required in blades/vanes of turbines and pumps) iso-parametric method is widely used for free-form surface machining.

Loney and Ozsoy first addressed the iso-parametric method of tool path generation [12]. But they used the flat surface formula for calculating the path interval which was the potential source of inaccuracy [11]. The forward-steps were computed ignoring the overcut by the tool nose. Also the method was limited to algebraically parameterized surfaces. Elber and Cohen [1] introduced iso-parametric tool path planning for trimmed surfaces. But this method suffers from problem of large number of tool retractions which limits its suitability in practical applications. Moreover, this method produces some shorter tool paths and due to that the scallops after machining become too abruptly distributed. Thus, the characteristic streamline-like property of iso-parametric tool paths is lost. The current work is aimed to generate boundary-fitted streamline-like iso-parametric tool paths on a trimmed sculptured surface using 3-axis CNC milling by improving the maintenance of limiting tolerance of forward-step.

For a trimmed surface (Fig. 1), re-parameterization is required to generate iso-parametric tool path because the original parameterization fails to match the new boundary conditions of the trimmed surface. For the surfaces with complex boundaries algebraic parameterization cannot be applied due to some inherent problems [13]. In such conditions, re-parameterization can be done by two types of discrete parameterization techniques viz. Partial Differential Equation (PDE) method [1419] and boundary interpolation method [13]. In this paper, these two parameterization methods have been used to generate parameterized surfaces and subsequently tool paths have been generated on these surfaces based on interpolated curves. The tolerance constraint forward-step method has been developed to ensure that the tolerances over the entire surface should not go beyond the given limit. After generating tool paths, the method has been examined with some typical cases and tolerances have been verified to show the accuracy of the present method.

Fig. 1
figure 1

Surface “S” is trimmed from the original surface “S 0

2 Re-parameterization techniques

In the following sub-sections, re-parameterization techniques viz. Laplace PDE method and boundary interpolation method have been presented very briefly for ready reference. For further detail, readers may refer some of the relevant literatures that discussed these methods elaborately [13, 1722].

2.1 PDE method

For two-dimensional surface, two elliptic partial differential equations [Eqs. (1) and (2)] are solved [17] with the independent variables (u, v) in the physical plane and the dependent variables (ξ, η) in the computational plane. The Laplace form of elliptic PDEs are:

$$\frac{{\partial^{2} \xi }}{{\partial u^{2} }} + \frac{{\partial^{2} \xi }}{{\partial v^{2} }} = \xi_{uu} + \xi_{vv} = 0$$
(1)
$$\frac{{\partial^{2} \eta }}{{\partial u^{2} }} + \frac{{\partial^{2} \eta }}{{\partial v^{2} }} = \eta_{uu} + \eta_{vv} = 0$$
(2)

After variable transformation [13, 20], Eqs. (1) and (2) takes the following elliptic form:

$$au_{\xi \xi } - 2bu_{\xi \eta } + cu_{\eta \eta } = 0$$
(3)
$$av_{\xi \xi } - 2bv_{\xi \eta } + cv_{\eta \eta } = 0$$
(4)

where

$$a = (u_{\eta }^{2} + v_{\eta }^{2} ); \quad b = (u_{\xi } u_{\eta } + v_{\xi } v_{\eta } );c = (u_{\xi }^{2} + v_{\xi }^{2} )$$
(5)

Solution of Eqs. (3), (4) and (5) produces boundary-fitted parameterized 2D surface. Figure 2 shows the result of PDE method applied on the surfaces with various boundary conditions (simple and irregular). For irregular boundaries the distribution of interpolated curves are very uneven and cause difficulties in tool path generation. Though Poisson equation by means of forcing functions can provide solution to this parameterization problem; however, it needs to be solved via trial and error processes [1618, 21]. This limits its usage for parameterization purpose in CAD/CAE applications where automatic processes are essential.

Fig. 2
figure 2

Laplace PDE method

2.2 Boundary interpolation method

Boundary interpolation method [13] can resolve the anomalies yielded by the PDE method. In this method the intermediate curves are generated by combining the linear and geometric vectors [13] at all the constituent data points of the two opposite boundary (or generating) curves. A technique of simultaneous displacement of the interpolated curves from the opposite boundaries has been adopted. The direction of displacement is from one of the curved boundaries to the other.

The interpolated curves are represented as functions of six geometric parameters,

$$C_{j} = f\left( {C_{0} \left( \xi \right),\overline{C}_{0} \left( \xi \right),\alpha_{j} \left( \xi \right),\overline{\alpha }_{j} \left( \xi \right),d_{j} \left( \xi \right),\overline{d}_{j} \left( \xi \right)} \right)$$
(6)

Here, C 0(ξ) and \(\overline{C}_{0}\)(ξ) is a pair of opposite boundary curves or generating curves or parent curves, α j (ξ) and \(\overline{\alpha }\) j (ξ), d j (ξ) and \(\overline{d}\) j (ξ) are the displacement correction functions and displacement vectors of the curves C 0(ξ) and \(\overline{C}_{0}\)(ξ), respectively. The new sets of curves are generated by simultaneous interpolation from the two opposite boundary curves. This simultaneous displacement process continues till the entire surface is constructed. So the entire surface is treated as if it is divided into two halves.

Therefore, the basic algorithm is denoted as

$$C_{j} \left( \xi \right) = C_{j - 1} \left( \xi \right) \, + d_{j} \left( \xi \right)$$
(7)

where

$$d_{j} \left( \xi \right) = D_{j} \left( \xi \right)R_{j} \left( \xi \right)$$
(8)

Here D j (ξ) and R j (ξ) represent the displacement magnitude and the unit displacement direction of d j (ξ), respectively.

Let m (which is user defined) being the total number of curves including the boundaries, to be generated on the entire surface.

When m is odd,

$$D_{j} \left( \xi \right) = \overrightarrow {\alpha }_{j} \left( \xi \right)\frac{{Y_{j - 1} (\xi ) { }}}{{ 2 (q - j ) { + 2}}}\quad{\text{and}}\quad q = \, \left( {\left( {m + 1} \right)/ 2} \right) - 1$$
(9)

When m is even,

$$D_{j} \left( \xi \right) = \overrightarrow {\alpha }_{j} \left( \xi \right)\frac{{Y_{j - 1} (\xi ) { }}}{{ 2 (q - j ) { + 3}}}\;{\text{and}}\;\;q = \left( {m/ 2} \right) - 1$$
(10)
$$\overrightarrow {\alpha }_{j} \left( \xi \right) = \alpha_{j} \beta_{j} + \overline{\alpha }_{j} \left( { 1- \beta_{j} } \right)$$
(11)

where

$$\beta_{j} = \left( { 1- j/ 2q} \right);j \in \left[ { 1,q} \right]$$
(12)

β j is a blending function. α j (ξ) and \(\overline{\alpha }\) j (ξ) are the displacement correction functions of C j (ξ) and \(\overline{C}\) j (ξ), respectively.

$$\alpha_{j} \left( \xi \right) = \left[ { - { \tanh }\left( {\theta_{j}^{ 3} \left( \xi \right)/ 1 2\pi } \right) + \left( {\left( {\theta_{j} \left( \xi \right) - \pi } \right)/\pi } \right)\left( {0. 4- { \tanh }\left( {\pi^{ 2} / 1 2} \right)} \right) + 1+ { \tanh }\left( {\pi^{ 2} / 1 2} \right)} \right]^{\gamma }$$
(13)

Here θ ∈ [0,2π] is the included angle formed by a set of three consecutive data points of a curve [13]. The user-defined parameter γ (a real number) controls the characteristics of displacement correction function α j (ξ).

$$R_{j} (\xi ) = \frac{{ ( 1- f )G_{j} (\xi ) + fL_{j} (\xi )}}{{\left| { ( 1- f )G_{j} (\xi ) + fL_{j} (\xi )} \right|}}$$
(14)

where weighted function

$$f = \left( \frac{j}{q} \right)^{{\left( {{{\left( {1 - \left( \frac{j}{q} \right)} \right)} \mathord{\left/ {\vphantom {{\left( {1 - \left( \frac{j}{q} \right)} \right)} j}} \right. \kern-0pt} j}} \right)^{(p/100)} }}$$
(15)
$$L_{j} \left( \xi \right) = \frac{{\overline{C}_{j - 1} (\xi ) - C_{j - 1} (\xi )}}{{\left\| {\overline{C}_{j - 1} (\xi ) - C_{j - 1} (\xi )} \right\|}}$$
(16)

In Eq. (14), L j (ξ) and G j (ξ) represent the unit linear displacement vector and unit geometric vector, respectively [13].

Referring to Fig. 3, it may be observed that boundary interpolation method resolves the problem of uneven parametric distribution produced by PDE method.

Fig. 3
figure 3

Boundary interpolation method

3 Tool path generation

The iso-parametric tool paths are generated based on the iso-parametric curves produced by different parameterization methods discussed above. In the following sections the iso-parametric tool path generation technique will be formulated and tested with some cases.

3.1 Basic mathematics

For free-form surface, the locus of a point is described as a function of two independent variables or parameters. Therefore, the Cartesian coordinates (in physical domain) of a parametric (normalized) surface ‘S 0’ (Fig. 4) in terms of two parameters (u, v) can be given as below.

$$S_{0} \left( {u,v} \right) = \, \left[ {x\left( {u,v} \right)y\left( {u,v} \right)z\left( {u,v} \right)} \right]; \quad u,v \in \left[ {0, 1} \right] \subset {\mathbb{R}}^{2}$$
(17)
Fig. 4
figure 4

Scheme for iso-parametric tool path generation. a Original surface with trimming, b mapped on (u, v) domain and re-parameterised on (ξ, η), c tool path generated on trimmed surface

But as mentioned earlier, for a trimmed surface ‘S’ the original parameterization (on u, v) becomes invalid and so ‘S’ is re-parameterized onto a new unit square (computational domain) of two parameters ξ, η ∈ [0,1].

Let P(u, v) be a general point on iso-η curve B(u(ξ),v(ξ)) embedded on surface ‘S’. The first fundamental form [2124] at P, in the orthogonal direction of curve B, on ‘S’ is defined as square of the differential arc length (quadratic form) and can be expressed as follows.

$$I = \frac{{{\text{d}}P}}{{{\text{d}}\eta }} \times \frac{{{\text{d}}P}}{{{\text{d}}\eta }} = E\frac{\partial u}{\partial \eta }\frac{\partial u}{\partial \eta } + 2F\frac{\partial u}{\partial \eta }\frac{\partial v}{\partial \eta } + G\frac{\partial v}{\partial \eta }\frac{\partial v}{\partial \eta }$$
(18)

where E = P u  × P u; F = P u  × P v ; G = P v  × P v and P u  = \(\frac{\partial P}{\partial u}\); P v  = \(\frac{\partial P}{\partial v}.\)

The second fundamental form [2124] is given as the quadratic form

$$II = L\frac{\partial u}{\partial \eta }\frac{\partial u}{\partial \eta } + 2M\frac{\partial u}{\partial \eta }\frac{\partial v}{\partial \eta } + N\frac{\partial v}{\partial \eta }\frac{\partial v}{\partial \eta }$$
(19)

where L = P uu  × n; M = P uv  × n; N = P vv  × n and P uu ; P uv ; P vv are the second-order partial derivatives of P(u, v) w.r.t. parameters u and v. n is the unit surface normal at P(u, v) and defined as

$$n = \frac{{P_{u} \times P_{v} }}{{\left| {P_{u} \times P_{v} } \right|}}$$
(20)

Using the above expressions the normal curvature k n is given [24] as

$$k_{n} = \frac{\text{II}}{\text{I}}$$
(21)

and, therefore, the radius of normal curvature is expressed as

$$R_{n} = \left| {\frac{\text{I}}{\text{II}}} \right|$$
(22)

3.2 Side-step or path interval

The maximum permissible distance between two adjacent tool paths along the direction orthogonal to the current tool path is defined as path interval or side-step (g) and it is the minima between two adjacent tool positions on the two adjacent tool paths. Therefore, with respect to the given tool position on a given tool path, the next tool position (for side-step) is the closest one on the next tool path. It implies that the two closest tool positions (points) lie on the geodesic path between those points and the radius of curvature of this geodesic curve (which is also the radius of normal curvature) is considered for side-step computation. Side-step is a function of scallop height h, tool radius r of ball-end mill and radius of normal curvature R n . g is calculated in physical space depending on the given limiting value of h for a surface and the values of r and R n .

Referring to Figs. 5, 6 and 7, the side-step g (AB) is calculated for the following three different profiles of surface.

Fig. 5
figure 5

Flat profile

Fig. 6
figure 6

Convex profile

Fig. 7
figure 7

Concave profile

  1. (1)

    For flat profile (Fig. 5), II = 0:

$$h = r - \left( {r^{ 2} - g^{ 2} / 4} \right)^{ 1/ 2} = > g = { 2}\left( {{\text{r}}^{ 2} - \left( {r - h} \right)^{ 2} } \right)^{ 1/ 2}$$
(23)
  1. (2)

    For convex profile (Fig. 6), II < 0:

Let φ be the half-angle subtended by R n to cover the arc length AB which is the side-step g.

Therefore,

$$\cos (\varphi ) = \frac{{ (Rn{ + }h )^{ 2} { + (}Rn{ + }r )^{ 2} - r^{ 2} }}{{ 2 (Rn{ + }h ) (Rn{ + }r )}} = > \varphi = \cos^{ - 1} \frac{{ (Rn{ + }h )^{ 2} { + (}Rn{ + }r )^{ 2} - r^{ 2} }}{{ 2 (Rn{ + }h ) (Rn{ + }r )}}$$
(24)

From Fig. 6 and using Eq. (22), side-step

$$g = 2R_{n} \varphi$$
(25)
  1. (3)

    For concave profile (Fig. 7), II > 0:

Therefore,

$$\cos (\varphi ) = \frac{{ (Rn - h )^{ 2} { + (}Rn - r )^{ 2} - r^{ 2} }}{ 2 (Rn - h ) (Rn - r )} = > \varphi = \cos^{ - 1} \frac{{ (Rn - h )^{ 2} { + (}Rn - r )^{ 2} - r^{ 2} }}{ 2 (Rn - h ) (Rn - r )}$$
(26)

From Fig. 7 and using Eq. (22), side-step

$$g = 2R_{n} \varphi$$
(27)

Now let the current tool path be P k in the direction ξ and the next tool path to be determined is P k+1.

Therefore,

$$(P_{k + 1} - P_{k} ).\left( {\frac{{\partial P_{k} }}{\partial u}\frac{\partial u}{\partial \eta } + \frac{{\partial P_{k} }}{\partial v}\frac{\partial v}{\partial \eta }} \right) = 0$$
(28)

and

$$\left| {\left| {\left( {P_{k + 1} - P_{k} } \right)} \right|} \right| = g$$
(29)

Expanding P k+1 by Taylor series and neglecting the higher terms,

$$P_{k + 1} = P_{k} + \left( {\partial P_{k} /\partial u} \right)\Delta u + \left( {\partial P_{k} /\partial v} \right)\Delta v$$
(30)

Substituting Eq. (30) in Eqs. (28) and (29) and using the coefficients of first fundamental form, we get

$$E\Delta u\left( {\frac{\partial u}{\partial \eta }} \right) + F\left( {\Delta u\frac{\partial u}{\partial \eta } + \Delta v\frac{\partial v}{\partial \eta }} \right) + G\Delta v\left( {\frac{\partial v}{\partial \eta }} \right) = 0$$
(31)

and

$$E\left( {\Delta u} \right)^{ 2} + 2F\left( {\Delta u\Delta v} \right) + G\left( {\Delta v} \right)^{ 2} = g^{ 2}$$
(32)

Solving Eqs. (31) and (32),

$$\Delta v = \frac{{g\left( {E\frac{\partial u}{\partial \eta } + F\frac{\partial v}{\partial \eta }} \right)}}{{\left( {EG - F^{2} } \right)^{1/2} \left( {E\left( {\frac{\partial u}{\partial \eta }} \right)^{2} + 2F\left( {\frac{\partial u}{\partial \eta }\frac{\partial v}{\partial \eta }} \right) + G\left( {\frac{\partial v}{\partial \eta }} \right)^{2} } \right)^{1/2} }}$$
(33)

To determine the next iso-parametric tool path P k+1 the minimum of all the ∆v along the current tool path P k is taken into consideration to maintain the scallop height within given limit and then corresponding v k+1 is calculated.

Therefore,

$$v_{k + 1} = v_{k} + \Delta v_{ \hbox{min} } \quad{\text{and}}\quad P_{k + 1} = P|v = v_{k + 1}$$
(34)

In derivation of side-step, ∂u/∂η and ∂v/∂η are determined by linear interpolations as follows.

Let jth iso-η curve be the immediate next to kth tool path so that η k  < η j . Therefore, at kth tool path the derivatives are expressed as,

$$\left( {\partial u/\partial \eta } \right) = \Delta u/\Delta \eta = \left[ {u\left( {\xi_{i} ,\eta_{j} } \right){-}u\left( {\xi_{i} ,\eta_{k} } \right)} \right]/\left[ {\eta_{j} {-}\eta_{k} } \right]$$
(35)
$$\left( {\partial v/\partial \eta } \right) = \Delta v/\Delta \eta = \left[ {v\left( {\xi_{i} ,\eta_{j} } \right){-}v\left( {\xi_{i} ,\eta_{k} } \right)} \right]/\left[ {\eta_{j} {-}\eta_{k} } \right]$$
(36)

3.3 Forward-step with tolerance constraint

To optimize the length of tool paths, it is essential to maximize the forward-step ‘s’ based on the specified tolerance ‘e’ (Fig. 8a). Conventionally, for linear interpolation, each tool path is approximated by a series of line segments called forward-step and the accuracy of this approximation is controlled by a specified deviation called tolerance [22, 23, 25]. Therefore, forward-step is the maximum linear distance between two cutter contact (CC) points on a tool path, with a given tolerance. Figure 8a shows the conventional representation of forward-step with linear interpolation where the portion of a tool path corresponding to forward-step is reasonably approximated by osculating circle [7, 22, 23].

Fig. 8
figure 8

Forward-step. a Conventional, b proposed (tolerance constraint)

In Fig. 8b, the actual profile of the embedded tool path has been taken into consideration. When the tool moves from one CC point to the next, the object surface gets overcut by the tool’s nose. Let, the tool moves from current CC point P l to the next CC point P l+1. On (k + 1)th tool path, \(\overline{P}\) is a point located between P l and P l+1 and T p is the unit tangent vector in the direction of the tool path at \(\overline{P}\). When T p is parallel to P c1 P c2 the deviational distance \(\overline{P}\) C becomes maximum. Therefore, for optimum condition (when forward-step length is maximum),

$$\overline{P} D = \overline{P} C + CD + \overline{P} C + r = e = > \overline{P} C = e - r$$
(37)

A search scheme is employed to find P l+1. By this scheme first a parametric point adjacent to P l on the tool path is taken as the next CC point and then the maximum deviational point \(\overline{P}\) (corresponding to ξ i ) is determined. The deviational distance (\(\overline{P}\) C) between T p and P c1 P c2 is then calculated. If this distance is equal to (e − r) ± ε (ε being a small magnitude of deviation over the specified tolerance) then that adjacent point is the desired CC point P l+1. If the deviational distance is greater than (e − r) + ε then the parametric interval between P l and P l+1 is decreased and on the other hand if the deviational distance is less than (e − r)–ε then the parametric interval between P l and P l+1 is increased by a small amount. The searching continues until the deviational distance converges to the desired tolerance. The mathematical derivation of the search scheme has been discussed below.

Let P c1 and P c2 be the tool centers, n 1 and n 2 are the surface normal corresponding to CC points P l and P l+1.

$$P_{c 1} = P_{l} + r{\text{n}}_{ 1}$$
(38)
$$P_{c 2} = P_{l + 1} + r{\text{n}}_{ 2}$$
(39)

As T p is parallel to P c1 P c2, therefore,

$$Tp \cdot \frac{{\overrightarrow {Pc1Pc2} }}{{\left| {\overrightarrow {Pc1Pc2} } \right|}} = 1$$
(40)

where

$$Tp = \frac{{\mathop {\overline{P} }\limits^{ \bullet } }}{{\left| {\mathop {\overline{P} }\limits^{ \bullet } } \right|}}$$
(41)

and \(\mathop {\overline{P} }\limits^{ \bullet }\) is the partial derivative of the embedded parametric tool path w.r.t. ξ at point \(\overline{P}\) (corresponding to ξ i ).

Therefore,

$$\mathop {\overline{P} }\limits^{ \bullet } = \left. {\frac{\partial P}{\partial u}\frac{\partial u}{\partial \xi } + \frac{\partial P}{\partial v}\frac{\partial v}{\partial \xi }} \right|\xi = \xi_{i}$$
(42)

To find u and v corresponding to ξ i a linear interpolation is applied between two discrete points at ξ l and ξ l+1 on the current tool path [i.e., (η k+1)th] such that ξ l  ≤ ξ i  ≤ ξ l+1.

$$u\left( {\xi_{i} } \right) \, = u\left( {\xi_{l} } \right) \, + \, \left[ {u\left( {\xi_{l + 1} } \right) \, {-}u\left( {\xi_{l} } \right)} \right].\left[ {\left( {\xi_{i} {-}\xi_{l} } \right)/\left( {\xi_{l + 1} {-}\xi_{l} } \right)} \right]$$
(43)
$$v\left( {\xi_{i} } \right) \, = v\left( {\xi_{l} } \right) \, + \, \left[ {v\left( {\xi_{l + 1} } \right) \, {-}v\left( {\xi_{l} } \right)} \right].\left[ {\left( {\xi_{i} {-}\xi_{l} } \right)/\left( {\xi_{l + 1} {-}\xi_{l} } \right)} \right]$$
(44)

Now using Eqs. (43) and (44), partial derivatives w.r.t. ξ in Eq. (42) are expressed as,

$$\left. {\frac{\partial u}{\partial \xi }} \right|_{{\xi = \xi_{i} }} = \, \left[ {u\left( {\xi_{l + 1} } \right) \, {-}u\left( {\xi_{i} } \right)} \right]/\left[ {\left( {\xi_{l + 1} {-}\xi_{i} } \right)} \right]$$
(45)
$$\left. {\frac{\partial v}{\partial \xi }} \right|_{{\xi = \xi_{i} }} = \, \left[ {v\left( {\xi_{l + 1} } \right) \, {-}v\left( {\xi_{i} } \right)} \right]/\left[ {\left( {\xi_{l + 1} {-}\xi_{i} } \right)} \right]$$
(46)

Equation (40) is solved with the help of Eqs. (41)–(46) to find the value of ξ i and corresponding value of \(\overline{P}\). The deviational distance from \(\overline{P}\) (at ξ i ) to P c1 P c2 can now easily be calculated and compared with the limiting value (e − r) ± ε to determine P l+1.

So after determination of the side-steps and forward-steps as above, the CC points are now completely defined for the entire surface. The CC points (P cc) thus calculated have to be converted to CL (cutter location) points P cl for input to the post-processor of CNC machine. For ball-end cutter the center of the ball-end is taken as CL point. Hence P cl is given as,

$$P_{\text{cl}} = P_{\text{cc}} + rn$$
(47)

where n is the surface normal.

4 Examination of the algorithm with case studies

The applicability of tool path generation scheme presented in Sect. 3 has first been examined by means of two different methods of parameterization presented above and then the tolerance constraint forward-step algorithm has been tested on a typical surface.

The radius of ball-end cutter is 5 mm and both the scallop height and the specified tolerance of forward-steps are 0.5 mm. The deviation ε has been taken as 10 % of specified tolerance. The resultant CC paths have been shown in Fig. 9. Case-I has simple boundaries and all the two methods have successfully produced the tool paths, though boundary interpolation method have more evenly distributed one. In Case-II, the boundaries are irregular in shape. Due to this, the distribution of interpolated curves near the irregular boundaries is very uneven in case of Laplace PDE method and the tool paths generated become crowded near the irregularity of the boundaries. This problem of crowdedness of the tool paths is eased while boundary interpolation technique is applied on the same surfaces in Case-II. The evenness in distribution of tool paths determines the efficiency of machining in terms of tool path length (PL) and computational time (CT). Table 1 shows a comparison of efficiencies of machining for the two different parameterization methods for Case-I and II. MATLAB7 has been used for coding and plotting the results.

Fig. 9
figure 9

Comparison between tool paths generated by different parameterization methods

Table 1 Comparison between two methods in terms of path length (PL) and computational time (CT)

One more typical surface has been examined as shown in Fig. 10 where tool paths have been determined considering the conventional and the proposed forward-step methods. The side-steps for both the cases have been computed with the algorithm presented in Sect. 3.2 above. In both cases the 5th tool path (marked with dots on firm line) from the lower boundary have been taken into consideration to calculate the tolerances produced by these forward-steps computation techniques. Only boundary interpolation method has been used for re-parameterization. The specified limit of tolerance of forward-step is 0.5 mm ± 10 %. The tolerances calculated have been plotted in Fig. 11 where it is clearly visible that conventional forward-step method does not always keep the tolerances within the specified limits, but the proposed tolerance constraint forward-step method keeps the tolerances well within limit. A cutting simulation for the tool paths generated by MATLAB in Fig. 10b has been given in Fig. 12 using commercially available simulation software.

Fig. 10
figure 10

Tool path generated based on two different forward-step conditions. a Conventional, b proposed

Fig. 11
figure 11

Distribution of tolerances determined by two different forward-step conditions

Fig. 12
figure 12

Software simulation of the tool path given in Fig. 10b

Besides plotting the results obtained by examining the 5th tool path in Fig. 10a, b, tolerances for the other tool paths in Fig. 10a have also been checked and found to be 0.586 mm at maximum and 0.422 mm at minimum whereas in Fig. 10b, the maximum tolerance is 0.542 mm and the minimum tolerance is 0.454 mm. Comparing these results with the specified limits of tolerance 0.5 mm ± 0.05 mm, it is evident that the conventional forward-step method does not ascertain to retain the tolerances within given limits but the proposed forward-step method does. The entire algorithm for the proposed method described above has been presented by the flowchart in Fig. 13.

Fig. 13
figure 13

Flowchart of the overall procedure of tolerance constraint tool path modeling

5 Concluding remarks

In this work two different methods of discrete parameterization of trimmed free-form surface have been used for re-parameterization. They are Laplace PDE method and boundary interpolation method. Re-parameterization is necessary for trimmed surfaces because the original parameterization becomes invalid. By the process of re-parameterization a number of iso-parametric curves are produced to cover up the entire surface. Based on these iso-parametric curves side-steps are calculated considering convex and concave profile of the surface besides flat region. While calculating forward-steps the exact profile of the surface and overcut due to tool’s nose have been taken into account to get a better computational accuracy and maintenance of tolerance. Complete algorithm has been developed and implemented on some cases. Case studies show that the tolerance constraint forward-step calculation presented here can give better limits of tolerance than the conventional forward-step method. Additionally, from the results of the examination of cases it is noted that because more uniform distribution of iso-parametric curves is given by the BI method than the PDE method, the proposed tool path generation algorithm produces shorter path length with lesser computational time for BI method.