1 Introduction

Additive manufacturing (AM) is a process that builds 3D objects, from 3D model data, by adding layer-by-layer of material. AM uses a wide variety of construction materials, such as plastic, resin, rubber, ceramics, glass, concrete, and metal. One of the greatest benefits of AM is the production of a wide range of shapes. The reduction of the development time of a prototype model in an additive manufacturing process is one of the current challenges faced by the manufacturing industries. Recently, AM is being used to fabricate end-use products in several areas, such as aircraft, dental restorations, medical implants, automobiles, and fashion products [1, 2].

The main concern in AM is the quality of the processed part. Poor surface finish is one of the major limitations in additive manufactured parts. It can be affected by different factors, from pre-processing, processing, and post-processing steps. The poor surface finish in AM processes can be affected by the tessellation of the original computer-aided design (CAD) model and the slicing procedure used during the building process. Although a reduction in the layer thickness may cause an improvement in the surface roughness, it increases the build time. Post-processing surface treatment results in additional build time and costs, and leads to a degradation of the geometrical definition of the model [3]. Some authors have demonstrated that an optimized building direction can improve the surface finish of an object [3,4,5,6,7,8,9,10].

The build orientation of a given part is a very important factor that influences different parameters, such as the staircase effect, the support volume, the support area, the number of supports required, the build time, the surface roughness, the surface quality, process planning, post-processing, and cost [11]. Several works were presented by different authors with the objective of obtaining the optimal build orientation of a 3D model in order to improve the printing process of this model [12,13,14].

The work presented in [15] aims to find an optimal orientation model that minimizes the amount of support material needed to print the object. A smaller amount of support material means a reduction in post-processing costs and an increase in accuracy and surface finish. The minimization of the support volume of 3D models was studied in [16]. Pereira et al. [17] optimized the object building orientation and the need for supports generation, concluding that the smaller the number of supports the better the accuracy and smoothness of the surface of the object. Two global optimization methods, electromagnetism-like algorithm (EM) and stretch simulated annealing algorithm, were used to find the best build orientation of four models, considering the staircase effect, support area, and build time can be found in the study [18]. Matos et al. [19] performed a single-objective work in order to obtain the optimal build orientation, using the Genetic Algorithm (GA) and considering three objective functions, the volumetric error, the support area, and the build time. In [20], an experimental study was carried out to optimize the build orientation problem of six models using six quality measures. An optimization model developed to improve the build orientation based on the minimization of support structures can be found in [21].

In a single-objective approach, a build orientation that satisfies one or two criteria, but does not meet them simultaneously, can be achieved. For instance, a good orientation angle providing the construction of the object in a fast time could lead to a big structure of supports affecting the surface finish of the object. Thus, multi-objective approaches have been developed to determine the optimal object building orientation in the construction of CAD models [22,23,24]. In this way, the build orientation problem can be divided into two essential tasks. The first is based on the identification of a set of alternative build orientations for a 3D object. The second task is the application of a multi-objective decision-making method, with the ability to determine the best alternatives considering different options [6, 25,26,27].

Vahabli and Rahmati [3] proposed a hybrid approach to obtain surface roughness values for different build angles. In this experimental research, they found that the larger the build angle the greater the surface roughness; reducing the layer thickness improves the surface roughness but increases the build time. An aggregated artificial neural network to investigate the simultaneous effects of layer thickness and print orientation of porous structures was developed in [28], thus verifying the compressive strength and porosity of the layers. The particle swarm optimization algorithm was used to approximate the Pareto front, concluding that decreasing the orientation angles decreases the delay time in moving to a new layer and also decreases the compression force. In contrast, the porosity of the object increases.

