The Higher Education and Research forge

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

SCM Repository

authorMahfoud Herraz <mahfoud@debian>
Sun, 24 Nov 2019 15:32:38 +0000 (16:32 +0100)
committerMahfoud Herraz <mahfoud@debian>
Sun, 24 Nov 2019 15:32:38 +0000 (16:32 +0100)
13 files changed:
Memos/ROADEF_abstract.tex
Memos/biblioROADEF.bib
Publis/article0.tex
Publis/biblioA0.bib
Publis/critical_parameters.py
Publis/imagesA0/T1check.jpg
Publis/imagesA0/T2check.jpg
Publis/imagesA0/fc_check.jpg
Publis/imagesA0/inclined_choi.png [new file with mode: 0644]
Publis/imagesA0/inclinedchoi_spheric.png [new file with mode: 0644]
Publis/imagesA0/inclinedchoi_toric.png [new file with mode: 0644]
Publis/imagesA0/sc_check.jpg
Publis/mach_time_error.py

index 69d3029..5a1141d 100644 (file)
@@ -31,32 +31,28 @@ Ecole Nationale d'Aviation Civile (ENAC) Toulouse, France \\
 % Les mots-clés
 \keywords{Optimisation sans dérivées, Classification non supervisée, fraisage en bout, surfaces gauches.}
 
-Le fraisage en bout des surfaces gauches sur Machine-Outil à Commande Numérique (MOCN) multi-axes est une opération complexe et coûteuse qui intervient dans la réalisation de nombreuses pièces aéronautiques, de moules et de matrices d'emboutissage.
+Le fraisage en bout des surfaces gauches sur Machine-Outil à Commande Numérique (MOCN) multi-axes est une opération complexe et coûteuse qui intervient dans la réalisation de nombreuses pièces aéronautiques, de moules et de matrices d'emboutissage. Actuellement, ces opérations sont toujours réalisées en utilisant des stratégies de planification des trajectoires fiables et éprouvées, mais loin d'être optimales.
 
-Actuellement, ces opérations sont toujours réalisées en utilisant des stratégies de planification des trajectoires fiables et éprouvées, mais loin d'être optimales.
+Nous proposons d'aborder le problème de la planification des trajectoires d'usinage à l'aide de méthodes d'optimisation globale et d'optimisation sans dérivées \cite{audet_derivative-free_2017} pour minimiser le temps d'usinage, tout en respectant les contraintes de qualité. La fonction qui donne le temps d'usinage est considérée comme une boîte noire, elle dépend de la stratégie d'usinage adoptée. Dans cette étude on choisit la stratégie \textit{plans parallèles} \cite{ding_adaptive_2003} en usinage 3 axes. Une revue de littérature concernant les stratégies d'usinage peut être trouvée dans \cite{lasemi_recent_2010}.
 
-Le projet consiste à aborder le problème de la planification des trajectoires d'usinage à l'aide de méthodes d'optimisation globale et d'optimisation sans dérivées \cite{audet_derivative-free_2017} pour minimiser le temps d'usinage, tout en respectant les contraintes de qualité.
-
-La fonction qui donne le temps d'usinage est considérée comme une boîte noire, elle dépend de la stratégie d'usinage adoptée. Dans cette étude on choisit la stratégie plans parallèles \cite{ding_adaptive_2003} en usinage 3 axes. Une revue de littérature concernant les stratégies d'usinage peut être trouvée dans \cite{lasemi_recent_2010}.
-
-Notre approche consiste à découper d'abord la surface en zones, à l'aide d'algorithmes de classification non supervisée \cite{duda_pattern_2012} selon les caractéristiques géométriques de chaque point. Ensuite usiner chaque zone avec un angle (variable de la stratégie plans parallèles) donné. Considérons une surface paramétrique $\mathbf{S}(u, v)$ avec $(u,v)\in[0,1]^2$, l’espace paramétrique est maillé en courbes isoparamétriques, soit $N$ le nombre de mailles (surfaces élémentaires). Pour chaque maille on définit un vecteur caractéristique. Par exemple, le vecteur~:
+Notre approche consiste à découper d'abord la surface à usiner en zones, à l'aide d'algorithmes de classification non supervisée \cite{duda_pattern_2012} selon les caractéristiques géométriques de chaque point. Ensuite, on usine chaque zone avec un angle (variable de la stratégie \textit{plans parallèles}) donné. Considérons une surface paramétrique $\mathbf{S}(u, v)$ avec $(u,v)\in[0,1]^2$, l’espace paramétrique est maillé en courbes isoparamétriques. Soit $N$ le nombre de mailles (surfaces élémentaires). Pour chaque maille on définit un vecteur caractéristique; par exemple, le vecteur~:
 \begin{equation}
 x_i=(u_i,v_i,s_i,\theta_i)^T
 \end{equation}
