The Higher Education and Research forge

Home My Page Projects Code Snippets Project Openings Complex Surface Machining Optimization
Summary Activity SCM

SCM Repository

1 \documentclass{article}
2 \usepackage[utf8]{inputenc}
3 \usepackage[T1]{fontenc}
4 %\usepackage[french]{babel}
5 \usepackage{soulutf8}
6 \usepackage[dvipsnames, svgnames]{xcolor}
7  
8 \usepackage[ruled]{algorithm2e}
9 \usepackage{amsmath}
10 \usepackage{amssymb}
11 \usepackage{stmaryrd}
12 \usepackage{graphicx}
13 \usepackage{tikz}
14 %\usepackage{pgfplots}
15 \usepackage{caption}
16 \usepackage{subcaption}
17 %\usepackage{hyperref}
18 % \usepackage{siunitx}
19 \usepackage[squaren, Gray, cdot]{SIunits}
20 \usepackage{multirow}
22 \usepackage{vmargin}
23 \setmarginsrb{2cm}{1.5cm}{2cm}{1.5cm}{1cm}{0.5cm}{1cm}{1cm}
25 \DeclareMathOperator*{\argmax}{arg\,max}
26 \DeclareMathOperator*{\argmin}{arg\,min}
27 \DeclareMathOperator{\var}{\mathrm{Var}}
28 \DeclareMathOperator{\cov}{\mathrm{Cov}}
29 \DeclareMathOperator{\E}{\mathrm{E}}
31 \graphicspath{{imagesA0/}}
33 \title{A new method for choosing between ball-end cutter and toroidal cutter when machining free-form surfaces}
34 \author{Mahfoud Herraz, Jean-Max Redonnet, Marcel Mongeau, Mohammed Sbihi}
35 \date{\today}
37 \begin{document}
39 \maketitle
41 \begin{abstract}
42 End-milling of free-form surfaces on multi-axis CNC machines are complex and expensive operations involved in the production of many high-value parts, molds and stamping dies. For such operations, the choice of the cutter type to use is very important given the considerable impact of this choice on the quality of the machined surface and the duration of the operation. In this paper, a new method for choosing between ball-end cutter and toroidal cutter is provided.
44 First an analytical analysis deals with the simple case of an inclined plane. This study makes it possible to highlight some critical parameters to be the decisive factors in the choice of a cutter type. This study is also validated by a numerical example. Then, the whole procedure is extended to free-form surfaces, focusing on the best way to translate parameters defined for planes to parameters significant for surfaces. The proposed procedure is afterward validated through two practical tests cases. The last section is devoted to a discussion summarizing pros and cons of our approach.
46 \end{abstract}
48 \section{Introduction}
50 \subsection{State of the art}
52 The quality constraint of the surface is commonly expressed in terms of maximum scallop height, denoted $s_h$, which corresponds to the residual unmachined stock thickness left by the tool between two adjacent trajectories. This value imposes the step-over distance $s_{od}$ that can be used during the millling of the surface. Roughly speaking, the step-over distance is the distance between two adjacent trajectories. The relation between $s_h$ and 
53 $s_{od}$ is well-known and fully developped in \cite{redonnet_study_2013}. The step-over distance is a key parameter for end-milling of free-form surfaces because, for a given scallop height, a greater $s_{od}$ leads to less trajectories and thus a reduced machining time.
55 Numerous authors, such as \cite{kumazawa_preferred_2015,liu_tool_2015,chiou_machining_2002,blackmore_analysis_1992,mann_generalization_2002}, have adressed these issues and a lot of them use the concepts of effective radius and sweep curve to do so. The sweep curve, is the curve lying on the cutter surface, that defines the final profile of the cutter passage \cite{sheltami_swept_1998,roth_surface_2001}. From a kinematics point of view, the sweep curve is given by $\mathbf{n} \cdot \mathbf{F} = 0$ where $\mathbf{F}$ is the feed direction and $\mathbf{n}$ the normal vector that can be calculated in each point of the cutter surface. Then, for a given cutter, the effective radius (denoted $R_{eff}$) is defined as the radius of curvature at the cutter contact point of the projection, in a plane normal to the feed direction, of the sweep curve. The direct impact of effective radius on machining time is thus well established. But effective radius calculation may indeed vary a lot depending on the cutter geometry in use.
57 \subsubsection{Cutter types}
58 End-milling of freeform surfaces can be performed with various kind of tools. Actually 3 types are commonly used (figure \ref{fig:end_mill_types}):
59 \begin{itemize}
60  \item the flat-end cutter, that is less used because of the sharp marks it's leaving on the part surface
61  \item the spherical, or ball-end cutter, which is the most commonly used in industry because using it toolpaths are easy to calculate
62  \item toroidal cutter, which have been proven to be capable of best results than ball-end cutter but is much harder to handle in calculation.
63 \end{itemize}
65 \begin{figure}[ht]
66  \centering
67  \begin{tikzpicture}
68   \node[above right] (img) at (0,0) {\includegraphics[width=0.4\textwidth]{end_mill_types.png}};
69   \node at (30pt,0pt) {flat-end mill};
70   \node at (102pt,0pt) {ball-end mill};
71   \node at (174pt,0pt) {toroidal mill};
72  \end{tikzpicture}
73  \caption{The 3 main tool types used in end-milling}
74  \label{fig:end_mill_types}
75 \end{figure}
77 An important parameter for choosing cutter geometry is the effective radius. This notion was initially introduced in \cite{vickers_ball-mills_1989}.
79 For a practical usage, the effective radius $R_{eff}$ can be calculated as follows:
80 \begin{itemize}
81  \item flat-end cutter: its effective radius depends on the tilt angle $\phi$. As defined in \cite{vickers_ball-mills_1989}: $R_{eff}=\frac{R}{\sin{\phi}}$
82  \item ball-end cutter: its effective radius is equal to the tool radius regardless of the tool orientation: $R_{eff}=R$
83  \item toroidal cutter: its effective radius depends on the tool radius $R$, the torus radius $r$, the steepest slope $s$ and the angle between the machining direction and the steepest slope direction $\alpha$. The equation \ref{eq:Reff} proposed by \cite{redonnet_study_2013} details the expression of $R_{eff}$.
84 \begin{equation}\label{eq:Reff}
85  R_{eff}=\frac{(R-r)\cos^2\alpha}{\sin{s}\left(1-\sin^2{\alpha}\sin^2{s}\right)}+r
86 \end{equation}
87 \end{itemize}
89 The spherical tool is widely used in industry because it does not require calculation of the effective radius, which makes the generation of machining paths quite simple. In addition, it leaves smoother marks on the surface than a flat-end tool, which results in less roughness. However, the flat-end cutter allows greater effective radius than its spherical tool counter-part. The toroidal cutter, as shown in \cite{bedi_toroidal_1997} inherits the merits of both previously mentionned cutters. Actually, it may allow, depending on the machining direction and surface caracteristics, greater effective radius than the spherical tool while leaving smoother traces on the surface than a same radius flat-end cutter.
91 Nowadays flat-end mills are, so to speak, no longer used for finishing free-form surfaces because of the pronounced marks they left on the surface, leading to a high roughness in the feed direction \cite{cho_five-axis_1993,kim_effect_1994}. Therefore they are not taken into consideration in the following study.
93 Figure \ref{fig:cuttersSlope} shows step-over distances allowed by ball-end cutter (left) and toroidal cutter (right), when machining in the steepest slope direction (blue cutter) or in a direction perpendicular to this one (green cutter). All the scallop heights are the same across the whole figure. A simple plane have been chosen as surface to make the figure easier to read, but the same results are obtained for free-form surfaces.
95 \begin{figure}[ht]
96  \centering
97  \begin{tikzpicture}
98   \node[above right] (img) at (0,0) {\includegraphics{cuttersSlope.png}};
99   \node at (3cm,0pt) {ball-end mill};
100   \node at (9cm,0pt) {toroidal mill};
101  \end{tikzpicture}
102  \caption{Ball-end mill versus toroidal cutter regarding surface slope}
103  \label{fig:cuttersSlope}
104 \end{figure}
106 On this figure, one can see that for the ball-end mill, the effective radius and thus the step-over distance is the same whatever the milling direction chosen. It is also clear that the use of a toroidal mill in the stepest slope direction leads to better results than the use of a ball-end mill in the same conditions, while the use of a toroidal cutter in the direction perpendicular to the stepest slope direction leads to worse results than the use of a ball-end mill in the same conditions.
108 It has been proven in \cite{djebali_milling_2015} that the effective radius of a toroidal cutter of radius $R$ and $r$ is superior to that obtained by a spherical tool of radius $R$, when the angle $\alpha$ is within the range $\left[\unit{-35}{\degree},\unit{35}{\degree}\right]$. This condition is sufficient regardless of the values of $R$, $r$ and $s$.
110 The scallop height can be calculated either by approximating the geometry of the surface and the tool, as proposed by \cite{warkentin_five-axis_1996} and \cite{vickers_ball-mills_1989}, or by using numerical methods, as does \cite{redonnet_etude_1999} which deduces the scallop given two consecutive path on the surface, the step-over distance, the tool geometry and orientation, by considering the intersections of the tool positions in adjacent path.
113 \subsubsection{Kinematics concerns}\label{sec:kinematics}
115 The production cost of a surface is directly linked to the machining time. Many authors, for example \cite{griffiths_toolpath_1994, djebali_using_2015, makhanov_optimization_2007, park_tool-path_2000, park_tool-path_2003, lazoglu_tool_2009, roman_three-half_2006}, assumed that the machining time is proportional to the length of the toolpath, and thus focus on minimizing the toolpath length rather than the machining time. This approximation is not exact unless the speed of the tool is constant, which is ideal but pretty much not realistic. In practice, the cutter must decelerate when arriving to an acute angle (i.e. a linear path with tangency discontinuity). Likewise, it has to accelerate once this angle passed. Obviously the cutter could not pass throught a tangency discontinuity without lowering its speed to zero. To avoid a complete zero speed, current numerical controller (NC) allows a curved path with a given tolerance, but this tolerance is kept small enough to not have visible impact on real path. Thus feed speed still have to decrease approaching sharp angles and then to increase back once this angle passed. Further explanation (and optimization) of this problem can be found in \cite{pessoles_modelling_2012}.
117 Therefore, the kinematic capabilities of the CNC machine should be considered since the tool displacement caracteristics must be kept within these capabilities.
119 \vspace{\baselineskip}
120 In order to calculate time needed to go throught a linear path portion between two acurate angles some values need to be known:
121 \begin{itemize}
122  \item the nominal feed rate denoted $V$ (\unit{\meter\per\second})
123  \item the maximum acceleration denoted $A_{max}$ (\unit{\meter\per\second\squared})
124  \item the maximum gradient of acceleration, also called jerk, denoted $J_{max}$ (\unit{\meter\per\cubic\second})
125 \end{itemize}
126 Using these notations, three cases may arise:
127 \begin{enumerate}
128  \item nominal feed rate $V$ and maximum acceleration $A_{max}$ are achieved
129  \item nominal feed rate $V$ is achieved but not the maximum acceleration $A_{max}$
130  \item nominal feed rate $V$ and maximum acceleration $A_{max}$ are not achieved
131 \end{enumerate}
133 For a line segment of length $2l$, according to the values of $V$, $A_{max}$ and $J_{max}$, the following characteristic times are also defined:
134 \begin{itemize}
135  \item the time to reach maximum acceleration in case 1: $t_A=\frac{A_{max}}{J_{max}}$
136  \item the time to reach nominal feed rate in case 2: $t_V=\sqrt{\frac{V}{J_{max}}}$
137  \item the time to travel the half length distance $l$ in case 3: $t_l=\sqrt[3]{\frac{l}{J_{max}}}$
138 \end{itemize}
139 These caracteristics times help to distinguish between previously stated cases. The characterization of each case and the corresponding machining time $t$ are then as follows:
140 \begin{itemize}
141  \item \textbf{case 1}: if $t_A < t_V$ and $t_A < t_l$
142  \begin{equation*}
143   t = 2\frac{l}{V} + \frac{A_{max}}{J_{max}} + \frac{V}{A_{max}}
144  \end{equation*}
145  \item \textbf{case 2}: if $t_V < t_A$ and $t_V < t_l$
146  \begin{equation*}
147   t = 2\frac{l}{V} + 2\sqrt{\frac{V}{J_{max}}}
148  \end{equation*}
149  \item \textbf{case 3}: if $t_l < t_A$ and $t_l < t_V$
150  \begin{equation*}
151   t = 4\sqrt[3]{\frac{l}{J_{max}}}
152  \end{equation*}
153 \end{itemize}
155 Hence, the machining time associated with a toolpath increases when the number of acute angles increases eventhough the path length is fixed.
157 \subsection{Problem statement}\label{subsec:problem_statement}
159 As it was previously established, using the toroidal cutter along the steepest slope direction maximize the effective radius over the whole surface, which leads to larger step-over distances $s_{od}$ between adjacent paths, which finally reduces the whole toolpath length. However, if the steepest slope direction is near the perpendicular to the surface's largest direction, then the generated toolpath will be composed of shorter paths. In this case, using a ball-end cutter along the surface's largest direction, hereafter called principal direction, may provide better results in terms of machining time, despite a longer toolpath. Indeed, the kinematic behaviour of the tool, that need to decelerate nearing a paths angle and then accerate again once the paths angle passed, is much more penalizing in the first case than in the second one.
161 In order to illustrate this issue, a rectangular plane surface of width $\unit{56}{\milli\meter}$ and height $\unit{28}{\milli\meter}$ is considered, the slope angle is $\unit{60}{\degree}$ and its direction is perpendicular to the principal direction (figure \ref{fig:mach_plane}). This plane surface is first machined using a toroidal cutter of radii $R=\unit{5}{\milli\meter}$ and $r=\unit{2}{\milli\meter}$ along the steepest slope direction (contained in the plane ($\mathbf{X},\mathbf{Z})$), and after machined using a ball-end cutter of radius $R=\unit{5}{\milli\meter}$ along the principal direction (axis $\mathbf{Y}$). The maximum allowed scallop height is $s_h=\unit{0.01}{\milli\meter}$, which is a standard value in industrial applications. 
163 \begin{figure}[ht]
164   \begin{center}
165     \begin{tikzpicture}
166         \node[above left] (img) at (-0.2cm,0) {\includegraphics{plan_slope.png}};
167         \node at (-3.2cm, -0.3cm) {(a)};
168         \node[above right] (img) at (0.2cm,0) {\includegraphics{plan_principal.png}};
169         \node at (3.2cm, -0.3cm) {(b)};
170     \end{tikzpicture}
171    \end{center}
172    \vspace{-0.8cm}
173    \begin{flushright}
174     \begin{tikzpicture}
175         \node{legend: axes $\mathbf{X}$/$\mathbf{Y}$/$\mathbf{Z}$ correspond to Red/Green/Blue vectors};
176      \end{tikzpicture}
177     \end{flushright}
178    \vspace{-0.5cm}
179  \caption{Machining of a rectangular planar surface: (a) along the steepest slope direction using a toroidal cutter, (b) along the principal direction using a ball-end cutter}
180  \label{fig:mach_plane}
181 \end{figure}
183 Results in terms of effective radius, machining time and toolpath length are reported in table \ref{tab:mach_plane}. The toolpath length is the same, yet it is worth noting that eventhough the effective radius is $9.2\%$ greater in the first case (machining with toroidal cutter along the slope direction), the gain obtained by machining along principal direction using ball-end cutter in terms of machining time is nearly $16\%$.
185 \begin{table}[ht]
186  \centering
187  \begin{tabular}{|c|c|c|c|}
188   \hline
189   machining direction & effective radius & machining time & path length \\
190   \hline
191   steepest slope & \unit{5.46}{\milli\meter} & \unit{43.8}{\second} & \unit{2460}{\milli\meter} \\
192   \hline
193   principal & \unit{5}{\milli\meter} & \unit{36.8}{\second} & \unit{2459}{\milli\meter} \\
194   \hline
195  \end{tabular}
196  \caption{Results of plane surface machined using toroidal cutter along its slope direction and spherical cutter along its principal direction}
197  \label{tab:mach_plane}
198 \end{table}
200 To conduct the following tests, a form-factor $\mu$ is defined for the plane such that $\mu^2 = \frac{w}{h}$, where $w$ is the width of the surface and $h$ its height. According this definition, a caracteristic size $H$ may be defined such that $w = \mu\times H$ and $h = \frac{H}{\mu}$. Various tests were run for different values of the slope angle $s$ and this form-factor $\mu$. It was found that the toroidal cutter tends to present better machining time when the slope is close to \unit{0}{\degree} and form-factor close to~1. Conversely, the spherical cutter tends to be more efficient when the slope is close to \unit{90}{\degree} and form-factor is high.
202 Based on these observations, a well-founded question arises: is it possible to define critical values for the parameters $s$ and $\mu$ that correspond to both cutters having equal machining time, and thus predict the most efficient tool according to given values of the parameters. In the following section, this question is investigated for plane surface.
204 \section{Study of plane surfaces}
206 In this section, the efficiency of the torus tool and spherical tool are investigated on a rectangular plane surface as the steepest slope and the length by width form-factor vary. In order to calculate the machining time, a kinematic model of the CNC machine is introduced.
208 The machining strategy used here is the "\textit{zigzag}" parallel plans, so that a toolpath is composed of a sequence of linear segments put end to end (i.e. NC code: G01). In what follows, the kinematic parameters are fixed to: $J_{max} = \unit{40}{\meter\per\cubic\second}$, $A_{max} = \unit{6}{\meter\per\second\squared}$, $V=\unit{5}{\meter\per\minute}$, and the cutter is defined by outer radius $R = \unit{5}{\milli\meter}$ and torus radius $r = \unit{2}{\milli\meter}$.
210 \subsection{Analytical study}
212 \subsubsection{Toroidal cutter along steepest slope direction}
214 In this section, the machining time using toroidal tool along the slope direction is calculated as a function of the tool geometry, the kinematic parameters and the surface parameters. For any point of the surface, the effective radius of the toroidal tool can be calculated using equation \ref{eq:Reff} with $\alpha = 0$:
216 \begin{equation*}
217  R_{eff} = \frac{R-r}{\sin{s}}+r
218 \end{equation*}
220 The step-over distance is easily calculated for flat surfaces: 
221 \begin{equation} \label{eq:pas_transversal}
222  sod_1 = 2\sqrt{R_{eff}^2-(R_{eff}-s_h)^2}=2\sqrt{2\,s_h\,R_{eff}-s_h^2}
223 \end{equation}
225 The number of paths is given by:
226 \begin{equation*}
227  nb_1 = \frac{\mu\,H}{sod_1}
228 \end{equation*}
230 The toolpath length is equal to the total length of the paths plus the step over distances to move from one path to the next.
232 \begin{equation*}
233  L_1 = \frac{H}{\mu}\times nb_1 + nb_1\times p_t = \frac{H^2}{\sqrt{2\,s_h\frac{R-r}{\sin{s}}+2\,s_h\,r-s_h^2}} + \mu\times H
234 \end{equation*}
236 To calculate the machining time the kinematic case occurring must be found (see section \ref{sec:kinematics}). This depends on the value of $H$, since $t_A$ et $t_V$ are known:
238 \begin{equation*}
239  t_A = \frac{A_{max}}{J_{max}} = \frac{6}{40} = \unit{0.15}{\second}\quad \mbox{ and }\quad t_V = \sqrt{\frac{V}{J_{max}}} = \sqrt{\frac{5}{60\times40}} = \unit{0.045}{\second}
240 \end{equation*}
242 Since $t_V<t_A$, the case 1 is dismissed, and the case 2 applies if $t_V<t_l$, which is equivalent to 
244 \begin{equation*}
245  \frac{V^3}{J_{max}^3} < \frac{H^2}{4\,\mu^2\,J_{max}^2}\quad \mbox{whence } \quad \frac{H}{\mu} > 2\,\sqrt{\frac{V^3}{J_{max}}} = \unit{7.6}{\milli\meter}
246 \end{equation*}
248 In the same way, since $t_v < t_A$, the case 3 is equivalent to $t_l < t_V$, thus $\frac{H}{\mu} < \unit{7.6}{\milli\meter}$. This value can be considered too small for machinable surfaces, in the following, the case 2 will be considered instead. Hence, the machining time for a single path is written as:
250 \begin{equation*}
251  t_p = \frac{H}{\mu\,V} + 2\,\sqrt{\frac{V}{J_{max}}}
252 \end{equation*}
254 The machining time necessary to move from one path to the next needs to be calculated also, it depends on the step over distance. The kinematics of the machine corresponds to case 3 if $sod_1 < \unit{7.6}{\milli\meter}$, which is always true since in the worst case ($s=\unit{0}{\degree}$) $sod_1=2(R-r)+2\sqrt{r^2-(r-s_h)^2}=\unit{6.4}{\milli\meter}$. Therefore case 3 is assumed for the calculation of the machining time between two adjacent paths:
256 \begin{equation*}
257  t_{ip} = 4\sqrt[3]{\frac{sod_1}{2\,J_{max}}}
258 \end{equation*}
260 Finally, the total machining time is given in equation \ref{eq:usinage1}:
262 \begin{equation}
263  T_1 = nb_1\times\left(t_p+t_{ip}\right) = \frac{\mu\,H}{sod_1}\left(\frac{H}{\mu\,V} + 2\sqrt{\frac{V}{J_{max}}}+4\sqrt[3]{\frac{sod_1}{2J_{max}}}\right)
264  \label{eq:usinage1}
265 \end{equation}
267 \subsubsection{Ball-end cutter along principal direction}
269 In this section the surface is machined with a spherical tool along the principal direction (axis $\mathbf{Y}$, green in figure \ref{fig:mach_plane}), which is orthogonal to the steepest slope direction (axis $\mathbf{X}$, red in figure \ref{fig:mach_plane}) and the machining time is calculated. In this case, the effective radius is $R_{eff} = R$. It is worth noting that in this case, the toroidal cutter will present an minimal effective radius of $r$ according to this direction. Thus in this case, the ball-end cutter is much more effective than the toroidal cutter.
271 The step-over distance is written as:
273 \begin{equation*}
274  sod_2 = 2\sqrt{2\,s_hR-s_h^2}
275 \end{equation*}
277 The number of paths in this case is:
279 \begin{equation*}
280  nb_2 = \frac{H}{\mu\times sod_2} = \frac{H}{2\,\mu\,\sqrt{2\,s_h\,R-s_h^2}}
281 \end{equation*}
283 Here again, the toolpath length is equal to the total length of the paths plus the step over distances to move from one path to the next:
285 \begin{equation*}
286  L_2 = nb_2\left(\frac{H}{\mu}+2\,\sqrt{2\,s_h\,R-s_h^2}\right)
287 \end{equation*}
289 Identically to the previous section, the kinematics of the machine is represented by case 2. Thus, the machining time corresponding to one path is calculated:
291 \begin{equation*}
292  t_p = \frac{H\,\mu}{V} + 2\sqrt{\frac{V}{J_{max}}}
293 \end{equation*}
295 And the machining time between two adjacent paths is
297 \begin{equation*}
298  t_{ip} = 4\sqrt[3]{\frac{sod_2}{2\,J_{max}}}
299 \end{equation*}
301 Finally, the total machining time is expressed in equation \ref{eq:usinage2}:
303 \begin{equation}
304  T_2 = nb_2\times\left(t_p+t_{ip}\right) = \frac{H}{\mu\times sod_2}\left(\frac{H\,\mu}{V} + 2\,\sqrt{\frac{V}{J_{max}}}+4\,\sqrt[3]{\frac{sod_2}{2J_{max}}}\right)
305  \label{eq:usinage2}
306 \end{equation}
308 \subsubsection{Critical parameters form-factor (width/height) and slope}
309 In this section, the machining time $T_1$ associated with toroidal cutter along steepest slope direction and its counterpart $T_2$ associated to ball-end cutter along principal direction of the plane surface are compared.
311 The kinematic parameters $J_{max}$, $A_{max}$ and $V$, as well as the radii $R$ and $r$ are supposed to be known. We therefore seek to determine which cutter geometry and machining direction is better as a function of the slope $s$ and the form-factor $\mu$ of the surface.
313 As the form-factor $\mu$ increases, the number of paths in case of using toroidal cutter surpasses its counterpart using spherical cutter, since the steepest slope and principal directions are orthogonal. 
315 On the other hand, when the slope tends to 0, the effective radius of the toroidal cutter tends to infinity which maximizes the transverse pitch and favors machining with toroidal cutter in the direction of steepest slope. Whereas for a slope equal to $\pi/2$, the effective radius of both tools is equal to $R$.
317 For a given slope $s$, the critical form-factor $\mu_c$ is defined such as the machining times $T_1$ and $T_2$ asociated to both cutters and directions are equal:
319 \begin{equation*}
320  \begin{split}
321  T_2 = T_1 & \Leftrightarrow \frac{H}{\mu\,sod_2}\left(\frac{H\,\mu}{V}+2\sqrt{\frac{V}{J_{max}}}+4\,\sqrt[3]{\frac{sod_2}{2\,J_{max}}}\right) = \frac{\mu\,H}{sod_1}\left(\frac{H}{\mu\,V} + 2\,\sqrt{\frac{V}{J_{max}}}+4\,\sqrt[3]{\frac{sod_1}{2\,J_{max}}}\right) \\
322   & \Leftrightarrow \frac{H\,\mu}{V}+2\,\sqrt{\frac{V}{J_{max}}}+4\,\sqrt[3]{\frac{sod_2}{2\,J_{max}}} = \mu^2\frac{sod_2}{sod_1}\left(2\,\sqrt{\frac{V}{J_{max}}}+4\,\sqrt[3]{\frac{sod_1}{2J_{max}}}\right)+\mu^2\frac{sod_2}{sod_1}\frac{H}{\mu\,V} \\
323   & \Leftrightarrow \frac{sod_2}{sod_1}\left(2\,\sqrt{\frac{V}{J_{max}}}+4\,\sqrt[3]{\frac{sod_1}{2\,J_{max}}}\right)\mu^2+\frac{H}{V}\left(\frac{sod_2}{sod_1}-1\right)\mu-2\,\sqrt{\frac{V}{J_{max}}}-4\,\sqrt[3]{\frac{sod_2}{2J_{max}}} = 0
324  \end{split}
325 \end{equation*}
327 The last equation is a second degree polynomial in $\mu$ written:
329 \begin{equation} \label{eq:mu}
330  a\,\mu^2-b\,\mu-c=0
331 \end{equation}
333 With:
335 \begin{gather*}
336  a = \frac{sod_2}{sod_1}\left(2\,\sqrt{\frac{V}{J_{max}}}+4\,\sqrt[3]{\frac{sod_1}{2\,J_{max}}}\right) \\
337  b = \frac{H}{V}\left(1-\frac{sod_2}{sod_1}\right) \\
338  c = 2\,\sqrt{\frac{V}{J_{max}}}+4\,\sqrt[3]{\frac{sod_2}{2\,J_{max}}}
339 \end{gather*}
341 It is trivial that $a$ and $c$ are positive, moreover, since $0<s<\pi/2$ then $0<\sin{s} < 1$ and
343 \begin{equation*}
344  \frac{R-r}{\sin{s}}+r > R \quad \mbox{thus}\quad sod_1 > sod_2
345 \end{equation*}
347 As a result $b > 0$. The discriminant of equation \ref{eq:mu} is $\Delta=b^2+4ac > 0$. Equation \ref{eq:mu} admits therefore two solutions, one of which is negative since:
349 \begin{equation*}
350  \frac{b-\sqrt{\Delta}}{2a} = \frac{b-\sqrt{b^2+4ac}}{2a} < 0, \mbox{ because } 4ac > 0 \mbox{ and } 2a > 0
351 \end{equation*}
353 Hence, the expression of critical form-factor $\mu_c$ is derrived for a given value of slope $s$:
355 \begin{equation}\label{eq:fc}
356  \mu_c = \frac{\frac{H}{V}\left(1-\frac{sod_2}{sod_1}\right) + \sqrt{\frac{H^2}{V^2}\left(1-\frac{sod_2}{sod_1}\right)^2+16\,\frac{sod_2}{sod_1}\left(\sqrt{\frac{V}{J_{max}}}+2\,\sqrt[3]{\frac{sod_1}{2J_{max}}}\right)\left(\sqrt{\frac{V}{J_{max}}}+2\,\sqrt[3]{\frac{sod_2}{2\,J_{max}}}\right)}}{4\,\frac{sod_2}{sod_1}\left(\sqrt{\frac{V}{J_{max}}}+2\,\sqrt[3]{\frac{sod_1}{2\,J_{max}}}\right)}
357 \end{equation}
359 If $\mu > \mu_c$ then $af^2-bf-c > 0$, which means that $T_1 > T_2$, and therefore machining along principal direction using a spherical cutter is more efficient. Conversely, if $\mu < \mu_c$ then $af^2-bf-c < 0$ and $T_1 < T_2$, machining along the steepest slope direction using toroidal cutter should then be privileged. These results demonstrate the earlier statements.
361 In the same way, for a given form-factor $\mu$, the critical slope $s_c$ is defined such that the machining times $T_1$ and $T_2$ are equal:
363 \begin{equation*}
364  \begin{split}
365   T_2 = T_1 & \Leftrightarrow T_2 = \frac{\mu\,H}{sod_1}\left(\frac{H}{\mu\,V} + 2\,\sqrt{\frac{V}{J_{max}}}+4\,\sqrt[3]{\frac{sod_1}{2\,J_{max}}}\right) \\
366   & \Leftrightarrow \frac{T_2}{\mu\,H}sod_1-\frac{4}{\sqrt[3]{2\,J_{max}}}\sqrt[3]{sod_1}-\frac{H}{\mu\,V}-2\,\sqrt{\frac{V}{J_{max}}} = 0
367  \end{split}
368 \end{equation*}
370 The last equation is a third degree polynomial in $z = \sqrt[3]{sod_1}$ of the form:
372 \begin{equation}
373  z^3-p\,z-q = 0
374  \label{eq:pt1}
375 \end{equation}
377 Where:
379 \begin{gather*}
380  p = \frac{4\,\mu\,H}{T_2\,\sqrt[3]{2\,J_{max}}} \\
381  q = \frac{\mu\,H}{T_2}\left(\frac{H}{\mu\,V}+2\,\sqrt{\frac{V}{J_{max}}}\right)
382 \end{gather*}
384 It is straight forward that $p$ and $q$ are positive. The Cardano's formula gives the general solution for equation~\ref{eq:pt1}. The discriminant of this equation is: 
386 \begin{equation*}
387  \Delta = 4\,p^3-27\,q^2 = \frac{\mu^2\,H^2}{T_2^2}\left(128\,\frac{\mu\,H}{J_{max}\,T_2}-27\,\left(\frac{H}{\mu\,V}+2\,\sqrt{\frac{V}{J_{max}}}\right)^2\right)
388 \end{equation*}
390 Using numerical values of $V$ et $J_{max}$, limiting the width by height form-factor to 9 (which means $\mu<3$) and assuming surfaces big enough so that machining times order of magnitude is superior to a second ($T_2>\unit{1}{\second}$), it comes that:
392 \begin{equation*}
393  \Delta = \frac{\mu^2\,H^2}{T_2^2}\left(3.2\,\frac{\mu\,H}{T_2}-27\,\left(12\,\frac{H}{\mu}+0.1\right)^2\right) < \frac{\mu^2\,H^2}{T_2^2}\left(9.6\,H-27\left(4\,H+0.1\right)^2\right)
394 \end{equation*}
396 The function $H \rightarrow 9.6\,H-27\left(4\,H+0.1\right)^2$ is negative for $H>0.01$, consequently $\Delta < 0$ for surfaces of area superior to $\unit{100}{\milli\meter\squared}$, this hypothesis is fairly acceptable for machinable surfaces. Hence, equation \ref{eq:pt1} admits one real solution (et two conjugate complexes) that is:
398 \begin{equation*}
399  z = \sqrt[3]{\frac{-q+\sqrt{\frac{-\Delta}{27}}}{2}} + \sqrt[3]{\frac{-q-\sqrt{\frac{-\Delta}{27}}}{2}}
400 \end{equation*}
402 Thus, the expression of the critical slope for a given form-factor $\mu$ can be obtained from
403 \begin{equation*}
404 \begin{split}
405  sod_1^2 = z^6 & \Leftrightarrow 4\,\left(2\,s_h\,R_{eff}-s_h^2\right) = z^6\\
406  & \Leftrightarrow R_{eff} = \frac{s_h}{2} - \frac{z^6}{8\,s_h} =\frac{R-r}{\sin{s_c}}+r
407 \end{split}
408 \end{equation*}
410 and finally
411 \begin{equation}\label{eq:sc}
412 s_c = \arcsin{\left(\frac{8\,s_h\left(R-r\right)}{z^6+4\,s_h^2-8\,s_h\,r}\right)}
413 \end{equation}
416 If $s < s_c$ then $\sqrt[3]{sod_1}$ is superior to the solution of equation \ref{eq:pt1} and $z^3-pz-q > 0$, which means that $T_2 > T_1$, the use of toroidal cutter along steepest slope direction should then be preferred. Conversely, if $s > s_c$ then $\sqrt{sod_1}$ is inferior to the solution of equation \ref{eq:pt1} and $z^3-pz-q < 0$, that is equivalent to $T_2 < T_1$. In this case, the spherical tool along the principal direction is more efficient. This result is consistent with the fact that the effective radius (and step-over distance $sod_1$) of toroidal cutter decreases as the slope $s$ increases.
418 \subsection{Numerical validation}
420 Analytical expressions for critical parameters $\mu_c$ and $s_c$ are given by equations \ref{eq:fc} and \ref{eq:sc} respectively. This section is devoted to checking these expressions using numerical simulations. The machining simulation process used to compute the toolpath for a given parametric surface as a sequence of interpolation points is based on intersection of isoparametric curves and parallel planes. Its implementation heavily relies on algorithms developed in \cite{barnhill_surface/surface_1987}.
422 First of all, back to the example given in section \ref{subsec:problem_statement}, the slope was $s=\unit{60}{\degree}$ while the form-factor is: $\mu=\sqrt{\frac{\unit{56}{\milli\meter}}{\unit{28}{\milli\meter}}}=\sqrt{2}=1.41$. Using equation \ref{eq:fc}, the critical form-factor is $\mu_c(s)=1.084<\mu$, which is coherent with the fact that machining time using ball-end cutter along principal direction was shorter. As shown by this example, the proposed procedure is able to provide a good hint for the cutter to use in order to obtain the best results. Then, it is possible to improve the procedure by using directly critical parameters.
424 Then, the machining times $T_1$ and $T_2$ are verified: Both analytical and numerical machining times are evaluated on a grid of $s$ and $\mu$ values such as $s\in\left[\unit{0}{\degree},\unit{90}{\degree}\right]$ and $\mu\in\left[1,\sqrt{10}\right]$. The relative error, defined in equation \ref{eq:rel_error}, is plotted in figure \ref{fig:rel_error}.
426 \begin{equation}
427  \epsilon_i = \frac{\left|T_i^{\mbox{num}}-T_i^{\mbox{anal}}\right|}{\max{\left(T_i^{\mbox{num}},T_i^{\mbox{anal}}\right)}}\quad \mbox{ for } i=1,2
428  \label{eq:rel_error}
429 \end{equation}
431 \begin{figure}
432  \centering
433  \begin{subfigure}{0.4\textwidth}
434   \centering
435   \includegraphics[width=\linewidth]{T1check.jpg}
436   \caption{}
437  \end{subfigure}
438  \begin{subfigure}{0.4\textwidth}
439   \centering
440   \includegraphics[width=\linewidth]{T2check.jpg}
441   \caption{}
442  \end{subfigure}
443  \caption{Machining times relative errors: (a) Time $T_1$ along the steepest slope direction using a toroidal cutter, (b) time $T_2$ along the principal direction using a ball-end cutter}
444  \label{fig:rel_error}
445 \end{figure}
447 The mean relative error for machining time $T_1$ is $\overline{\epsilon_1}=0.36\%$ while for $T_2$ it is $\overline{\epsilon_2}=4.75\%$. As expected, the error $\epsilon_2$ does not depend on the slope $s$ since machining a flat surface with a spherical tool is not affected by the surface tilt angle.
449 This error is mainly due to the approximation of the number of paths by the width (or height, acording to machining direction) divided by the step over distance, which is not an integer number. Moreover, the numerical code uses margins from the initial and final borders. As a result, the analytic machining times overestimates its numeric counter-part by nearly the time corresponding to one path. This would also explain the fact that $\epsilon_1 < \epsilon_2$ since the length of a single path is bigger in the second case.
451 Now that machining time is checked for both tools and directions, the critical parameters $s_c$ and $\mu_c$ are also verified: For this purpose, a sample of values of the form-factor $\mu$ is considered, then $s_c$ is calculated for each $\mu$ in this sample and the (numerical) machining times $T_1$ and $T_2$ should be equal for the couple $\left(\mu,s_c\right(\mu))$. In the same way, the critical form-factor $\mu_c$ is verified. The figure \ref{fig:sc} shows the evolution of $s_c(\mu)$ and the relative error $\epsilon_c(\mu)$ between times $T_1\left(\mu,s_c\right(\mu))$ and $T_2\left(\mu,s_c\right(\mu))$, while figure \ref{fig:fc} shows the evolution of $\mu_c(s)$ and the relative error $\epsilon_c(s)$ between $T_1\left(s,\mu_c\right(s))$ and $T_2\left(s,\mu_c\right(s))$. The error in both cases is around $5\%$, which confirms the validity of the critical parameters expressions. It is worth noting that the error is higher for large form-factors and small slopes, in which case the paths are longer along the principal direction and the approximation of the paths number is source of error.
453 \begin{figure}[ht]
454  \centering
455  \includegraphics[width=0.6\linewidth]{sc_check.jpg}
456  \caption{Evolution of critical slope $s_c(\mu)$ and machining time relative error $\epsilon_c(\mu)$ with respect to form-factor $\mu$}
457  \label{fig:sc}
458 \end{figure}
460 \begin{figure}
461  \centering
462  \includegraphics[width=0.6\linewidth]{fc_check.jpg}
463  \caption{Evolution of critical form-factor $\mu_c(s)$ and machining times relative error $\epsilon_c(s)$ with respect to slope $s$} 
464  \label{fig:fc}
465 \end{figure}
467 To sum up, the machining times analytically calculated and the critical parameters were numerically checked. Hence, our appraoch allows to select, for a given surface, the most efficient tool geometry and machining direction without calculating machining times, but only using the slope and form factor, which is straight forward for rectangular flat surfaces. In fact, given a surface and its slope $s$, its form factor $\mu$ is compared to the critical form factor $\mu(s)$ and if $\mu<\mu_c(s)$, then the toroidal cutter along steepest slope direction is selected. Otherwise, the ball-end cutter along principal direction is advised. Equivalently, the slope $s$ can be compared to the critical slope $s_c(\mu)$ and toroidal cutter is privileged if $s<s_c(\mu)$, otherwise the ball-end cutter is selected. The extension of this approach is treated in the following section.
469 \section{Extension to free-form surfaces}
471 The objective of this section is to extend the proposed approach on flat rectangular surfaces to general freeform surfaces. First, the theoretical framework is presented, aiming to give a definition of critical parameters. On the base of these critical parameters, an efficient selection of cutter type and machining direction can be performed. Then, the formulated approach is benchmarked with two free form surfaces test case, in order to investigate its validity. 
473 \subsection{Theoretical study}
475 The first question to arise when generalizing to free form surfaces is how to define the machinig directions. To do so a $(u,v)$ mesh defined by isoparametric curves is considered in order to obtain a tessellation of the surface. This way, a bunch of elementary surface quads is obtained. Then, for each quad, a sample point is defined as the center of the quad. The machining directions are defined using these sample points denoted $\mathbf{S_i}, i=0..n$.
477 In the case of a plane, the steepest slope direction is the same whatever the point of the surface taken in consideration. For a freeform surface, the steepest slope direction may vary for any point taken into consideration. In this case the steepest slope direction of the surface is evaluated by the mean of the steepest slope direction calculated at each sample point. This choice is discussed in section \ref{sec:discuss}.
479 For a rectangular flat surface, the principal direction, along which the surface is the most extended, was parallel to its largest border. It could be seen also, for any surface, as the direction of the line that minimizes the sum of distances from the points of the surface to their orthogonal projection on that line. According the tessellation of the surface previously defined, this sum can be calculated discretely relying on the sample points $\mathbf{S_i}$.
481  The principal direction corresponds to the line that minimizes the sum of distances $d_i$ from the sample points $\mathbf{S_i}$ to their orthogonal projection on that line. This principle is illustrated on figure \ref{fig:pdir_principle} for few sample points. Thus, finding the principal direction is equivalent to a well-known Principal Component Analysis \cite{abdi_principal_2010} (PCA).
483 \begin{figure}[ht]
484  \centering
485  \input{imagesA0/pdir_principle.pdf_tex}
486  \caption{Evaluation of the principal direction for a freeform surface: Principle}
487  \label{fig:pdir_principle}
488 \end{figure}
490 \subsubsection{Using the covariance matrix to define the principal direction}
492 Principal Component Analysis is a multivariate statistical procedure for data analysis. It is mainely used for dimensionality-reduction: to condense the information contained in a large number of original variables into a smaller set of new orthogonal variables through linear combinations, with a minimum loss of information. PCA is also used for interpretation of large data set, it reveals relationships between correlated variables. Mathematically, PCA depends upon the eigen‐decomposition of positive semi‐definite matrices and upon the Singular Value Decomposition (SVD) of rectangular matrices.
494 In our context, for a given surface $\mathcal{S}$, the variables are the coordinates of surface points in the three dimensionnal Euclidian space: $\left(S_x,S_y,S_z\right)$. PCA is performed over the points of the surface $\mathcal{S}$ through eigen-decomposition of its covariance matrix, which gives three orthogonal eigen-vectors $\mathbf{S_I}$, $\mathbf{S_{II}}$ and $\mathbf{S}_{III}$ corresponding to the eigen-values $\lambda_I > \lambda_{II} > \lambda_{III}$. Note that $\mathbf{S_I}$ is the vector that fits the best the points of $\mathcal{S}$. Indeed, it minimizes the sum of distances from the points to the orthogonal projection on itself. Thus, $\mathbf{S_I}$ is the principal direction of the free-form surface $\mathcal{S}$. The covariance matrix $C$ of the surface $\mathcal{S}$ is 
496 \begin{equation}
497  C=\begin{pmatrix}
498         \var(S_x) & \cov(S_{x}S_y) & \cov(S_{x}S_z) \\
499         \cov(S_{x}S_y) & \var(S_y) & \cov(S_{y}S_z) \\
500         \cov(S_{x}S_z)& \cov(S_{y}S_z) & \var(S_z)
501     \end{pmatrix}
502     \label{eq:cov_mat}
503 \end{equation}
505 \hfill \begin{tabular}{rlcl}
506  where & $\var(S_x)=\E(S_x^2) - \E(S_x)^2$ & and & $\cov(S_{x}S_y)=\E(S_xS_y) - \E(S_x)\E(S_y)$ \\
507  ~     & $\var(S_y)=\E(S_y^2) - \E(S_y)^2$ & ~   & $\cov(S_{x}S_z)=\E(S_xS_z) - \E(S_x)\E(S_z)$ \\
508  ~     & $\var(S_z)=\E(S_z^2) - \E(S_z)^2$ & ~   & $\cov(S_{y}S_z)=\E(S_xS_z) - \E(S_x)\E(S_z)$
509 \end{tabular}
511 In these expressions, $\E(X)$ is the mean of quantity $X$ over the surface. Using the $n$ sample points previously defined it is calculated as  a discrete sum $\E(X)=\frac{1}{n}\sum_{i=0}^n\,X$. Eigen-vectors are orthogonal because the covariance matrix is symmetric. Since the cutter must remain tangent to surface during machining, and surfaces are geometric varieties of dimension 2, eigen-vector $\mathbf{S_{II}}$ represents the direction along wich the surface is less extended, which justifies that the steepest slope direction is considered orthogonal to principal direction $\mathbf{S_I}$. The eigen-vector $\mathbf{S_{III}}$ is not considered since $\lambda_{III}$ is equal to zero for flat surfaces. In general, the smaller $\lambda_{III}$ is, the more the surface is flat.
513 \subsubsection{Using eigen values ratio to approximate the width/height form-factor}
515 It is worth noting that the eigen vectors $\mathbf{S_I}$ and $\mathbf{S_{II}}$ span the plane that fits the best the surface $\mathcal{S}$, again in terms of minimizing the sum of distances from points of $\mathcal{S}$ to their orthogonal projection on this plane. The eigen values $\lambda_I$ and $\lambda_{II}$ represents the variance of the projected points on $\mathbf{S_I}$ respectively $\mathbf{S_{II}}$. It is straightforward, for a continuous surface, that its projection on a vector is a continuous segment of length proportional to the standard deviation of the projected points. As a result, the width by height fraction of a free form surface could be approximated by the square root of eigen values fraction. Equation \ref{eq:form-factor_approx} gives the approximation of the form-factor parameter $\mu$ (defined previously for rectangular flat surfaces as the square root of width by height). This approximation has been verified for flat rectangular surfaces and appears to be exact in this case.
517 \begin{equation}
518  \tilde{\mu} = \sqrt[4]{\frac{\lambda_I}{\lambda_{II}}}
519  \label{eq:form-factor_approx}
520 \end{equation}
522 Contrary to flat surfaces, the steepest slope of free form surfaces is not constant. A first approximation could be the mean of points slopes over the entier surface. In that case the approximating slope is given by equation \ref{eq:slope_app1}. A second approximation relying on PCA consists in using the slope of the plane spanned by eigen vectors $\mathbf{S_I}$ and $\mathbf{S_{II}}$, since its the plane that best fits the surface. Equation \ref{eq:slope_app2} gives the expression of the approximating slope as function of eigen vectors. Both approximations are exact for flat surfaces.
524 \begin{equation}
525  \tilde{s} = \mbox{E}(s)
526  \label{eq:slope_app1}
527 \end{equation}
529 \begin{equation}
530  \tilde{s} = \frac{\pi}{2} - \arccos{\left(\frac{\mathbf{S_I}\times\mathbf{S_{II}}}{\lVert\mathbf{S_I}\times\mathbf{S_{II}}\rVert}\cdot\mathbf{Z}\right)}
531  \label{eq:slope_app2}
532 \end{equation}
534 In the same way, the steepest slope direction of a free form surface $\mathcal{S}$ is approximated either by the mean of steepest direction over the surface, or the steepest slope of the plane spanned by $\mathbf{S_I}$ and $\mathbf{S_{II}}$, which is the projection of $ \mathbf{S_I}\times\mathbf{S_{II}}$ on the horizontal plane $\left(\mathbf{X},\mathbf{Y}\right)$.
536 \subsection{Practical application to free-form surfaces}
538 After extending the definition of critical parameters, the procedure of prediciting the best cutter and machining direction for free-form surfaces is presented in following:
540 \begin{enumerate}
541  \item Define an isoparametric regular meshing over surface $\mathcal{S}$
542  \item Calculate covariance matrix $C$ and normal vectors $n_i$ over the mesh
543  \item Eigen-decomposition of $C$ to find $\lambda_I$, $\lambda_{II}$, $\mathbf{S_I}$, $\mathbf{S_{II}}$ and compute form factor $\tilde{\mu}$ 
544  \item Using normal vectors to calculate the slope $\tilde{s}$ and the steepest slope direction (should be parallel to $\mathbf{S_{II}}$)
545  \item Define characteristic size $H$
546  \item Calculate critical parameters: $s_c(\tilde{\mu})$ using equation \ref{eq:sc}, or $\mu_c(\tilde{s})$ using equation \ref{eq:fc}
547  \item Compare with critical parameters: if $s_c(\tilde{\mu}) < \tilde{s}$ or $\mu_c(\tilde{s}) < \tilde{\mu}$, then choose ball-end cutter along principal direction, otherwise choose toroidal cutter along steepest slope direction.
548 \end{enumerate}
550 In order to test the aforementioned approach, a benchmark with two test case free form surfaces is done. Both surfaces are chosen such as the principal direction is nearly orthogonal with the approximation of steepest slope direction, and discretised using a regular isoparametric $80\times80$ mesh. Machining times corresponding to toroidal cutter along steepest slope direction, and ball-end cutter along principal direction are compared and used to confirm the result predicted by critical parameters $\mu_c(\tilde{s})$ and $s_c(\tilde{\mu})$.
552 \subsubsection{Test case 1}
554 The first test case is a Bezier surface of $3\times3$ control points given in table \ref{tab:tile}. The surface is illustrated in figure \ref{fig:tile} where the axis $\mathbf{X}$, respectively $\mathbf{Y}$ and $\mathbf{Z}$ is represented by the red, respectively green and blue vectors.
556 \begin{table}[ht]
557  \centering
558  \begin{tabular}{|c|c|c|c|c|c|c|c|c|}
559   \hline
560   point 0,0 & point 0,1 & point 0,2 & point 1,0 & point 1,1 & point 1,2 & point 2,0 & point 2,1 & point 2,2 \\
561   \hline
562   $\begin{matrix}
563    0.0 \\
564    -15.32 \\
565    -12.85
566   \end{matrix}$ & 
567   $\begin{matrix}
568    0.0 \\
569    -6.42 \\
570    -7.66
571   \end{matrix}$ &
572   $\begin{matrix}
573    0.0 \\
574    15.32 \\
575    12.85
576   \end{matrix}$ &
577   $\begin{matrix}
578    40.0 \\
579    -18.53 \\
580    -9.02
581   \end{matrix}$ & 
582   $\begin{matrix}
583    40.0 \\
584    -9.64 \\
585    11.49
586   \end{matrix}$ &
587   $\begin{matrix}
588    40.0 \\
589    12.10 \\
590    16.68
591   \end{matrix}$ &
592   $\begin{matrix}
593    80.0 \\
594    -28.17 \\
595    2.46
596   \end{matrix}$ &
597   $\begin{matrix}
598    80.0 \\
599    -22.49 \\
600    26.81
601   \end{matrix}$&
602   $\begin{matrix}
603    80.0 \\
604    2.46 \\
605    28.17
606   \end{matrix}$\\\hline
607  \end{tabular}
608  \caption{Cartesian coordinates of test surface 1 control points}
609  \label{tab:tile}
610 \end{table}
612 \begin{figure}[ht]
613  \centering
614  \includegraphics[width=0.4\linewidth]{inclined_tile.png}
615  \caption{Test surface 1 with its principal (purple) and steepest slope (black) directions}
616  \label{fig:tile}
617 \end{figure}
619 The black vector shows the steepest slope direction while the purple one shows the principal direction. The approximate slope $\tilde{s}$ is equal to \unit{0.747}{\radian}=\unit{42.8}{\degree} when calculated as the mean of slopes over the mesh and equals \unit{0.739}{\radian}=\unit{42.34}{\degree} when calculated as the slope of the plane spanned by eigen vectors $\mathbf{S_I}$ and $\mathbf{S_{II}}$. The steepest slope direction (speepest slope vector projected in $(\mathbf{X},\mathbf{Y})$ plane) forms an angle with axis $\mathbf{X}$ equal to \unit{1.12}{\radian}=\unit{64.17}{\degree} using the first approximation and \unit{1.169}{\radian}=\unit{66.97}{\degree} using the second. The PCA performed on the surface enables the calculation of the form-factor: $\tilde{\mu} = 1.439$ and the principal direction defined by an angle of \unit{-0.17}{\radian}=\unit{-9.74}{\degree} with the axis $\mathbf{X}$. Results of machining along both directions are summarized in table \ref{tab:tile_result}. the numerical simulation of machining takes nearly \unit{3}{\second}. Figure \ref{fig:tile_mach} shows machining toolpaths in both cases.
622 \begin{table}
623  \centering
624  \begin{tabular}{|c|c|c|}
625  \hline
626    & machining time & toolpath length \\\hline
627   toroidal tool along steepest slope direction & \unit{91.3}{\second} & \unit{5606}{\milli\meter} \\\hline
628   ball-end tool along principal direction & \unit{79.7}{\second} & \unit{5687}{\milli\meter} \\\hline
629  \end{tabular}
630  \caption{machining times and toolpath lengths for test surface 1}
631  \label{tab:tile_result}
632 \end{table}
634 \begin{figure}
635  \centering
636  \begin{subfigure}{0.4\textwidth}
637   \centering
638   \includegraphics[width=\linewidth]{inclinedtile_toric.png}
639   \caption{}
640  \end{subfigure}
641  \begin{subfigure}{0.4\textwidth}
642   \centering
643   \includegraphics[width=\linewidth]{inclinedtile_spheric.png}
644   \caption{}
645  \end{subfigure}
646  \caption{Machining of test case surface 1: (a) along the steepest slope direction using a toroidal cutter, (b) along the principal direction using a ball-end cutter}
647  \label{fig:tile_mach}
648 \end{figure}
650 From the obtained results, one can notice the importance of taking account of the kinemtics of CNC machine. In fact, eventhough the toolpath length is slightely shorter for toroidal tool, the ball end tool presents a better machining time. Our approach is tested on this surface: The caracteristic size $H$ of the plane spanned by eigen-vectors can be deduced (see equation \ref{eq:h}) from the form-factor $\tilde{\mu} = 1.439$ and the size of the surface acording to one of the eigen-vectors $\mathbf{S_I}$ or $\mathbf{S_{II}}$. Knowing that $\tilde{s} = \unit{42.3}{\degree}$, the critical form-factor can be calculated using equation \ref{eq:fc} and is equal to $\mu_c(\tilde{s}) = 1.342$. Since $\tilde{\mu} > \mu_c$, our approach predicts that ball-end tool will present a better machining time, which corresponds to the numerical results. Consequently, the prediction is correct on this first test case.
652 \begin{equation}
653  H = \frac{\unit{80}{\milli\meter}}{\tilde{\mu}} = \unit{40}{\milli\meter}\times\tilde{\mu} = \unit{56.5}{\milli\meter}
654  \label{eq:h}
655 \end{equation}
657 \subsubsection{Test case 2}
659 The second test case is a Bezier surface of $4\times4$ control points given in table \ref{tab:choi}. This surface was previously used in \cite{keun_choi_tool_2007} for free form surfaces machining tests. The surface is illustrated in figure \ref{fig:choi}, with same colors as previous test case for axes $\mathbf{X}$, $\mathbf{Y}$ and $\mathbf{Z}$. Again, the steepest slope and principal directions are nearly orthogonal, which is important for testing the validity of the proposed approach when extended to free-form surfaces. The approximate slope $\tilde{s}$ is equal to \unit{0.412}{\radian}=\unit{23.06}{\degree} when calculated as the mean of slopes over the mesh and equals \unit{0.299}{\radian}=\unit{17.13}{\degree} when calculated as the slope of the plane spanned by eigen vectors $\mathbf{S_I}$ and $\mathbf{S_{II}}$ and the steepest slope direction is aligned with axis $\mathbf{X}$ using both approximations. Eigen-values are then used to calculate the form-factor: $\tilde{\mu} = 1.093$ and the principal direction is defined by an angle of \unit{1.57}{\radian}=\unit{90.0}{\degree} with the axis $\mathbf{X}$. Results of machining along both directions are summarized in table \ref{tab:choi_result}. The numerical simulation of machining takes nearly \unit{3}{\second}. Figure \ref{fig:choi_mach} shows machining toolpaths in both cases.
661 \begin{table}[ht]
662  \centering
663  \begin{tabular}{|c|c|c|c|c|c|c|c|c|}
664   \hline
665   point 1 & point 2 & point 3 & point 4 & point 5 & point 6 & point 7 & point 8 \\
666   \hline
667   $\begin{matrix}
668    7.92 \\
669    0.0 \\
670    37.26
671   \end{matrix}$ & 
672   $\begin{matrix}
673    6.33 \\
674    20.4 \\
675    29.81
676   \end{matrix}$ &
677   $\begin{matrix}
678    6.33\\
679    40.8 \\
680    29.81
681   \end{matrix}$ &
682   $\begin{matrix}
683    7.92 \\
684    61.2 \\
685    37.26
686   \end{matrix}$ & 
687   $\begin{matrix}
688    23.72 \\
689    0.0 \\
690    26.11
691   \end{matrix}$ &
692   $\begin{matrix}
693    22.14 \\
694    20.4 \\
695    18.66
696   \end{matrix}$ &
697   $\begin{matrix}
698    22.14 \\
699    40.8 \\
700    18.66
701   \end{matrix}$ &
702   $\begin{matrix}
703    23.72 \\
704    61.2 \\
705    26.11
706   \end{matrix}$\\
707   \hline
708   point 9 & point 10 & point 11 & point 12 & point 13 & point 14 & point 15 & point 16 \\
709   \hline
710   $\begin{matrix}
711    42.70 \\
712    0.0 \\
713    29.87
714   \end{matrix}$ & 
715   $\begin{matrix}
716    41.12 \\
717    20.4 \\
718    22.42
719   \end{matrix}$ &
720   $\begin{matrix}
721    41.12 \\
722    40.8 \\
723    22.42
724   \end{matrix}$ &
725   $\begin{matrix}
726    42.70 \\
727    61.2 \\
728    29.87
729   \end{matrix}$ & 
730   $\begin{matrix}
731    56.02 \\
732    0.0 \\
733    19.25
734   \end{matrix}$ &
735   $\begin{matrix}
736    54.44 \\
737    20.4 \\
738    11.79
739   \end{matrix}$ &
740   $\begin{matrix}
741    54.44 \\
742    40.8 \\
743    11.79
744   \end{matrix}$ &
745   $\begin{matrix}
746    56.02 \\
747    61.2 \\
748    19.25
749   \end{matrix}$\\
750   \hline
751  \end{tabular}
752  \caption{Cartesian coordinates of test surface 2 control points}
753  \label{tab:choi}
754 \end{table}
756 \begin{figure}[ht]
757  \centering
758  \includegraphics[width=0.4\linewidth]{inclined_choi.png}
759  \caption{Test surface 2 with its principal (purple) and steepest slope (black) directions}
760  \label{fig:choi}
761 \end{figure}
763 \begin{table} [ht]
764  \centering
765  \begin{tabular}{|c|c|c|}
766  \hline
767    & machining time & toolpath length \\\hline
768   toroidal tool along steepest slope direction & \unit{71.8}{\second} & \unit{4725}{\milli\meter} \\\hline
769   ball-end tool along principal direction & \unit{76.8}{\second} & \unit{5184}{\milli\meter} \\\hline
770  \end{tabular}
771  \caption{machining times and toolpath lengths for test surface 2}
772  \label{tab:choi_result}
773 \end{table}
775 \begin{figure}
776  \centering
777  \begin{subfigure}{0.4\textwidth}
778   \centering
779   \includegraphics[width=\linewidth]{inclinedchoi_toric.png}
780   \caption{}
781  \end{subfigure}
782  \begin{subfigure}{0.4\textwidth}
783   \centering
784   \includegraphics[width=\linewidth]{inclinedchoi_spheric.png}
785   \caption{}
786  \end{subfigure}
787  \caption{Machining of test case surface 2: (a) along the steepest slope direction using a toroidal cutter, (b) along the principal direction using a ball-end cutter}
788  \label{fig:choi_mach}
789 \end{figure}
791 From the obtained results, one can notice the importance of taking account of the kinemtics of CNC machine. In fact, eventhough the toolpath length is slightely shorter for toroidal tool, the ball end tool presents a better machining time. Our approach is tested on this surface: The caracteristic size $H$ of the plane spanned by eigen-vectors is equal to \unit{55.8}{\milli\meter}. Knowing that $\tilde{s} = \unit{23.06}{\degree}$, the critical form-factor can be calculated using equation \ref{eq:fc} and is equal to $\mu_c(\tilde{s}) = 2.04$. Since $\tilde{\mu} < \mu_c$, our approach predicts that toroidal cutter will present a better machining time, which corresponds to the numerical results. Consequently, the prediction is correct on this second test case.
793 \section{Discussion}\label{sec:discuss}
794 The validity and limitations of the proposed approach are discussed in this section. The proposed procedure is fully efficient when machining directions ({\em i.e.} the steepest slope direction and the surface most extended direction) are close to perpendicular, otherwise the calculation of critical parameters loose its accuracy. Closer the machining directions are to the perpendicular, more accurate is the calculation of the critical parameters. This may appear like quite a limiting factor, but actually more the steepest slope and principal directions are close, more the toroidal tool should be privileged since it leads to larger step-over distances without increasing the number of paths. Therefore the proposed procedure is really useful and accurate for really problematic surfaces and less interesting for surfaces which machining directions and best cutter are obvious.
796 The approach is analytically proved for flat rectangular surfaces. To do so few hypothesis where made:
797 \begin{itemize}
798 \item First, the $\frac{H}{\mu}$ ratio is considered great enough to ensure that paths machining time is calculated such that nominal feed rate is achieved without maximum acceleration. For the kinematic parameters values used in this paper, the lower bound is $\frac{H}{\mu}>\unit{7.6}{\milli\meter}$. This condition excludes very small surface and is acceptable in practice.
799 \item Secondly, it was supposed that step-over distances (between two adjacent paths) are not long enough to achieve nominal feed rate. This is verified for both cutters since band width is inferior to $\unit{7.6}{\milli\meter}$. This condition depends on kinematic parameters values but also on cutter geometry and needs to be verified when the values change. In practice, the size of cutters used for finishing are small enough to consider this condition as verified.
800 \item The last hypothesis concerns the calculation of critical slope $s_c$. It was supposed that $H>\unit{10}{\milli\meter}$ in order to ensure that equation \ref{eq:pt1} has only one real solution. Machining free-form surfaces, cases when most extended dimension is not than greater than $\unit{10}{\milli\meter}$ are very rare.
801 \end{itemize}
803 The proposed approach is then fairly extended to free-form surfaces. Actually, the approach is more accurate for surfaces with slowly varying normal vectors, and thus slowly varying steepest slope directions. On the other side, the approach is less accurate when the steepest slope direction is highly varying, especially when parallel planes strategy is used. Indeed parallel planes strategy implies that step-over distance is determined by the worst interpolation point contrary to iso-scallop strategy and range for calculated step-over distances is bigger when surface normals vary a lot.
805 For free-form surfaces, there are two ways, as mentionned before, to calculate the approximate slope $\tilde{s}$ that might give different values. Again, the difference here is bigger when the normal vector is highly varying.
807 The proposed approach relies strongly on the kinematic parameters of the NC machining: $J_{max}$, $A_{max}$ and the nominal feed rate $V$. Therefore, the hypotheses concerning machining time calculation in section \ref{sec:kinematics} need to be checked for different values of kinematic parameters but the procedure remains the same. 
809 Other point that worths to be noted is that the scallop height tolerance $s_h$ does not seem to have a noteworthy influence on critical parameters. Indeed, the same evolution curves of critical parameters $s_c(\mu)$ and $\mu_c(s)$ (see figures \ref{fig:sc} and  \ref{fig:fc}) were found for $s_h=\unit{0.1}{\milli\meter}$.
811 \section{Conclusion and perspectives}
813 A new method for selecting between ball-end and toroidal cutter is presented in this paper. The method is first proved for flat surfaces and then extended to freeform surfaces using principal component analysis. It is based on identifiying two caracteristic machining directions: the steepest slope direction and the principal direction, the first one promoting toroidal tool while the second promotes ball-end tool. The approach provided best results when these two directions are antagonist ({\em} i.e. perpendicular), but when they are not, the cutter type choice is generally obvious. The proposed method is also providing better results when the normal vector to the surface is varying slowly, but still can provide a good hint for complicated free-form surfaces.
815 This work is only a first approach to cutter type selection problem. Further works may include more accurate theoretical evaluation of number of paths included into a toolpath, better free-form surfaces parameters approximations, maybe related to machining strategy, and a full analysis of nominal feed speed influence on critical parameters.
817 \bibliographystyle{abbrv}
818 \bibliography{biblioA0.bib}
820 \end{document}