In [29], a bi-objective problem based on the amount of supports and the surface roughness, using a Zooming-Taguchi method, was optimized. The obtained results showed that the proposed method produced a better part build orientation compared to the conventional methods. A multi-objective problem was presented in [30], where the objectives were to minimize the support area, the visual salience, the preferred point of view, and the preservation of smoothness. They concluded that the applied model was a success because it was able to minimize the visual impact of the part. Brika et al. [31] used the GA and considered mechanical properties, support structures, surface roughness, build time, and cost in order to optimize the build orientation. In [32], the GA was used to optimize a weighted average of five normalized evaluation criteria (build height, staircase error, material utilization, surface area in contact with support structures, and volume of support structures) based on their relevance to the rapid prototyping process. They concluded that the optimization of the considered parameters provided significant improvements in part productivity, quality, and economy during part fabrication.

Gurrala and Regalla in [33] applied the NSGA-II algorithm to optimize the strength of the model and its volumetric shrinkage, concluding that the shrinkage of the part leads to increased resistance in the horizontal and vertical directions. Ga et al. [34] proposed a multi-objective strategy using a weighted sum method in order to reduce the support volume, build time, and costs and improve the surface quality. In [35], a multi-objective problem using the Tchebycheff method with the EM algorithm was proposed in order to minimize the area of the object in contact with the supporting structures and the build time of four 3D models. A multi-objective optimization to estimate the manufacturing cost and surface quality as a function of build orientation is reported in [36]. An experimental study based on a multi-objective optimization to evaluate the accuracy of dentures using different printing directions is presented in [37]. In [38], a multi-objective evolutionary approach is proposed to automate the choice of an optimal orientation in order to reduce the economic and environmental impacts of AM production.

From the works mentioned above, it can be concluded that the build orientation is a critical issue in AM. Moreover, the object accuracy in AM is highly dependent on its build orientation. The main goal of this paper is to optimize the part build orientation problem considering four criteria in order to provide the decision-maker the optimal build orientations and their trade-offs in printing the 3D Fin model. This work has a great contribution to the industry, since giving an adequate orientation in the printing process can reduce the building costs and improve the quality of the part. As far as we know, the build orientation problem has not yet been addressed as a many-objective optimization problem. In this paper, the many-objective approach involves four objective functions to be simultaneously optimized: support area (SA), build time (BT), surface roughness (RA), and surface quality (SQ).

This paper is organized as follows. Section 2 introduces several factors that can influence the quality of a produced part. In Section 3, the many-objective approach is presented as well as the 3D model to be studied. The results obtained considering different bi-objective problems and the many-objective problem are given in Section 4. Finally, Section 5 concludes the paper.

2 State of the art

2.1 Staircase effect

The quality of an object produced can be influenced by many different parameters, in particular the layer thickness. The number of layers required to construct an object affects the printing speed and the final quality of the object. The impact of layer thickness is more noticeable on curves and angles and is less prominent on straight vertical walls, due to the layer-by-layer nature of 3D printing.

The staircase effect occurs because different layers can stay inside or outside the contours of the original models, giving the perception of a layer, as can be seen in Fig. 1 (represented in two dimensions for a better visualization), where the original model is represented by a semi-circle and the layers displayed as rectangles. This effect results from the representation of curved objects by layers and is verified when the layer marks between the model surface and the part surface become distinctly visible on the surface of the parts. The error associated with the staircase effect is due to the layer thickness and the slope of the part surface [39]. The maximum deviation between the model surface and the printed object, caused by the staircase effect, is calculated by the maximum deviation from the layered part to the CAD surface measured in the normal direction to CAD surface.

Fig. 1
figure 1

Staircase effect scheme

The angle α is formed by the slicing direction d and the model surface normal n, and on the layer thickness t. Thicker layers and/or higher values of \(\cos \limits (\alpha )\) will produce larger values for cusp height (\(t\cos \limits (\alpha ))\) and consequently a more inaccurate surface appears [17, 24, 40].

2.2 Support area