-où $(u_i,v_i)$ sont les coordonnées paramétriques du centre de la maille $i$, $s_i$ la valeur de la plus grande pente en ce point et $\theta_i$ l'angle qui définit la direction de la plus grande pente. La figure \ref{fig:vec_carac} illustre ces grandeurs, le vecteur $n(u,v)$ repésente la normale de la surface au point centre de la maille. Un algorithme de classification (K-means par exemple), basé sur le vecteur caractéristique choisi, est utilisé pour trouver une partition de la surface. En pratique le nombre de classes (zones dans notre contexte) est compris entre 2 et 10 à cause du trajet de l'outil (hors matière) nécessaire pour passer d'une zone à la suivante. Ensuite, chaque zone est usinée en plans parallèles suivant une direction donnée (voir figure \ref{fig:Choi}). Cette dernière opération consiste à calculer chaque point d'interpolation de la trajectoire à partir des points précédemment calculés et des caractéristiques géométriques locales de la surface. Elle est donc assez coûteuse en temps de calcul, à l'échelle du contexte industriel imposé. 
+où $(u_i,v_i)$ sont les coordonnées paramétriques du centre de la maille $i$, $s_i$ la valeur de la plus grande pente en ce point et $\theta_i$ l'angle qui définit la direction de la plus grande pente. La figure \ref{fig:vec_carac} illustre ces grandeurs et le vecteur $n(u,v)$ repésente la normale de la surface au point centre de la maille. Un algorithme de classification (K-means par exemple), basé sur le vecteur caractéristique choisi, est utilisé pour trouver une partition de la surface. En pratique,  le nombre de classes (zones, dans notre contexte) est compris entre 2 et 10 à cause du trajet de l'outil (hors matière) nécessaire pour passer d'une zone à la suivante. Ensuite, chaque zone est usinée en \textit{plans parallèles} suivant une direction donnée (voir figure \ref{fig:Choi}). Cette dernière opération consiste à calculer chaque point d'interpolation de la trajectoire à partir des points précédemment calculés et des caractéristiques géométriques locales de la surface. Elle est donc assez coûteuse en temps de calcul, à l'échelle du contexte industriel imposé. 
 
 Cette procédure présente des variables à optimiser~: d'abord l'angle d'usinage de chaque zone, en effet la longueur des trajectoires d'usinages (et par suite le temps d'usinage) sur chaque zone dépend fortement de l'angle choisi. Ensuite, la distance (ou norme) utilisée pour la classification peut être pondérée par des coefficients afin de donner plus de poids à certaines variables qu'à d'autres. Il est intéressant de noter que le nombre de zones obtenu dépend de ces coefficients.
 
-Par exemple, si la surface est découpée en $K$ zones, chacune usinée dans la direction $\alpha_k$ pour $1\leq k\leq K$, et si une norme euclidienne pondérée est prise comme distance, avec la somme des coefficients de pondération égal à 1, et en affectant le même coefficient à $u$ et $v$ (puisqu'ils ont le même rôle), il vient que~:
+Par exemple, si la surface est découpée en $K$ zones, chacune usinée dans la direction $\alpha_k$ pour $1\leq k\leq K$, et si une norme euclidienne pondérée est prise comme distance, avec la somme des coefficients de pondération égal à 1, et en affectant le même coefficient à $u$ et $v$ (puisqu'ils ont le même rôle), on obtient donc la distance (au carré)~:
 \begin{equation}
 d^2(m_i,m_j)= \omega_1\left[(u_i-u_j)^2+(v_i-v_j)^2]\right.+\omega_2(s_i-s_j)^2+(1-\omega_1-\omega_2)(\theta_i-\theta_j)^2
 \end{equation}
 
-Ainsi le nombre de variables (angles) d'usinage dépend des coefficients $\omega$ (variables de classification). Selon l'algorithme choisi, un nombre de zone initial $K_0$ est requis, et peut être donc considére comme variable d'oprimisaion. Sachant que les trajectoires calculés par la boîte noire sont par définition faisable (respectent les contraintes de qualité), le problème d'optimisation peut s'écrire sous la forme~:
+Ainsi le nombre de variables (angles) d'usinage dépend des coefficients $\omega$ (variables de classification). Selon l'algorithme choisi, un nombre de zone initial $K_0$ est requis, et peut donc être considéré comme variable d'optimisaion. Sachant que les trajectoires calculées par la boîte noire sont par définition réalisables (respectent les contraintes de qualité), le problème d'optimisation peut s'écrire sous la forme~:
 \begin{equation}
 \displaystyle\min_{\omega,\alpha,K_0} f(\omega,\alpha,K(\omega))
 \end{equation}
-avec $\omega=(\omega_1,\omega_2)^T$ et $\alpha=\left(\alpha_k\right)_{1\leq k\leq K(\omega)}$ et $f$ la fonction boîte noire qui donne le temps d'usinage.
+avec $\omega=(\omega_1,\omega_2)^T$, $\alpha=\left(\alpha_k\right)_{1\leq k\leq K(\omega)}$ et $f$ la fonction boîte noire qui donne le temps d'usinage.
 
 \begin{figure}
 \centering
index 4200a51..7927945 100644 (file)
@@ -10,7 +10,7 @@
        number = {7},
        urldate = {2019-05-24},
        journal = {Computer-Aided Design},
-       author = {Lasemi, Ali and Xue, Deyi and Gu, Peihua},
+       author = {Lasemi, A. and Xue, D. and Gu, P.},
        month = jul,
        year = {2010},
        keywords = {5-axis CNC machining, Freeform surface, Tool orientation, Tool parameters, Tool path},
 
 @book{audet_derivative-free_2017,
        address = {Cham},
-       series = {Springer {Series} in {Operations} {Research} and {Financial} {Engineering}},
+       series = {Springer},
        title = {Derivative-{Free} and {Blackbox} {Optimization}},
        isbn = {978-3-319-68912-8 978-3-319-68913-5},
        url = {http://link.springer.com/10.1007/978-3-319-68913-5},
        language = {en},
        urldate = {2019-05-24},
        publisher = {Springer International Publishing},
-       author = {Audet, Charles and Hare, Warren},
+       author = {Audet, C. and Hare, W.},
        year = {2017},
        doi = {10.1007/978-3-319-68913-5},
        file = {Audet et Hare - 2017 - Derivative-Free and Blackbox Optimization.pdf:/home/mahfoud/Zotero/storage/IXGM5Q5A/Audet et Hare - 2017 - Derivative-Free and Blackbox Optimization.pdf:application/pdf}
@@ -57,8 +57,7 @@
        abstract = {The first edition, published in 1973, has become a classic reference in the field. Now with the second edition, readers will find information on key new topics such as neural networks and statistical pattern recognition, the theory of machine learning, and the theory of invariances. Also included are worked examples, comparisons between different methods, extensive graphics, expanded exercises and computer project topics.},
        language = {en},
        publisher = {John Wiley \& Sons},
-       author = {Duda, Richard O. and Hart, Peter E. and Stork, David G.},
-       month = nov,
+       author = {Duda, R. O. and Hart, P. E. and Stork, D. G.},
        year = {2012},
        keywords = {Technology \& Engineering / Electrical, Technology \& Engineering / Electronics / Digital}
-}
\ No newline at end of file
+}
index 16a211f..c375e0c 100644 (file)
@@ -45,7 +45,7 @@
 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 
 $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.
 
-Numerous authors (\hl{TODO: cite{}}) 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.
+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.
 
 \subsubsection{Cutter types}
 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}):
@@ -105,7 +105,7 @@ The scallop height can be calculated either by approximating the geometry of the
 
 \subsubsection{Kinematics concerns}\label{sec:kinematics}
 
-The production cost of a surface is directly linked to the machining time. Many authors \hl{(FIXME: who ?)} 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}.
+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_tool_2011}, 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}.
 
 Therefore, the kinematic capabilities of the CNC machine should be considered since the tool displacement caracteristics must be kept within these capabilities.
 
