## 3 Integrated User-Oriented Framework
### End-User Application
#### 3.3.1 Helping User to Select the Printing Material
\[d_{i}^{+}=\left\{\sum_{j=1}^{n}\big{(}(v_{ij}-v_{j}^{+}\big{)}^{2}\bigg{)}^{ \frac{1}{2}}\right. \tag{6}\]  
\[d_{i}^{-}=\left\{\sum_{j=1}^{n}\big{(}(v_{ij}-v_{j}^{-}\big{)}^{2}\bigg{)}^{ \frac{1}{2}}\right. \tag{7}\]  
Step 6: Computation of the proximity to the ideal solution. \[R_{i}=\frac{d_{i}^{-}}{d_{i}^{+}+d_{i}^{-}} \tag{8}\]  
The result of the above equation gives a value from 0 to 1 for each alternative \(i\); thus, the higher that value, the better the performance of the material for the given requirements. Higher \(R_{i}\) value represents a better material for the requirements set. The results of Steps 3-6 are shown in Table 5.  
The TOPSIS method is performed in the user application from the data provided by the Cloud Service. As explained in Section 3.2, this service provides material information in a data structure, which includes a list of the available materials, the criteria being evaluated and the decision matrix. \begin{table}
\begin{tabular}{c c c c c} \hline \hline  & **Criterion 1** & **Criterion 2** & \(\dots\) & **Criterion n** \\ \hline
**Material 1** & \(x_{11}\) & \(x_{12}\) & \(\dots\) & \(x_{1n}\) \\ \hline
**Material 2** & \(x_{21}\) & \(x_{22}\) & \(\dots\) & \(x_{2n}\) \\ \hline \(\dots\) & \(\dots\) & \(\dots\) & \(\dots\) & \(\dots\) \\ \hline
**Material m** & \(x_{m1}\) & \(x_{m2}\) & \(\dots\) & \(x_{mn}\) \\ \hline
**Criterion weight** & \(W_{1}\) & \(W_{2}\) & \(\dots\) & \(W_{n}\) \\ \hline \hline \end{tabular}
\end{table} 
Table 4: Decision matrix and weights for each criterion. The graphical representation of the material selection process, guided through the app, as well as the activities carried out are shown in Figure 6a,b respectively. The user weights the criteria using sliders represented graphically on the material selection screen, as is shown in Figure 6a. The algorithm takes these weights to build the weight criteria vector (B0 in Figure 6b). The TOPSIS method (B1 in Figure 6b) is then run to \begin{table}
\begin{tabular}{c c c c c c c c} \hline \hline  & **Criterion 1** & **Criterion 2** & \(\dots\) & **Criterion n** & \(\mathbf{d_{i}^{+}}\) & \(\mathbf{d_{i}^{-}}\) & \(\mathbf{R_{i}}\) \\ \hline
**Material 1** & \(v_{11}\) & \(v_{12}\) & \(\dots\) & \(v_{1n}\) & \(d_{1}^{+}\) & \(d_{1}^{-}\) & \(R_{1}\) \\ \hline
**Material 2** & \(v_{21}\) & \(v_{22}\) & \(\dots\) & \(v_{2n}\) & \(d_{2}^{+}\) & \(d_{2}^{-}\) & \(R_{2}\) \\ \hline
**\(\dots\)** & \(\dots\) & \(\dots\) & \(\dots\) & \(\dots\) & \(\dots\) & \(\dots\) \\ \hline
**Material m** & \(v_{m1}\) & \(v_{m2}\) & \(\dots\) & \(v_{mm}\) & \(d_{m}^{+}\) & \(d_{m}^{-}\) & \(R_{m}\) \\ \hline
**Normalised weight** & \(w_{1}\) & \(w_{2}\) & \(\dots\) & \(w_{n}\) & & & \\ \hline \(A^{+}\) & \(v_{1}^{+}\) & \(v_{2}^{+}\) & \(\dots\) & \(v_{n}^{+}\) & & & \\ \hline \(A^{-}\) & \(v_{1}^{-}\) & \(v_{2}^{-}\) & \(\dots\) & \(v_{n}^{-}\) & & & \\ \hline \hline \end{tabular}
\end{table} 
Table 5: Normalised matrix, ideal and anti-ideal solution, Euclidean distances and performances. Figure 6: Material selection support process. (**a**) Graphic representation of the selection process (View); (**b**) IDEF0 diagram (ViewModel and Model). obtain the material performance vector. This vector contains the results ranked according to their \(R_{i}\)-index (Equation (8)). Each material's performance is shown in the application using progress bars (control input of action B2). Therefore, the user can see graphically which material is best suited and can decide which one to choose. Once the material has been chosen, the process of generating the toolpath code for printing the part is carried out. The survey responses from companies in the port environment agreed on highlighting ease of use as one of the requirements for effective implementation of 3D printing in the sector. The printing service must exempt non-expert users from other responsibilities, such as software applications maintenance, machine code generation, expert parameter selection, etc.