The part orientation plays an important role in defining the amount of supports required to sustain overhanging parts. When adding a support structure to a part, the print time will be longer since the support structure also needs to be printed. In addition, the support structures can affect the surface finish when the supports are removed.

The amount of supports can be measured by the support area or support volume. The support volume is the volume of the region that is between the layer under construction and the platform of the 3D printer, and is computationally very complex to calculate. The support area mainly affects post-processing and surface finish and can be measured through the total contact area of the external supports with the object. Computationally, the support area is simpler and more important than the support volume when it comes to part accuracy [14, 18].

The support area can be mathematically formulated as

$$ SA=\sum\limits_{i} A_{i}\ \left|d^{T} n_{i}\right|\ \delta $$
(1)

where Ai is the area of each triangular facet i, ni is the normal unit vector of each triangular facet i, d is the unit vector of the direction of construction, and δ = 1 if dTni < 0 otherwise δ = 0 [14].

2.3 Build time

The time required to create an object accurately is composed of the time of the 3D printer to deposit the material layer-by-layer plus the time for support removal and surface finishing. The largest slice of time spent to build the object is due to the deposition time, while the time to remove support structures and finish the surface is only a smaller fraction of the overall time [22].

In [14], the build time encompasses the precise time for the platform to move downward during the construction of each layer, which depends on the total number of slices of the solid. On the other hand, the number of slices depends on the height of the construction orientation of the object; thus, the build time is proportional to the height of the model. Therefore, minimizing the height and the number of layers can decrease the build time of the solid.

The build time is given by

$$ BT=\max_{i}\left( d^{T} {v^{1}_{i}}, d^{T} {v^{2}_{i}}, d^{T} {v^{3}_{i}}\right)-\min_{i}\left( d^{T} {v^{1}_{i}}, d^{T} {v^{2}_{i}}, d^{T} {v^{3}_{i}}\right) $$
(2)

where d is the direction vector and \({v_{i}^{1}}, {v_{i}^{2}}, {v_{i}^{3}}\) are the vertex triangle facets i.

2.4 Surface roughness

The surface roughness can be affected by factors such as the layer thickness and the support structures [39, 41, 42] and consequently by the part orientation. Furthermore, it can affect the strength of parts during work performance leading to poor product quality [43,44,45,46]. Several authors have presented different approaches to define the surface roughness [4, 6, 7, 47, 48]. One of the most accepted strategies for the computation of surface roughness, given a certain range of angles, is formalized in [9, 49]. In [5], a review on surface roughness formulas and a combination of strategies to evaluate the surface roughness value are proposed.

The surface roughness for each triangle facet i, RAi, is defined taking into consideration the build angle 𝜃, and is given by