@@ -147,7 +147,7 @@ These caracteristics times help to distinguish between previously stated cases.
 
 Hence, the machining time associated with a toolpath increases when the number of acute angles increases eventhough the path length is fixed.
 
-\subsection{Problem statement}
+\subsection{Problem statement}\label{subsec:problem_statement}
 
 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.
 
@@ -210,20 +210,18 @@ In this section, the machining time using toroidal tool along the slope directio
  R_{eff} = \frac{R-r}{\sin{s}}+r
 \end{equation*}
 
-The step-over distance: 
+The step-over distance is easily calculated for flat surfaces
 \begin{equation} \label{eq:pas_transversal}
  sod_1 = 2\sqrt{R_{eff}^2-(R_{eff}-s_h)^2}=2\sqrt{2\,s_h\,R_{eff}-s_h^2}
 \end{equation}
-\hl{FIXME: d'où ça vient ?}
-
-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.
 
 The number of paths is given by:
 \begin{equation*}
  nb_1 = \frac{\mu\,H}{sod_1}
 \end{equation*}
 
-\hl{FIXME: Préciser les notations : $L_1$ ?, $p_t$ ?}
+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.
+
 \begin{equation*}
  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
 \end{equation*}
@@ -236,7 +234,6 @@ To calculate the machining time the kinematic case occurring must be found (see
 
 Since $t_V<t_A$, the case 1 is dismissed, and the case 2 applies if $t_V<t_l$, which is equivalent to 
 
-\hl{FIXME: détailler les calculs}
 \begin{equation*}
  \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}
 \end{equation*}
@@ -415,11 +412,9 @@ If $s < s_c$ then $\sqrt[3]{sod_1}$ is superior to the solution of equation \ref
 
 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 ids based on intersection of isoparametric curves and parallel planes. Its implementation heavily relies on algorithms developed in \cite{barnhill_surface/surface_1987}.  % figure pour illustrer ?
 
-\hl{FIXME: Montrer que ça marche avant de parler de l'utilisation directe des paramètres critiques. Exemple sur une surface donnée. Prévisions analytiques. Outil préconisé. Vérification par la simulation}
-
-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.
+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.
 
-First of all, 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}.
+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}.
 
 \begin{equation}
  \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
@@ -448,17 +443,17 @@ This error is mainly due to the approximation of the number of paths by the widt
 
 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.
 
-\begin{figure}
+\begin{figure}[ht]
  \centering
  \includegraphics[width=0.6\linewidth]{sc_check.jpg}
- \caption{evolution of the critical slope $s_c(\mu)$ and machining times relative error $\epsilon_c(\mu)$ with respect to form-factor $\mu$ \hl{(FIXME: legend $f$ -> $\mu$)}}
+ \caption{Evolution of critical slope $s_c(\mu)$ and machining times relative error $\epsilon_c(\mu)$ with respect to form-factor $\mu$}
  \label{fig:sc}
 \end{figure}
 
 \begin{figure}
  \centering
  \includegraphics[width=0.6\linewidth]{fc_check.jpg}
- \caption{Evolution of the critical form-factor $\mu_c(s)$ and machining times relative error $\epsilon_c(s)$ with respect to slope $s$} 
+ \caption{Evolution of critical form-factor $\mu_c(s)$ and machining times relative error $\epsilon_c(s)$ with respect to slope $s$} 
  \label{fig:fc}
 \end{figure}
 
@@ -475,7 +470,7 @@ In the case of a plane, the steepest slope direction is the same whatever the po
 
 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}$.
 
- 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). \hl{(NOTE: not so obvious to me)}
+ 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).
 
 \begin{figure}[ht]
  \centering
@@ -637,10 +632,141 @@ From the obtained results, one can notice the importance of taking account of th
  \label{eq:h}
 \end{equation}
 
+\subsubsection{Test case 2}
 
