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>
Wed, 22 Jan 2020 16:16:14 +0000 (17:16 +0100)
committerMahfoud Herraz <mahfoud@debian>
Wed, 22 Jan 2020 16:16:14 +0000 (17:16 +0100)
Publis/IJAMT2020/v1.0/fc_check.jpg
Publis/IJAMT2020/v1.0/main.tex
Publis/IJAMT2020/v1.0/sc_check.jpg
Publis/IJAMT2020/v1.0/t1check.jpg
Publis/IJAMT2020/v1.0/t2check.jpg
Publis/critical_parameters.py
Publis/imagesA0/T1check.jpg
Publis/imagesA0/T2check.jpg
Publis/imagesA0/fc_check.jpg
Publis/imagesA0/sc_check.jpg
Publis/mach_time_error.py

index 2b60c1d..5c6c336 100644 (file)
Binary files a/Publis/IJAMT2020/v1.0/fc_check.jpg and b/Publis/IJAMT2020/v1.0/fc_check.jpg differ
index bc8416f..4f4b7b9 100644 (file)
@@ -408,9 +408,9 @@ If $s < s_c$ then $\sqrt[3]{sod_1}$ is superior to the solution of equation \ref
 
 \subsection{Numerical validation}
 
-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}.
+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 validate 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}.
 
-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=\frac{56}{28}=2$. Using equation \ref{eq:fc}, the critical form factor is $\mu_c(s)=1.175$. Thus $\mu_c < \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, and it is possible to directly predict (without simulating the machining) the tool type with shorter machining time by using 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=\frac{56}{28}=2$. Using equation \ref{eq:fc}, the critical form factor is $\mu_c(s)=1.175$. Thus $\mu_c < \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, and it is possible to directly predict (without simulating the machining) the tool type with shorter machining time by using critical parameters.
 
 \hl{FIXME: transition}
 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,10\right]$. The relative error, defined in equation \ref{eq:rel_error}, is plotted in figure \ref{fig:rel_error}. The graph showing the evolution of machining times with respect to parameters $s$ and $\mu$ is given in figure \ref{}.
@@ -461,7 +461,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}$.
 
-According these considerations, 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 the well-known Principal Component Analysis \cite{abdi_principal_2010} (PCA) method that provides the ``best fit'' for a data cloud.\hl{TODO : check the reformulation}
+According these considerations, the principal direction corresponds to the line that minimizes the sum of squared distances $d_i^2$ 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 the well-known Principal Component Analysis \cite{abdi_principal_2010} (PCA) method that provides the ``best fit'' for a data cloud.
 
 \begin{figure}[ht]
  \centering
@@ -499,7 +499,7 @@ In these expressions, $\E(X)$ is the mean of quantity $X$ over the surface. Usin
 \subsubsection{Using eigenvalues ratio to approximate the width/height form factor}
 It is worth noting that the eigenvectors $\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 eigenvalues $\lambda_I$ and $\lambda_{II}$ represents the variance of the projected points on $\mathbf{S_I}$ and $\mathbf{S_{II}}$ respectively. 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 eigenvalues fraction and the caracteristic size by the square root of eigenvalues product. Equation \ref{eq:form-factor_approx} gives the approximation of the form factor parameter $\mu$, respectively  the caracteristic size (or area) $\chi$, defined previously for rectangular flat surfaces as the width by height ratio, respectively product. This approximation has been exactly proved for flat rectangular surfaces, the proof is given in annexe \hl{ref annexe}.
 \begin{equation}
- \tilde{\mu} = \sqrt{\frac{\lambda_I}{\lambda_{\textit{II}}}} \mbox{ and } \tilde{\chi} = \sqrt{12\,\lambda_I\,\lambda_{\textit{II}}}
+ \tilde{\mu} = \sqrt{\frac{\lambda_I}{\lambda_{\textit{II}}}} \mbox{ and } \tilde{\chi} = 12\,\sqrt{\lambda_I\,\lambda_{\textit{II}}}
  \label{eq:form-factor_approx}
 \end{equation}
 
index 2fa762d..ef5ba2d 100644 (file)
Binary files a/Publis/IJAMT2020/v1.0/sc_check.jpg and b/Publis/IJAMT2020/v1.0/sc_check.jpg differ
index c3c6792..a1bc92b 100644 (file)
Binary files a/Publis/IJAMT2020/v1.0/t1check.jpg and b/Publis/IJAMT2020/v1.0/t1check.jpg differ
index f834d24..c1e866a 100644 (file)
Binary files a/Publis/IJAMT2020/v1.0/t2check.jpg and b/Publis/IJAMT2020/v1.0/t2check.jpg differ
index d46a117..30b1b9d 100644 (file)
@@ -15,14 +15,14 @@ from xlrd import open_workbook
 # data
 s = np.arange(5,90,5)
 f = np.arange(1,10,0.5)
-f = np.sqrt(f)
+#f = np.sqrt(f)
 book_fc = open_workbook('critical ratio verification.xls')
 sheet_fc = book_fc.sheet_by_index(0)
 fc = []
 T1_fc = []
 T2_fc = []
 for i in range(4,21):
-    fc.append(float(sheet_fc.cell(i,1).value))
+    fc.append(float(sheet_fc.cell(i,1).value)**2)
     T1_fc.append(float(sheet_fc.cell(i,3).value))
     T2_fc.append(float(sheet_fc.cell(i,5).value))
 book_sc = open_workbook('critical slope verification.xls')
index c3c6792..d8d98d6 100644 (file)
Binary files a/Publis/imagesA0/T1check.jpg and b/Publis/imagesA0/T1check.jpg differ
index f834d24..f48faa0 100644 (file)
Binary files a/Publis/imagesA0/T2check.jpg and b/Publis/imagesA0/T2check.jpg differ
index 2b60c1d..bc21635 100644 (file)
Binary files a/Publis/imagesA0/fc_check.jpg and b/Publis/imagesA0/fc_check.jpg differ
index 2fa762d..4684678 100644 (file)
Binary files a/Publis/imagesA0/sc_check.jpg and b/Publis/imagesA0/sc_check.jpg differ
index 9cadc24..ab2033f 100644 (file)
@@ -17,7 +17,7 @@ from xlrd import open_workbook
 fig = plt.figure()
 ax = fig.gca(projection='3d')
 
-f = np.array([np.sqrt(k) for k in range(1,10)])
+f = np.array([k for k in range(1,10)])
 s = np.array([5+10*k for k in range(0,9)])
 f,s = np.meshgrid(f,s)
 book = open_workbook('machining time verification.xls')