$$ RA_{i}=\left\{ \begin{array}{ll} 70.82\frac{t}{\cos(\theta_{i})},& {}\text{if} 0^{\circ} \leq \theta_{i} \leq 70^{\circ}\\[0.75em] \frac{1}{20} \left( 90 RA_{i}^{70}-70 RA_{i}^{90}+\theta_{i} \left( RA_{i}^{90}-RA_{i}^{70}\right)\right),& \text{if} 70^{\circ}<\theta_{i}<90^{\circ}\\[0.75em] 117.6 t,& {}\text{if} \theta_{i}=90^{\circ}\\[0.75em] RA_{i}^{\theta_{i}-90}(1+w),& {}\text{if} 90^{\circ}<\theta_{i} \leq 135^{\circ}\\[0.75em] \frac{1000}{2}t\left|\frac{\cos((90-\theta_{i})-\phi)}{\cos (\phi)}\right|,& {}\text{if} 135^{\circ}<\theta_{i} \leq 180^{\circ}\\[0.75em] \end{array} \right. $$
(3)

where t is the thickness of the layer, 𝜃i = 90 − αi, αi is the angle of the unit vector of the direction, and the normal unit vector for each triangle facet i, \(RA_{i}^{70}\), and \(RA_{i}^{90}\) are the values of RAi when 𝜃i = 70 and 𝜃i = 90, respectively. The w is a dimensionless adjustment parameter for supported facets, ϕ is a phase shift in the range of 5ϕ ≤ 15 depending on the layer thickness [5]. The value 70.82 in the first branch of Eq. 3 refers to a value inside the confidence interval \((69.28 \sim 72.36)\) used in [50], w = 0.2 as proposed in [9] and ϕ = 5 as in [5].

The average surface roughness, considering the area of the triangular facets, can be calculated by

$$ RA=\frac{{\sum}_{i} \left( RA_{i}\ A_{i}\right)}{{\sum}_{i} A_{i}} $$
(4)

where RAi is the roughness (in μm) of each triangular surface i and Ai is the area of triangular facet i. The smaller the RA values, the smoother the surface is.

2.5 Surface quality

The overall surface quality is one of the most studied characteristics in 3D printing processes that can be affected by the part orientation [10, 13, 40, 51]. Several studies focused their work on the surface finish optimizing the building time, accuracy, and stability of the part [24, 52].

One of the main issues affecting the surface finish is the staircase effect (see Fig. 1) that is influenced by the thickness of the layers. The smaller the layer thickness, the smaller staircase effect, leading to a better surface finish. This effect is related to the cusp height that is the maximum distance between the part surface and the model surface [53]. By using the cusp height, the surface quality can be determined from the object geometry, build direction, and layer thickness [20].

The global surface quality measure is defined by integrating the cusp height over the entire surface and given by

$$ SQ=\frac{{\sum}_{i}{\left|\cos(\alpha_{i})\right| t A_{i}}}{{\sum}_{i}{A_{i}}} $$
(5)

where t is the layer thickness, αi is the angle between the normal of the surface and the printing direction, and Ai is the area for each triangle i.

3 Proposed framework

3.1 Many-objective approach

The optimization problem aiming to solve the build orientation problem of a 3D CAD model is related to the computation of the optimal slicing direction d, which is a normalized vector (i.e., ∥d∥ = 1). In order to define the build orientation problem of a model, it is only required to consider the rotation angle 𝜃x of the model around x-axis and 𝜃y around y-axis, because in 3D-printed layer manufacturing the rotation of a model around the z-axis does not affect the construction process. In this study, the direction d = (0,0,1)T was considered as the slicing direction after a rotation along 𝜃 = (𝜃x,𝜃y) angles, where each angle is between 0 and 180.

The mathematical formulation of the optimization problem is given by

$$ \begin{array}{ll} \min & \{f_{1}\left( \theta_{x},\theta_{y}\right), \ldots, f_{k}\left( \theta_{x},\theta_{y}\right)\} \\ {s.t.} & 0 \leq \theta_{x} \leq 180\\ & 0 \leq \theta_{y} \leq 180 \end{array} $$
(6)

where k is the number of objective functions and 𝜃x and 𝜃y are the rotation angles along the x-axis and the y-axis, respectively.

The object orientation in the AM process is one of the key elements, which can have a significant effect on the quality of produced object, support requirement, build time, part stability, etc. The objective functions used in this study are as follows: the support area, the build time, the surface roughness, and the surface quality.

In this work, the elitist Non-dominated Sorting Genetic Algorithm (NSGA-II) is used [54]. This is a multi-objective genetic algorithm that mimics the natural evolution of the species. Evolution starts from a population of individuals randomly generated, where each individual represents a potential solution of the multi-objective optimization problem. In NSGA-II, each individual in the current population is evaluated using a Pareto ranking and a crowding measure. First, the best rank is assigned to all the non-dominated individuals in the current population. Solutions with the best rank are removed from the current population. Next, the second best rank is assigned to all the non-dominated solutions in the remaining population. In this manner, ranks are assigned to all solutions in the current population. The fittest individuals have a higher probability of being selected to generate new ones by genetic operators. NSGA-II uses a binary tournament selection based on non-domination rank and crowding distance to select a set of parent solutions. When two solutions are selected, the one with the lowest non-domination rank is preferred. Otherwise, if both solutions belong to the same rank, then the solution with the higher crowding distance is selected. Next, genetic operators such as recombination and mutation are applied to create an offspring population. Then, the two populations are merged together to form a combined population that is sorted according to different non-dominated fronts. If the size of the first non-dominated front is smaller then the population size, all members of this front are chosen for the new population. The remaining members of the population are chosen from subsequent non-dominated fronts in the order of their ranking.

The \(\text {MATLAB}^{{\circledR }}\) function gamultiobj provided in the Global Optimization Toolbox [55] will be used in order to approximate the Pareto fronts. The gamultiobj function implements a multi-objective genetic algorithm that is a variant of the elitist NSGA-II [54]. This function provides a set of algorithm options related with customizing randomization key properties, algorithm properties, and termination criteria.

3.2 Fin model

Additive manufacturing uses 3D CAD files converted in the form of a Standard Tessellation Language (STL) file, since it is the industry standard file type for 3D printing. The STL file format uses a polyhedral representation of a 3D object based on triangular facets to represent the surfaces of a solid model. To approximate the surface of a solid model, triangular facets are used for the polyhedral representation of a 3D object and the coordinates of the vertices in text format are defined in the STL file. The STL files describe only the surface geometry, not representing color, texture, or other common attributes of the CAD model. The more complex the model is, the greater the number of triangular facets.

The 3D CAD model that will be used in this study is the Fin model, as depicted in Fig. 2a. The model is symmetrical, so different orientations of the model on the x-axis and y-axis (keeping the z-axis fixed) can give the same build orientation. The size of the Fin model is 121.5 × 53.9 × 16 (width × height × depth) in millimeter and the volume is 33.3 cm3. The number of triangles is 15,370, as can be seen in Fig. 2b. A layer thickness of 0.2mm was used in this work.

Fig. 2
figure 2

Fin model

Figure 3 shows the objective function landscapes for the Fin model. It can be observed that all objective functions are nonconvex with multiple local optima.

Fig. 3
figure 3

Objective function landscapes

In order to know the optimal solution for each objective function, the ga function from MATLAB Global Optimization \(\text {Toolbox}^{{\circledR }}\) [55] that implements the Genetic Algorithm is used. GA is a stochastic, population-based algorithm based on the natural selection process that mimics biological evolution. GA randomly selects individuals from a current population and uses them as parents to produce the children for the next generations. Over successive generations, the population “evolves” toward an optimal solution randomly searching by mutation and crossover among population members [56].

In this work, a population size of 50 individuals and the maximum number of generations of 200 as stopping criterion is considered, when running GA. The optimal solution obtained for SA function is (𝜃x,𝜃y) = (0.00,0.00), that is equivalent to the solution (𝜃x,𝜃y) = (180.00,180.00). The angle (𝜃x,𝜃y) = (90.00,180.00) equivalent to (𝜃x,𝜃y) = (90.00,0.00)) is the optimal solution in terms of BT. For RA function, the solution angle (𝜃x,𝜃y) = (0.02,72.59), equivalent to (𝜃x,𝜃y) = (179.98,107.41), was obtained. The optimal SQ solution is given by (𝜃x,𝜃y) = (𝜃x,90), representing all solutions for which 𝜃x ∈ [0,180] and 𝜃y = 90.