+The second test case is a Bezier surface of $4\times4$ control points given in table \ref{tab:choi}. 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} if calculated as the mean of slopes over the meshing and \unit{0.299}{\radian}=\unit{17.13}{\degree} if 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.
 
+\begin{table}
+ \centering
+ \begin{tabular}{|c|c|c|c|c|c|c|c|c|}
+  \hline
+  point 1 & point 2 & point 3 & point 4 & point 5 & point 6 & point 7 & point 8 \\
+  \hline
+  $\begin{matrix}
+   7.92 \\
+   0.0 \\
+   37.26
+  \end{matrix}$ & 
+  $\begin{matrix}
+   6.33 \\
+   20.4 \\
+   29.81
+  \end{matrix}$ &
+  $\begin{matrix}
+   6.33\\
+   40.8 \\
+   29.81
+  \end{matrix}$ &
+  $\begin{matrix}
+   7.92 \\
+   61.2 \\
+   37.26
+  \end{matrix}$ & 
+  $\begin{matrix}
+   23.72 \\
+   0.0 \\
+   26.11
+  \end{matrix}$ &
+  $\begin{matrix}
+   22.14 \\
+   20.4 \\
+   18.66
+  \end{matrix}$ &
+  $\begin{matrix}
+   22.14 \\
+   40.8 \\
+   18.66
+  \end{matrix}$ &
+  $\begin{matrix}
+   23.72 \\
+   61.2 \\
+   26.11
+  \end{matrix}$\\
+  \hline
+  point 9 & point 10 & point 11 & point 12 & point 13 & point 14 & point 15 & point 16 \\
+  \hline
+  $\begin{matrix}
+   42.70 \\
+   0.0 \\
+   29.87
+  \end{matrix}$ & 
+  $\begin{matrix}
+   41.12 \\
+   20.4 \\
+   22.42
+  \end{matrix}$ &
+  $\begin{matrix}
+   41.12 \\
+   40.8 \\
+   22.42
+  \end{matrix}$ &
+  $\begin{matrix}
+   42.70 \\
+   61.2 \\
+   29.87
+  \end{matrix}$ & 
+  $\begin{matrix}
+   56.02 \\
+   0.0 \\
+   19.25
+  \end{matrix}$ &
+  $\begin{matrix}
+   54.44 \\
+   20.4 \\
+   11.79
+  \end{matrix}$ &
+  $\begin{matrix}
+   54.44 \\
+   40.8 \\
+   11.79
+  \end{matrix}$ &
+  $\begin{matrix}
+   56.02 \\
+   61.2 \\
+   19.25
+  \end{matrix}$\\
+  \hline
+ \end{tabular}
+ \caption{Cartesian coordinates of test surface 2 control points}
+ \label{tab:choi}
+\end{table}
 
-\subsubsection{Test case 2}
+\begin{figure}
+ \centering
+ \includegraphics[width=0.4\linewidth]{inclined_choi.png}
+ \caption{Test surface 2 with its principal (purple) and steepest slope (black) directions}
+ \label{fig:choi}
+\end{figure}
+
+\begin{table}
+ \centering
+ \begin{tabular}{|c|c|c|}
+ \hline
+   & machining time & toolpath length \\\hline
+  toroidal tool along steepest slope direction & \unit{71.8}{\second} & \unit{4725}{\milli\meter} \\\hline
+  ball-end tool along principal direction & \unit{76.8}{\second} & \unit{5184}{\milli\meter} \\\hline
+ \end{tabular}
+ \caption{machining times and toolpath lengths for test surface 2}
+ \label{tab:choi_result}
+\end{table}
+
+\begin{figure}
+ \centering
+ \begin{subfigure}{0.4\textwidth}
+  \centering
+  \includegraphics[width=\linewidth]{inclinedchoi_toric.png}
+  \caption{}
+ \end{subfigure}
+ \begin{subfigure}{0.4\textwidth}
+  \centering
+  \includegraphics[width=\linewidth]{inclinedchoi_spheric.png}
+  \caption{}
+ \end{subfigure}
+ \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}
+ \label{fig:choi_mach}
+\end{figure}
+
+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} 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.
 
 \section{Discussion}\label{sec:discuss}
    effect of the gap between steepest slope and principal direction, toroidal cutter is better when the directions are close enough
index 90c3025..7d5170e 100644 (file)
        file = {ScienceDirect Full Text PDF:/home/mahfoud/Zotero/storage/PYEMPQ83/Redonnet et al. - 2013 - Study of the effective cutter radius for end milli.pdf:application/pdf;ScienceDirect Snapshot:/home/mahfoud/Zotero/storage/NWLDR3UA/S0010448513000389.html:text/html}
 }
 