4 Optimization results

4.1 Bi-objective results

Firstly, six bi-objective optimization problems were formulated for all possible pairs combinations of the four objectives (the support area, the build time, the surface roughness, and the surface quality):

  • SA vs. BT - problem (6) with f1 = SA and f2 = BT;

  • SA vs. RA - problem (6) with f1 = SA and f2 = RA;

  • SA vs. SQ - problem (6) with f1 = SA and f2 = SQ;

  • BT vs. RA - problem (6) with f1 = BT and f2 = RA;

  • BT vs. SQ - problem (6) with f1 = BT and f2 = SQ;

  • RA vs. SQ - problem (6) with f1 = RA and f2 = SQ.

The \(\text {MATLAB}^{{\circledR }}\) gamultiobj function was used to solve the bi-objective optimization problems. The population size and the maximum number of generations was set to 50 (default value) and 600, respectively. Due to the stochastic nature of the optimization algorithm, 30 independent runs were performed. By default, the Pareto fraction is 0.35; therefore, in each run, 18 non-dominated solutions are found (0.35 × population size). The Simplify 3D software (a 3D model printing simulator) allows visualizing the solutions found for the Fin model [57].

Thereafter, the results obtained for the SA vs. BT, SA vs. RA, SA vs. SQ, BT vs. RA, BT vs. SQ, and RA vs. SQ problems are presented and discussed. In all graphs, the sets of non-dominated solutions obtained among the 30 independent runs are plotted with a blue dot. It should be noted that most of these solutions are not optimal and do not belong to the Pareto front. Thus, from this overall set of solutions, the non-dominated ones were determined and marked with a red circle defining the Pareto front. Representative solutions are selected to discuss trade-offs between objectives and identify the characteristics associated with these solutions.

4.1.1 SA vs. BT

Figure 4 shows the Pareto front obtained for SA vs. BT problem. Representative non-dominated solutions A and H were selected. Dominated solutions C, E, and K are also marked since they correspond to non-dominated solutions when all objectives are optimized simultaneously (see Table 6). Table 1 shows the orientation angles and objective values for the representative solutions.

Fig. 4
figure 4

Pareto front for the SA vs. BT problem

Table 1 Representative dominated and non-dominated solutions for the SA vs. BT problem

It can be observed that SA increases from solution A to K. Solutions C, E, and K are dominated solutions when just these two objectives are considered. Solution A dominates solutions C and E since it is better in both objectives. Solution K is dominated by solution H since it is worse in both objectives.

In terms of orientation angles of the part, the part starts with an orientation of (0.00,0.02) and, gradually, is rotated until being totally laid down as it can be observed in Fig. 10a and Fig. 10g.

4.1.2 SA vs. RA

Figure 5 depicts the Pareto front obtained for the problem SA vs. RA and Table 2 shows the orientation angles and objective values of the solutions pointed out in the graph.

Fig. 5
figure 5

Pareto front for the SA vs. RA problem

Table 2 Representative non-dominated solutions for the SA vs. RA problem

All solutions from A to D are non-dominated solutions in terms of these objectives. Solutions A and D are the extremes of the Pareto front. Solutions A and B have similar orientations and have values close to SA, although with very different values of RA. Solution B is slightly worse than solution C in terms of RA but considerably better in terms of SA. These solutions are shown in Fig. 10a, b, and c.

4.1.3 SA vs. SQ

For the problem SA vs. SQ, just two non-dominated solutions were found: A = (0.00,0.02) e C = (∀𝜃x,90). The first solution has fewer supports (SA = 0.0940) than the second solution (SA = 594.2050), as can be seen in Fig. 10a and b. Regarding the objective function SQ, there is no major change in the value of SQ, but there is a small improvement in the solution C, as it has a value of SQ = 0.0252, while the solution A has a value of SQ = 0.0705.

4.1.4 BT vs. RA

For the BT vs. RA problem, the selected representative solutions are indicated in Fig. 6 and Table 3. All these solutions are non-dominated in terms of the two objectives.

Fig. 6
figure 6

Pareto front for the BT vs. RA problem

Table 3 Representative non-dominated solutions for the BT vs. RA problem