+@article{roman_tool_2011,
+       title = {Tool {Path} {Generation} for 3+2-axis {Machining}},
+       language = {en},
+       author = {Roman, A and Bedi, S and Ismail, F},
+       year = {2011},
+       pages = {7},
+       file = {Roman et al. - 2011 - Tool Path Generation for 3+2-axis Machining.pdf:/home/mahfoud/Zotero/storage/IE8GB8GF/Roman et al. - 2011 - Tool Path Generation for 3+2-axis Machining.pdf:application/pdf}
+}
+
+@article{djebali_using_2015,
+       title = {Using the global optimisation methods to minimise the machining path length of the free-form surfaces in three-axis milling},
+       volume = {53},
+       issn = {0020-7543},
+       url = {https://doi.org/10.1080/00207543.2015.1029648},
+       doi = {10.1080/00207543.2015.1029648},
+       abstract = {During the machining of free-form surfaces using three-axis numerically controlled machine (NC), several parameters are chosen arbitrary and one of the most important is the feed motion direction. The main objective of this study is to minimise the machining time of complex surfaces while respecting a scallop height criteria. The analytical expression of the machining time is not known and by hypothesis, it is assumed to be proportional to the path length crossed by the cutting tool. This path length depends on the feed direction. To have an optimal feed direction at any point, the surface is divided into zones with low variation of the steepest slope direction. The optimization problem was formulated aiming at minimizing the global path length. Furthermore, a penalty reflecting the time loss due to the movement of the tool from one zone to another one is taken into account. Several heuristics are used to resolve this problem: Clarke and Wrights, Greedy randomized adaptive search procedure, Tabu search and Nearest neighbour search. An example illustrates our work by applying the different heuristics on a test surface. After simulations, the results obtained present a significant saving of paths length of 24\% compared to the machining in one zone.},
+       number = {17},
+       urldate = {2019-05-24},
+       journal = {International Journal of Production Research},
+       author = {Djebali, S. and Segonds, S. and Redonnet, J. M. and Rubio, W.},
+       month = sep,
+       year = {2015},
+       keywords = {free-form surface, global optimisation, machining zones, path length tool, three-axis milling},
+       pages = {5296--5309},
+       file = {Djebali et al. - 2015 - Using the global optimisation methods to minimise .pdf:/home/mahfoud/Zotero/storage/5BDRCBX9/Djebali et al. - 2015 - Using the global optimisation methods to minimise .pdf:application/pdf;Snapshot:/home/mahfoud/Zotero/storage/73LJ49N3/00207543.2015.html:text/html}
+}
+
+@article{mann_generalization_2002,
+       title = {Generalization of the imprint method to general surfaces of revolution for {NC} machining},
+       volume = {34},
+       issn = {0010-4485},
+       url = {http://www.sciencedirect.com/science/article/pii/S0010448501001038},
+       doi = {10.1016/S0010-4485(01)00103-8},
+       abstract = {This paper presents a method of determining the shape of the surface swept by a generalized milling tool that follows a 5-axis tool path for machining curved surfaces. The method is a generalization of an earlier technique for toroidal tools that is based on identifying grazing points on the tool surface. We present a new proof that the points constructed by this earlier method are in fact grazing points, and we show that this previous method can be used to construct grazing points on (and only on) the sphere, the cone, and the torus. We then present a more general method that can compute grazing points on a general surface of revolution. The advantage of both methods is that they use simple, geometric formulas to compute grazing points.},
+       number = {5},
+       urldate = {2019-06-04},
+       journal = {Computer-Aided Design},
+       author = {Mann, Stephen and Bedi, Sanjeev},
+       month = apr,
+       year = {2002},
+       keywords = {Tool path verification, 5-Axis machining, Grazing curves},
+       pages = {373--378},
+       file = {ScienceDirect Full Text PDF:/home/mahfoud/Zotero/storage/DXUEL5BU/Mann et Bedi - 2002 - Generalization of the imprint method to general su.pdf:application/pdf;ScienceDirect Snapshot:/home/mahfoud/Zotero/storage/8EDT66EW/S0010448501001038.html:text/html}
+}
+
 @article{roth_surface_2001,
        title = {Surface swept by a toroidal cutter during 5-axis machining},
        volume = {33},
        file = {Snapshot:/home/mahfoud/Zotero/storage/INZCQMRA/1999TOU30008.html:text/html}
 }
 
+@article{griffiths_toolpath_1994,
+       title = {Toolpath based on {Hilbert}'s curve},
+       volume = {26},
+       issn = {0010-4485},
+       url = {http://www.sciencedirect.com/science/article/pii/0010448594900981},
+       doi = {10.1016/0010-4485(94)90098-1},
+       abstract = {An algorithm for generating a toolpath for a milling machine is described. The approach to its design was interdisciplinary. The algorithm contains ideas from computer graphics and mathematics, rather than mechanical engineering alone. An artefact described by any set of curved surfaces is carved out of a workpiece in two stages. Horizontal slices are removed to reveal the roughly cut artefact, and a final pass cuts the artefact to within a preset tolerance. The toolpath might seem to be needlessly convoluted, but it has substantial advantages over less sophisticated paths. Its local complexity adapts automatically to the local complexity of the artefact, so that more attention is concentrated on those parts of the artefact which require it. At the roughing out stage, the path efficiently skips over completely worked areas without retracing them with each new horizontal slice. The path minimizes the amount of tool movement which does not cut material, and minimizes the number of occassions on which the tool reenters the material. A prototype system has been developed to demonstrate that the new approach is viable.},
+       number = {11},
+       urldate = {2019-06-20},
+       journal = {Computer-Aided Design},
+       author = {Griffiths, J. G.},
+       month = nov,
+       year = {1994},
+       keywords = {cutters, machining, toolpaths},
+       pages = {839--844},
+       file = {ScienceDirect Snapshot:/home/mahfoud/Zotero/storage/HD45LKAL/0010448594900981.html:text/html}
+}
+
+@article{park_tool-path_2000,
+       title = {Tool-path planning for direction-parallel area milling},
+       volume = {32},
+       issn = {0010-4485},
+       url = {http://www.sciencedirect.com/science/article/pii/S0010448599000809},
+       doi = {10.1016/S0010-4485(99)00080-9},
+       abstract = {Presented in the paper is a tool-path planning algorithm for direction-parallel area milling consisting of three modules: (1) finding the optimal inclination; (2) calculating and storing tool-path elements; and (3) tool-path linking. For the optimal inclination, we suggest an algorithm that selects an inclination by reflecting the shape of the machining area as well as the tool-path interval. We make use of the concept of a monotone chain and the plane-sweep paradigm to calculate the tool-path elements. The concept of a monotone chain brings clarity and tight-time complexity to the proposed algorithm. The tool-path linking problem is modeled as a TPE-Net (tool-path element net) traversing problem. For the two direction-parallel milling topologies, one-way and zigzag, tool-path linking algorithms are proposed. Empirical tests show that the proposed algorithm fulfils its requirements.},
+       number = {1},
+       urldate = {2019-07-11},
+       journal = {Computer-Aided Design},
+       author = {Park, S. C. and Choi, B. K.},
+       month = jan,
+       year = {2000},
+       keywords = {Direction-parallel area milling, One-way, Tool-path planning, Zigzag},
+       pages = {17--25},
+       file = {ScienceDirect Snapshot:/home/mahfoud/Zotero/storage/AQMPET9J/S0010448599000809.html:text/html}
+}
+
+@article{park_tool-path_2003,
+       title = {Tool-path generation for {Z}-constant contour machining},
+       volume = {35},
+       issn = {0010-4485},
+       url = {http://www.sciencedirect.com/science/article/pii/S0010448501001737},
+       doi = {10.1016/S0010-4485(01)00173-7},
+       abstract = {For the Z-constant contour machining, a tool-path generation procedure is presented. The suggested procedure consists of two parts; (1) calculating the contours (tool-path-elements) by slicing the CL-surface with horizontal planes and (2) generating a tool-path by linking the contours. For the slicing algorithm, two algorithms are suggested, one is to slice a triangular mesh and the other is for a Z-map model. The second part, the linking problem, is approached from the technological requirements, such as considering the machining constraints among the tool-path-elements, minimizing the tool-path length and reflecting the oneway/zigzag linking options. To simplify the linking problem, we develop a data structure, called a TPE-net, providing information on the machining constraints among the tool-path-elements. By making use of the TPE-net, the tool-path linking problem becomes a touring problem so that every node has been traversed.},
+       number = {1},
+       urldate = {2019-07-11},
+       journal = {Computer-Aided Design},
+       author = {Park, Sang C.},
+       month = jan,
+       year = {2003},
+       keywords = {-map, Contour, Linking, Slicing, Tool-path generation, Triangular mesh},
+       pages = {27--36},
+       file = {ScienceDirect Snapshot:/home/mahfoud/Zotero/storage/PLG96KLP/S0010448501001737.html:text/html}
+}
+
+@article{lazoglu_tool_2009,
+       title = {Tool path optimization for free form surface machining},
+       volume = {58},
+       issn = {0007-8506},
+       url = {http://www.sciencedirect.com/science/article/pii/S0007850609000511},
+       doi = {10.1016/j.cirp.2009.03.054},
+       abstract = {This article presents a novel approach to generate optimized tool paths for free form surfaces that are commonly used in automotive, aerospace, biomedical, home appliance manufacturing and die/mold industries. The developed tool path optimization approach can handle various objectives under multiple constraints. Due to anisotropic geometry of free form surfaces, tool paths become one of the most critical factors for determining cutting forces. Here, the concept of force-minimal tool path generation is introduced and demonstrated for free form surfaces. Nowadays, process planning engineers must select the tool paths only from a set of ordinary tool paths available in CAM systems. These standard tool paths available in CAM systems are generated based on geometric computations only, not considering mechanics of processes, and most often these paths are away being optimum for free form surfaces. Here, a new methodology is introduced the first time for generating the tool paths based on process mechanics for globally minimizing the cutting forces for any given free form surface.},
+       number = {1},
+       urldate = {2019-07-11},
+       journal = {CIRP Annals},
+       author = {Lazoglu, I. and Manav, C. and Murtezaoglu, Y.},
+       month = jan,
+       year = {2009},
+       keywords = {Milling, Computer aided manufacturing (CAM), Simulation},
+       pages = {101--104},
+       file = {Lazoglu et al. - 2009 - Tool path optimization for free form surface machi.pdf:/home/mahfoud/Zotero/storage/IXWLRKH6/Lazoglu et al. - 2009 - Tool path optimization for free form surface machi.pdf:application/pdf;ScienceDirect Snapshot:/home/mahfoud/Zotero/storage/KWIMVY8U/S0007850609000511.html:text/html}
+}
+
+@article{makhanov_optimization_2007,
+       series = {Applied {Scientific} {Computing}: {Advanced} {Grid} {Generation}, {Approximation} and {Simulation}},
+       title = {Optimization and correction of the tool path of the five-axis milling machine: {Part} 1. {Spatial} optimization},
+       volume = {75},
+       issn = {0378-4754},
+       shorttitle = {Optimization and correction of the tool path of the five-axis milling machine},
+       url = {http://www.sciencedirect.com/science/article/pii/S0378475406003375},
+       doi = {10.1016/j.matcom.2006.12.009},
+       abstract = {We introduce three algorithms for optimization of a tool path of a numerically controlled five-axis milling machine. The unifying idea is a flexible geometric structure which adapts itself to a certain cost function defined on the required part surface. Algorithm 1 is based on the variational grid generation, Algorithm 2 is based on a new modification of the space filling curves techniques. Algorithm 3 is based on construction of vector fields composed of optimal cutting directions. The algorithms verified by numerical experiments as well as by practical machining display a priority with the reference to the standard methods.},
+       number = {5},
+       urldate = {2019-07-11},
+       journal = {Mathematics and Computers in Simulation},
+       author = {Makhanov, Stanislav},
+       month = sep,
+       year = {2007},
+       keywords = {CAD/CAM, Optimization, Milling machines, NC-programming},
+       pages = {210--230},
+       file = {Makhanov - 2007 - Optimization and correction of the tool path of th.pdf:/home/mahfoud/Zotero/storage/66DXE4MG/Makhanov - 2007 - Optimization and correction of the tool path of th.pdf:application/pdf;ScienceDirect Snapshot:/home/mahfoud/Zotero/storage/47EZGXVT/S0378475406003375.html:text/html}
+}
+
+@article{blackmore_analysis_1992,
+       title = {Analysis of {Swept} {Volume} via {Lie} {Groups} and {Differential} {Equations}},
+       volume = {11},
+       issn = {0278-3649},
+       url = {https://doi.org/10.1177/027836499201100602},
+       doi = {10.1177/027836499201100602},
+       abstract = {The development of useful mathematical techniques for an alyzing swept volumes, together with efficient means of im plementing these methods to produce serviceable models, has important applications to numerically controlled (NC) machin ing, robotics, and motion planning, as well as other areas of automation. In this article a novel approach to swept volumes is delineated—one that fully exploits the intrinsic geometric and group theoretical structure of Euclidean motions in or der to formulate the problem in the context of Lie groups and differential equations., Precise definitions of sweep and swept volume are given that lead naturally to an associated ordinary differential equation. This sweep differential equation is then shown to be related to the Lie group structure of Euclidean motions and to generate trajectories that completely determine the geometry of swept volumes., It is demonstrated that the notion of a sweep differential equation leads to criteria that provide useful insights concern ing the geometric and topologic features of swept volumes. Several new results characterizing swept volumes are obtained. For example, a number of simple properties that guarantee that the swept volume is a Cartesian product of elementary mani folds are identified. The criteria obtained may be readily tested with the aid of a computer.},
+       language = {en},
+       number = {6},
+       urldate = {2019-07-24},
+       journal = {The International Journal of Robotics Research},
+       author = {Blackmore, Denis and Leu, M.C.},
+       month = dec,
+       year = {1992},
+       pages = {516--537},
+       file = {SAGE PDF Full Text:/home/mahfoud/Zotero/storage/NXPUV9CX/Blackmore et Leu - 1992 - Analysis of Swept Volume via Lie Groups and Differ.pdf:application/pdf}
+}
+
+@article{liu_tool_2015,
+       title = {A tool path generation method for freeform surface machining by introducing the tensor property of machining strip width},
+       volume = {66},
+       issn = {0010-4485},
+       url = {http://www.sciencedirect.com/science/article/pii/S0010448515000354},
+       doi = {10.1016/j.cad.2015.03.003},
+       abstract = {Due to the complexity of geometry, the feed direction with maximal machining strip width usually varies among different regions over a freeform surface or a shell of surfaces. However, in most traditional tool path generation methods, the surface is treated as one machining region thus only local optimisation might be achieved. This paper presents a new region-based tool path generation method. To achieve the full effect of the optimal feed direction, a surface is divided into several sub-surface regions before tool path computation. Different from the scalar field representation of the machining strip width, a rank-two tensor field is derived to evaluate the machining strip width using ball end mill. The continuous tensor field is able to represent the machining strip widths in all feed directions at each cutter contact point, except at the boundaries between sub-regions. Critical points where the tensor field is discontinuous are defined and classified. By applying critical points in the freeform surface as the start for constructing inside boundaries, the surface could be accurately divided to such that each region contain continuous distribution of feed directions with maximal machining strip width. As a result, tool paths are generated in each sub-surface separately to achieve better machining efficiency. The proposed method was tested using two freeform surfaces and the comparison to several leading existing tool path generation methods is also provided.},
+       urldate = {2019-09-07},
+       journal = {Computer-Aided Design},
+       author = {Liu, Xu and Li, Yingguang and Ma, Sibo and Lee, Chen-han},
+       month = sep,
+       year = {2015},
+       keywords = {Tool path, Ball end mill, Freeform surface machining, Machining strip width, Surface subdivision, Tensor},
+       pages = {1--13},
+       file = {Liu et al. - 2015 - A tool path generation method for freeform surface.pdf:/home/mahfoud/Zotero/storage/2JUVUVWG/Liu et al. - 2015 - A tool path generation method for freeform surface.pdf:application/pdf}
+}
+
+@article{kumazawa_preferred_2015,
+       title = {Preferred feed direction field: {A} new tool path generation method for efficient sculptured surface machining},
+       volume = {67-68},
+       issn = {0010-4485},
+       shorttitle = {Preferred feed direction field},
+       url = {http://www.sciencedirect.com/science/article/pii/S0010448515000652},
+       doi = {10.1016/j.cad.2015.04.011},
+       abstract = {This paper presents a new method to generate efficient ball-end milling tool paths for three-axis sculptured surface machining. The fundamental principle of the presented method is to generate the tool paths according to a preferred feed direction (PFD) field derived from the surface to be machined. The PFD at any point on the surface is the feed direction that maximizes the machining strip width. Theoretically, tool paths that always follow the direction of maximum machining strip width at every cutter contact point on the surface would result in shorter overall tool path length. Unfortunately, overlaps of adjacent machining strips commonly exist for tool paths that follow the preferred directions exactly. Such redundant machining can be reduced by iso-scallop tool paths. Nonetheless, iso-scallop tool paths do not in general follow the preferred feed directions. To improve machining efficiency via generating short overall tool path length, the presented method analyzes the PFD field of the surface and segments the surface into distinct regions by identifying the degenerate points and forming their separatrices. The resulting segmented regions are characterized by similar PFD’s and iso-scallop tool paths are then generated for each region to mitigate redundant machining. The developed method has been validated with numerous case studies. The results have shown that the generated tool paths consistently have shorter overall length than those generated by the existing methods.},
+       urldate = {2019-09-07},
+       journal = {Computer-Aided Design},
+       author = {Kumazawa, Guillermo H. and Feng, Hsi-Yung and Barakchi Fard, M. Javad},
+       month = oct,
+       year = {2015},
+       keywords = {Sculptured surface, Machining efficiency, Ball-end milling, Iso-scallop tool paths, Preferred feed direction, Tensor field},
+       pages = {1--12},
+       file = {Kumazawa et al. - 2015 - Preferred feed direction field A new tool path ge.pdf:/home/mahfoud/Zotero/storage/HGU5MJ7R/Kumazawa et al. - 2015 - Preferred feed direction field A new tool path ge.pdf:application/pdf}
+}
+
 @article{beudaert_maximum_nodate,
        title = {Maximum {Feedrate} {Interpolator} for {Multi}-axis {CNC} {Machining} with {Jerk} {Constraints}},
        abstract = {A key role of the CNC is to perform the feedrate interpolation which means to generate the setpoints for each machine tool axis. The aim of the VPOp algorithm is to make maximum use of the machine tool respecting both tangential and axis jerk on rotary and linear axes.},
index e5ef0cd..d46a117 100644 (file)
@@ -40,7 +40,7 @@ fig_fc = plt.figure(1)
 plt.subplot(2,1,1)
 plt.plot(s,fc)
 plt.xlabel('slope')
-plt.ylabel('critical ratio $f_c$')
+plt.ylabel('critical form-factor $\mu_c$')
 plt.subplot(2,1,2)
 plt.plot(s,100*np.abs(np.array(T2_fc)-np.array(T1_fc))/np.maximum(np.array(T2_fc),np.array(T1_fc)))
 plt.xlabel('slope $s$ (°)')
@@ -51,11 +51,11 @@ plt.savefig('fc check.jpg',dpi=300,quality=95)
 fig_fc = plt.figure(2)
 plt.subplot(2,1,1)
 plt.plot(f,sc)
-plt.xlabel('ratio')
+plt.xlabel('form-factor $\mu$')
 plt.ylabel('critical slope $s_c$ (°)')
 plt.subplot(2,1,2)
 plt.plot(f,100*np.abs(np.array(T2_sc)-np.array(T1_sc))/np.maximum(np.array(T2_sc),np.array(T1_sc)))
-plt.xlabel('ratio $f$')
+plt.xlabel('ratio $\mu$')
 plt.ylabel('relative error $\epsilon$ (%)')
 #plt.show()
 plt.savefig('sc check.jpg',dpi=300,quality=95)
index ee8e525..c3c6792 100644 (file)
Binary files a/Publis/imagesA0/T1check.jpg and b/Publis/imagesA0/T1check.jpg differ
index 232a59f..f834d24 100644 (file)
Binary files a/Publis/imagesA0/T2check.jpg and b/Publis/imagesA0/T2check.jpg differ
index a6f04f4..2b60c1d 100644 (file)
Binary files a/Publis/imagesA0/fc_check.jpg and b/Publis/imagesA0/fc_check.jpg differ
diff --git a/Publis/imagesA0/inclined_choi.png b/Publis/imagesA0/inclined_choi.png
new file mode 100644 (file)
index 0000000..19a2aca
Binary files /dev/null and b/Publis/imagesA0/inclined_choi.png differ
diff --git a/Publis/imagesA0/inclinedchoi_spheric.png b/Publis/imagesA0/inclinedchoi_spheric.png
new file mode 100644 (file)
index 0000000..7f9a550
Binary files /dev/null and b/Publis/imagesA0/inclinedchoi_spheric.png differ
diff --git a/Publis/imagesA0/inclinedchoi_toric.png b/Publis/imagesA0/inclinedchoi_toric.png
new file mode 100644 (file)
index 0000000..082ee70
Binary files /dev/null and b/Publis/imagesA0/inclinedchoi_toric.png differ
index 327f668..2fa762d 100644 (file)
Binary files a/Publis/imagesA0/sc_check.jpg and b/Publis/imagesA0/sc_check.jpg differ
index dfc7679..9cadc24 100644 (file)
@@ -32,7 +32,7 @@ print('mean error = '+np.str(np.mean(t1_error)))
 
 surf = ax.plot_surface(f, s, Z, cmap=cm.coolwarm,
                        linewidth=0, antialiased=False)
-ax.set_xlabel('ratio $f$', fontsize=10)
+ax.set_xlabel('form-factor $\mu$', fontsize=10)
 ax.set_ylabel('slope $s$ (°)', fontsize=10)
 ax.set_zlabel('relative error (%)', fontsize=10)
 ax.set_zlim(-0.01, 10)
@@ -41,4 +41,4 @@ ax.zaxis.set_major_formatter(FormatStrFormatter('%.02f'))
 fig.colorbar(surf, shrink=0.5, aspect=5)
 
 #plt.show()
-plt.savefig('T1check.jpg', dpi=300, quality=95)
\ No newline at end of file
+plt.savefig('T2check.jpg', dpi=300, quality=95)
\ No newline at end of file