In Fig. 6, the solutions K and D are the extremes of the Pareto front. There is an increase in the value of BT from solution K to solution D, and, on the other hand, from K to D a decrease in the value of RA is observed. Thus, the objective functions BT and RA are, in this case, inversely proportional. Moreover, solution B represents a significant improvement on BT when compared with solution F at the expense of a very small degradation on the RA value. So, solution B is an efficient solution close to the elbow of the Pareto front, representing a balanced trade-off. Figure 10j, i, a, e, and c allow visualizing the supports needed for printing the part.

4.1.5 BT vs. SQ

Figure 7 shows the Pareto front for the BT vs. SQ problem. The selected representative solutions are all non-dominated with exception of solution H. Table 4 presents the orientations angles and the objective values for the non-dominated solutions.

Fig. 7
figure 7

Pareto front for the BT vs. SQ problem

Table 4 Representative non-dominated solutions for the BT vs. SQ problem

Solutions K and C are the extremes of the Pareto front. It can be observed, from solutions K to C, an increase in the value of BT and a small decrease in the value of SQ. Solutions A and E have the same value as SQ, although their orientations are similar, the values of BT are different. Solution A requires fewer support structures providing less time (BT) to print the part when compared to solution E, as shown in Fig. 10a and d. Figure 10a, b, c, d, h, and j show a significant change in the orientation of the part.

4.1.6 RA vs. SQ

The Pareto front for RA vs. SQ problem is represented in Fig. 8 pointing out the two non-dominated solutions C and D. From Table 5, it is clear that there is a decrease in the value of SQ and a small increase in the value of RA, from solution D to solution C.

Fig. 8
figure 8

Pareto front for the RA vs. SQ problem

Table 5 Representative non-dominated solutions for the RA vs. SQ problem

Figure 10b and c show a small change in the orientation of the part, with solution C needing fewer supports for printing, thus having a better surface quality (SQ) compared to solution D.

4.2 Many-objective results

The many-objective optimization problem aims to optimize the four objective functions simultaneously, considering f1 = SA, f2 = BT, f3 = RA, and f4 = SQ. The \(\text {MATLAB}^{{\circledR }}\) gamultiobj function was used to solve this many-objective problem with the same parameters used in the bi-objective optimization, that is, population size is 50 and maximum number of generations is 600. The problem was run for 30 times.

Table 6 presents all representative solutions selected for the bi-objective and many-objective problems. These solutions can be visualized in Fig. 10. All solutions presented in this table are non-dominated for the many-objective problem. Solution A has the lowest value of SA; conversely, solution L has the highest value. For solution A, the value of BT is greater than solution L, since the latter is in a lying position, that is, the lower height of the part (lower BT), as can be seen in Fig. 10a and k. Regarding the objective functions RA and SQ, there are lower values of these in solution A, compared to the solution L, since the fewer supports required (SA), the less the surface roughness (RA) and the higher the surface quality (SQ).

Table 6 Representative solutions for the many-objective problem

The Pareto front for this many-objective problem is a four-dimensional surface that can not easily be represented in a single graph. Therefore, the graphs showing the 2D-projections of the Pareto front are presented in Fig. 9.

Fig. 9
figure 9

Projected solutions of the many-objective problem

In Fig. 9a–f, the representative solutions of Table 6 are shown in terms of the 2D projections of the Pareto front. It is possible to observe that the non-dominated solutions C, E, and K are dominated solutions in the bi-objective problem SA vs. BT (Fig. 4). Finally, solutions G and L were only found in the problem of optimizing the four objective functions simultaneously (Fig. 10).

Fig. 10
figure 10

Visualization of the representative solutions presented in Table 6

4.3 Discussion of the results

The number of optimal solutions increases exponentially with a growing number of conflicting objectives. As expected, the solutions found for the single-objective problem were also found by the algorithm for the bi-objective and many-objective problems. These solutions are the extremes of the Pareto optimal fronts. Moreover, the Pareto optimal fronts of the bi-objective problems are the extremes of the 4D-dimensional Pareto front of the many-objective Pareto optimal front. So, some non-dominated solutions of the many-objective problem are dominated solutions of the bi-objective problems.

In the bi-objective optimization, some solutions were found repeatedly for different combinations of two objective functions. For the many-objective problem, additional optimal solutions were found that can not be attained using the bi-objective optimization. This highlights the importance of considering all objectives simultaneously nevertheless the increasing complexity of the resulting multi-objective problem. Therefore, the number of Pareto optimal solutions increases and, consequently, the difficulty to choose between them also increases.

The ultimate goal is to provide to the decision-maker several optimal alternatives and information about the trade-offs. Visualization tools are crucial to give to the decision-maker more understanding and insights about the problem. Therefore, in order the complement the information given by the Pareto front, path value graphs were plotted to help the decision-maker to identify the relevant compromises and differentiate between the representative solutions chosen from the set of non-dominated solutions.

Figure 11 is the path value graph for the representative solutions in terms of the objectives. The horizontal lines represent the standardized objective values for the different trade-off solutions. As expected, all horizontal lines cross each other because they represent non-dominated solutions. Since all objectives are being minimized, the lowest standardized objective values correspond to the best solutions. It can be observed that A and B are the best solutions for SA; H is the best solution in terms of BT; solution D has the best RA value; and C is the best solution for SQ. This graph highlights the trade-offs and also the similarity of solutions in terms of the objectives. For instance, solutions C and D are very similar. Solution C is better in terms of SA and SQ, but slightly worse in terms of BT and RA. Solution E is a balanced compromise between all objectives.

Fig. 11
figure 11

Graph for all objective functions for the Fin model

Figure 12 is the path value graph for objectives in terms of the representative solutions. The information in this graph complements the graph from Fig. 11. It can be observed that solution H has the best BT value, but it is very bad in terms of SA, RA, and SQ. On the other hand, A and B are the best solutions for SA and have reasonable values for the remaining objectives. Again, it is possible to observe that solution E has intermediate values of all objectives.

Fig. 12
figure 12

Graph for all orientations for the Fin model

5 Conclusions

In this paper, a many-objective optimization approach for the build orientation problem of the Fin model is presented. The optimized building orientation aims to reduce building costs and improve the quality of the model. The greatest contribution in this work is to assist the decision-maker in the 3D models orientation definition taking into account different factors. Four quality measures were considered: the total contact area of supports, build time, surface roughness, and surface quality. Several optimization problems were formulated and solved using the NSGA-II algorithm implemented in the \(\text {MATLAB}^{{\circledR }}\) environment.

Firstly, a bi-objective problem with combinations of two objective functions was presented, SA vs. BT, SA vs. RA, SA vs. SQ, BT vs. RA, BT vs. SQ, and RA vs. SQ. Here, the Pareto fronts for each combination of functions were shown and the representative non-dominated solutions were identified. Then, a many-objective approach aiming to optimize the four measures simultaneously, SA, BT, RA, and SQ, was proposed. Additional optimal solutions were found that could not be attained using the bi-objective optimization.

The 2D projections of the Pareto fronts of the many-objective problem were provided in order to select representative solutions. The results were analyzed using path value graphs in terms of the objectives and representative solutions to facilitate the identification of the compromises between the objectives.

The effectiveness of the proposed approach was verified allowing to find different optimal solutions considering the different criteria based on the four quality measures. This revealed a promising strategy to be taken into consideration in the future, assisting the decision-maker to choose a build orientation according to his/her preferences.

Finally, it was observed that, for all problems, the Pareto fronts have nonconvexities and discontinuities. This highlights the importance of formulating and solving this kind of problems as multi-objective problems. Furthermore, it is a very interesting issue for the industry, allowing to print a 3D object in a short time, with reduced material waste and with better surface finish.

In the future, multi-objective optimization using other objective functions and testing more difficult models will be performed.