A one-step method generally develops an exhaustive search algorithm or adopts an optimisation technique to search an OBO from an infinite solution space. This search process is a typical multi-objective optimisation (MOO) process. According to the search approach, one-step methods can be further divided into direct search-based methods and optimisation technique-based methods.
There is a contradictory issue in (5): How to set a proper step size? If the step size is assigned a large value, the number of the iterations of the entire part orientation process will be reduced. But this will increase the risk of missing the true OBO. If it is assigned a small value, such risk will be reduced. But this will greatly increase the number of iterations. If the step size is assigned random values, an OBO could be generated in a short time. But it is more likely to take a very long time. Because of the contradictory issue, most of the existing direct search-based methods have a shortcoming of low efficiency.
Unlike the direct search-based methods, it is rather difficult to use a unified flow to summarise all optimisation technique-based methods, because the optimisation techniques applied in the existing one-step methods are diverse and their principles or processes could be different in nature. However, according to a survey of the existing one-step methods, it is found that the most used optimisation technique is the population-based optimisation algorithm (PBOA), such as the genetic algorithm (GA), the particle swarm optimisation algorithm (PSOA), the bacterial foraging optimisation algorithm (BFOA), and the electromagnetism-like mechanism algorithm (ELMA). Without loss of generality, the general flow of the one-step methods using the PBOAs is described below.
The use of a PBOA is usually helpful to improve the efficiency. But this brings an issue of setting controlling parameters. In general, whether the set controlling parameters are optimal would significantly affect the effectiveness of the entire method. Determination of an optimal group of controlling parameters is not an easy task. In addition, a specific PBOA can only achieve good performance for specific types of optimisation problems. It is not clear which PBOA is the most suitable for a part orientation problem.
2.2.2 One-step methods for the SLA process
The method of [
25] established three decision criteria, including surface quality, build time, and support complexity, to search desirable build orientations for an SLA part directly. The surface quality was evaluated by the area of non-stepped and stepped surfaces. The build time was estimated via the number of layers. The support complexity was quantified by the supported points. The optimisation objective for searching the build orientations was to maximise the area of non-stepped surfaces and minimise the area of stepped surfaces, to minimise the number of layers, or to minimise the number of supported points. This method was demonstrated via a simulation example.
In the method of [
26], part stability, part accuracy, and build time were optimised at the same time to search an OBO for an SLA part directly. The part stability in a given build orientation
O was evaluated by a penalty function when the part is unstable in
O
$$ S_{\text{part}}^{O} = \frac{h_{\text{cog}}^{O}d_{\text{cogch}}^{O}}{a_{\text{base}}^{O}} $$
(3)
where
\(h_{\text {cog}}^{O}\) is the height of centre of gravity in
O,
\(d_{\text {cogch}}^{O}\) is the closest distance between the projection of centre of gravity and the convex hull of base in
O, and
\(a_{\text {base}}^{O}\) is the base area in
O. The part accuracy and build time were quantified by the overhanging region and number of layers, respectively. The OOF was established using the WSM, in which the weights were manually assigned. The optimisation objective for searching an OBO is to minimise the OOF. The feasibility of this method was verified by two simulation examples.
The method of [
28] optimised the part accuracy, build time, and part stability simultaneously to search an OBO for an SLA part directly. The part accuracy in a given build orientation
O was estimated by
$$ \begin{array}{@{}rcl@{}} A_{\text{part}}^{O} &=& \left( \sum\limits_{i=1}^{n}\frac{1}{\sin{\theta_{i}^{O}}\cos{\theta_{i}^{O}}}\right)/n\\&& + \left( \sum\limits_{j=1}^{n^{\prime}}a_{\text{psfacet},j}^{O}\right)/\left( \sum\limits_{i=1}^{n}a_{\text{facet},i}\right) \end{array} $$
(4)
where
n is the number of facets of the input STL model,
\(n^{\prime }\) is the number of sloping facets with respect to
O,
\({\theta _{i}^{O}}\) is the sloping angle of the
i th facet with respect to
O (i.e. the acute angle between the
i th facet and the XOY plane when
O and the +Z axis are in the same direction),
\(a_{\text {psfacet},j}^{O}\) is the area of the
j th projected sloping facet with respect to
O, and
afacet,i is the area of the
i th facet. The build time was estimated via the number of layers. The part stability was quantified using the ratio of projected support area to base area. The OOF was established using the WSM, where the weights were manually assigned. The optimisation objective for searching an OBO is to minimise the OOF. This method was illustrated by a simulation example.
In the method of [
29], a build orientation for an SLA part was searched directly based on the objectives of short build time, high part accuracy, and smooth surface roughness. The build time and part accuracy were evaluated using the response surface methodology. The surface roughness in a given build orientation
O was predicted by
$$ R_{\text{surface}}^{O} = \frac{\sum\limits_{i=1}^{n}\left( \left( 1874\sin{\theta_{i}^{O}}\cos{\theta_{i}^{O}}+3.5{\theta_{i}^{O}}+48\right)a_{\text{facet},i}\right)}{\sum\limits_{i=1}^{n}a_{\text{facet},i}} $$
(5)
The OOF was established using the WSM, in which the weights were manually assigned. The optimisation objective for searching an OBO is to minimise the OOF. This method was demonstrated via two simulation examples.
The method of [
38] optimised the post-processing time, post-processing cost, and number of layers simultaneously to search an OBO for an SLA part. The post-processing time in a given build orientation
O and the post-processing cost in
O were respectively evaluated by
$$ T_{\text{postproc}}^{O} = T_{\text{sremoval}}^{O} + T_{\text{polish}}^{O} + T_{\text{wash}} + T_{\text{postcure}} + T_{\text{transfer}} $$
(6)
$$ \begin{array}{@{}rcl@{}} C_{\text{postproc}}^{O} &=& C_{\text{sremoval}}^{O} + C_{\text{polish}}^{O} + C_{\text{wash}} + C_{\text{postcure}} \\ &&+ C_{\text{transfer}} + C_{\text{overhead}} \end{array} $$
(7)
where
\(T_{\text {sremoval}}^{O}\) is the support removal time in
O,
\(T_{\text {polish}}^{O}\) is the polishing time in
O,
Twash is the washing time,
Tpostcure is the post-curing time,
Ttransfer is the transferring time,
\(C_{\text {sremoval}}^{O}\) is the support removal cost in
O,
\(C_{\text {polish}}^{O}\) is the polishing cost in
O,
Cwash is the washing cost,
Cpostcure is the post-curing cost,
Ctransfer is the transferring cost, and
Coverhead is the overhead cost. The OOF was established using the WSM, in which the weights were manually specified. The optimisation objective for searching an OBO is to minimise the OOF. The search was accelerated by a model mapping approach based on the GA. The rotation step sizes from 0
∘ to 10
∘ were tested and compared. This method was demonstrated by three simulation examples, in which the rotation step size was assigned 5
∘.
In the method of [
39], the model in Eq.
5 was used to evaluate the surface roughness of an SLA part. The optimisation objective for searching an OBO is to minimise the surface roughness. The optimisation process was realised by the TRM. The rotation step size was set as 1
∘. This method was illustrated by two simulation examples.
The method of [
41] established a framework for searching an OBO for an SLA part. In this framework, the optimisation objective is to minimise a weighted sum of build time and surface roughness. The optimisation process was realised using the GA, in which random step sizes were used. The framework was tested by a set of simulation examples.
In the method of [
44], the objective functions of the surface roughness, build time, and support volume of an SLA part were handled individually via Pareto-based optimisation, which was performed by the GA. The surface roughness was evaluated using an adaptive slicing method presented by [
99]. The build time was calculated via an algorithm based on the number of layers. The support volume was estimated by a model presented by [
100]. This method was illustrated using two simulation examples.
The method of [
73] realised the simultaneous optimisation of the build orientation and structural topology of an SLA part. In this method, the mechanical properties of an as-built part were considered and a quantitative correlation between the process variables and the mechanical properties was established. The correlation was implemented for process and topology optimisation by a gradient-based algorithm. This method was validated via a set of fabrication examples.
2.2.3 One-step methods for the FDM process
The methods of [
31] and [
33] established one decision criterion, volumetric error, to search proper build orientations for an FDM part directly. The volumetric error in a given build orientation
O was evaluated by
$$ E_{\text{volum}}^{O} = \sum\limits_{i=1}^{N_{\text{layers}}^{O}}E_{\text{area},i}^{O}p_{\text{layer},i} $$
(8)
where
\(N_{\text {layers}}^{O}\) is the number of layers in
O,
player,i is the perimeter of the
i th layer, and
\(E_{\text {area},i}^{O}\) is the area error in the
i th layer with respect to
O that can be calculated using
$$ E_{\text{area},i}^{O} = \left\{ \begin{array}{ll} t_{\text{layer}}^{2}/(2\tan{\theta_{i}^{O}}) &\text{ if the }i\text{th layer is an overhanging layer} \\ (t_{\text{layer}}^{2}\tan{\theta_{i}^{O}})/2 &\text{ if the }i\text{th layer is not an overhanging layer} \end{array} \right. $$
(9)
where
tlayer is the constant layer thickness. In the method of [
34], a different model for estimating the volumetric error of an FDM part was developed as
$$ E_{\text{volume}}^{O} = \left|\sum\limits_{i=1}^{N_{\text{layers}}^{O}}\frac{1}{2}(a_{\text{layer},i+1}^{O} - a_{\text{layer},i}^{O})t_{\text{layer}}\right| $$
(10)
where
\(a_{\text {layer},i}^{O}\) is the horizontal area of the
i th layer with respect to
O. For the three methods, the optimisation objective for searching the build orientations was to minimise the volumetric error. These methods were validated via a set of simulation or fabrication examples.
The method of [
35] established two decision criteria, surface roughness and build time, to search an OBO for an FDM part. The surface roughness in a given build orientation
O was predicted by
$$ R_{\text{surface}}^{O} = \frac{\sum\limits_{i=1}^{n}\left( R_{\text{facet},i}^{O}a_{\text{facet},i}\right)}{\sum\limits_{i=1}^{n}a_{\text{facet},i}} $$
(11)
where
\(R_{\text {facet},i}^{O}\) is the surface roughness of the
i th facet in
O that was calculated via
$$ R_{\text{facet},i}^{O} = \left\{ \begin{array}{llll} (69.28 \rightarrow 72.36)t_{\text{layer}}/\tan{\theta_{i}^{O}} &\text{ if } 0^{\circ} \leq {\theta_{i}^{O}} \leq 70^{\circ} \\ 0.05\left( 90R_{70^{\circ}} - 70R_{90^{\circ}} + {\theta_{i}^{O}}(R_{90^{\circ}} - R_{70^{\circ}})\right) &\text{ if } 70^{\circ} < {\theta_{i}^{O}} < 90^{\circ} \\ 117.6t_{\text{layer}} &\text{ if } {\theta_{i}^{O}} = 90^{\circ} \\ 1.2R_{\text{facet},i}^{O} &\text{ if the }i\text{th facet is a supported facet} \end{array} \right. $$
(12)
where
\(R_{70^{\circ }}\) is the value of
\(R_{\text {facet},i}^{O}\) when
\({\theta _{i}^{O}} = 70^{\circ }\), and
\(R_{90^{\circ }}\) is the value of
\(R_{\text {facet},i}^{O}\) when
\({\theta _{i}^{O}} = 90^{\circ }\). The build time in
O was estimated through
$$ T_{\text{build}}^{O} = N_{\text{layers}}^{O}\left( 1 + \frac{\sum\limits_{j=1}^{n^{\prime\prime}}a_{\text{facet},j}}{\sum\limits_{i=1}^{n}a_{\text{facet},i}}R_{\text{sw2tw}}^{O}\right) $$
(13)
where
\(n^{\prime \prime }\) is the number of supported facets in
O, and
\(R_{\text {sw2tw}}^{O}\) is the ratio of the supported width in
O to the total width in
O. The optimisation objectives were to minimise the surface roughness and minimise the build time. The NSGA-II was adopted to accelerate the search and the rotation step size was assigned random values in the algorithm. This method was demonstrated by two simulation examples.
In the method of [
36], surface roughness and build time were optimised simultaneously to search an OBO for an FDM part. The surface roughness in a given build orientation
O was evaluated using the model in Eq.
11. The build time in
O was predicted by
$$ T_{\text{build}}^{O} = N_{\text{layers}}^{O}\left( 1 + \frac{\sum\limits_{j=1}^{n^{\prime\prime}}a_{\text{facet},j}}{\sum\limits_{i=1}^{n}a_{\text{facet},i}}D_{\text{smat}}\right) $$
(14)
where
Dsmat is the density of the support material. The OOF was established using the WSM, in which the weights were manually assigned. The optimisation objective is to minimise the OOF. The search was accelerated using the GA. This method was verified via two simulation examples.
The method of [
60] searched a build orientation for an FDM part via minimising the number of disconnected components and the distance between the disconnected components that remain, thereby minimising the total build time. The OOF was defined as a weighted sum of such number and distance and the height and trapped volume of the input 3D model. The weights of these criteria were determined based on the experiment results of 20 models. This effectiveness of this method was demonstrated by a comparison of simulation and fabrication results of six models with the part orientation method in [
10].
In the method of [
61], the surface roughness was estimated using a model based on analytical modelling and empirical investigation presented by [
101]. The build time was predicted using the model in Eq.
14. The search of an OBO for an FDM part was realised by PFA, which was performed using the NSGA-II. This method was validated by three fabrication examples.
The method of [
62] addressed the simultaneous optimisation of the volumetric error and material composition error of an FDM part. In this method, the volumetric error in a given build orientation
O was evaluated through
$$ E_{\text{volum}}^{O} = \left\{ \begin{array}{ll} \sum\limits_{i=1}^{n}(t_{\text{layer}}\left|{\delta_{i}^{O}}\right|a_{\text{facet},i}) &\text{ if }\left|{z_{i}^{O}}\right| = 1 \\ \sum\limits_{i=1}^{n}(1/2t_{\text{layer}}{z_{i}^{O}}a_{\text{facet},i}) &\text{ if }\left|{z_{i}^{O}}\right| \neq 1 \end{array} \right. $$
(15)
where
\({z_{i}^{O}}\) is the Z component of the unit normal vector of the
i th facet with respect to
O, and
\({\delta _{i}^{O}}\) was defined as
$$ {\delta_{i}^{O}} = \left|\lfloor({Z_{i}^{O}} - Z_{\min}^{O})/t_{\text{layer}} + 0.5\rfloor - ({Z_{i}^{O}} - Z_{\min}^{O})/t_{\text{layer}}\right| $$
(16)
where
\({z_{i}^{O}}\) is the Z coordinate of
i th facet with normal vector along the Z axis with respect to
O, and
\(Z_{\min \limits }^{O}\) is the bounding box minima in the Z direction with respect to
O. The material composition error in
O was calculated by
$$ E_{\text{mcomp}}^{O} = \frac{1}{N_{\text{voxels}}^{O}}\sum\limits_{i=1}^{N_{\text{voxels}}^{O}}\|C_{\text{dmat},i} - C_{\text{amat},i}\| $$
(17)
where
\(N_{\text {voxels}}^{O}\) is the number of voxels in
O,
Cdmat,i is the desired material composition at the
i th voxel centroid, and
Camat,i is the attainable material composition at the
i th voxel centroid. The OOF was formulated as a weighted sum of the volumetric error and material composition error, where the weights were manually specified. A build orientation for an FDM part was searched with an objective of minimising the OOF. The optimisation problem was solved by a SM-based global optimisation framework. This method was illustrated by a set of simulation examples.
In the method of [
65], the support volume and surface roughness were optimised at the same time to search an OBO for an FDM part. The support volume in a given build orientation
O was predicted by
$$ V_{\text{support}}^{O} = \frac{\sum\limits_{j=1}^{n^{\prime\prime}}\left( z_{\text{aver},j}^{O}a_{\text{facet},j}\right)}{\sum\limits_{i=1}^{n}a_{\text{facet},i}}\left( 1 + \sum\limits_{j=1}^{n^{\prime\prime}}\left|{Z_{j}^{O}}\right|\right) $$
(18)
where
\(z_{\text {aver},j}^{O}\) is the average of the Z components of the three vertices of the
i th facet with respect to
O. The surface roughness in
O was estimated via
$$ R_{\text{surface}}^{O} = \frac{\sum\limits_{i=1}^{n}\left( {Z_{i}^{O}}a_{\text{facet},i}\right)}{\sum\limits_{i=1}^{n}a_{\text{facet},i}} $$
(19)
The optimisation objectives were to minimise the support volume and to minimise the surface roughness. The optimisation was carried out using the Taguchi experiment method, in which the rotation step size was set as 1∘. This method was tested by a fabrication example.
The method of [
67] developed a novel support generation approach to reduce material consumption, build time, and energy consumption in FDM. Build orientation was considered as a significant factor and was optimised with an objective of minimising the support material. This method was tested via several fabrication examples.
In the method of [
68], a strategy for determining the OBO of 3D truss-like structures built using FDM was presented. The objective was to minimise the norm of dot products of the normal direction of build platform and the directions of tensile forces. The determination strategy was implemented using the SQPA. To demonstrate the method, two 3D truss-like structures fabricated by FDM were investigated.
The method of [
69] established the relationships between the build orientation of an FDM part and the tensile strength, hardness, flexural modulus, and surface roughness of the part via linear multiple regression. The OOF was formulated using the WSM, in which the weights were manually assigned. The optimisation was performed using a hybrid particle swarm optimisation-bacterial foraging optimisation algorithm. This method was tested through a set of fabrication examples.
In the method of [
70], estimation models for the surface quality and manufacturing cost of an FDM part were presented. The surface quality in a given build orientation
O was predicted via
$$ Q_{\text{surface}}^{O} = \frac{\sum\limits_{i=1}^{n}\left( P_{a,i}^{O}a_{\text{facet},i}\right)}{\sum\limits_{i=1}^{n}a_{\text{facet},i}} $$
(20)
where
\(P_{a,i}^{O}\) is the
Pa (arithmetic average of the unfiltered raw profile) value (defined in ISO 4287) of the
i th facet, which was calculated using a model constructed in [
102]. The manufacturing cost in
O was evaluated by
$$ C_{\text{manuf}}^{O} = (R_{\text{ecost}} + R_{\text{fcost}})T_{\text{build}}^{O} + C_{\text{smat}}^{O} + C_{\text{postproc}}^{O} $$
(21)
where
Recost is the energy cost rate (i.e. energy cost per unit time),
Rfcost is the fixed cost rate (i.e. fixed cost per unit time),
\(C_{\text {smat}}^{O}\) is the support material cost in
O,
\(C_{\text {postproc}}^{O}\) is the post-processing cost in
O, and
\(T_{\text {build}}^{O}\) was estimated using an estimator based on neural network in [
103]. The generation of the build orientations for an FDM part was realised by PFA, which was solved using the SMSEMOA. The final determination of an OBO was carried out via the technique for order of preference by similarity to ideal solution (TOPSIS). The reliability of the method was evaluated via a set of properly designed case studies.
The method of [
72] developed a multi-axis robot FDM system for dynamic part orientation. The system was constructed around two robot arms and an FDM extruder. Using the system, quantitative experiments were carried out to investigate the effect of build orientations on the surface roughness, support structure, and mechanical strength of an as-built part.
In the method of [
74], volumetric error, supported region area, staircase effect, build time, surface roughness, and surface quality were optimised simultaneously to search an OBO for an FDM part. The volumetric error in a given build orientation
O was evaluated by
$$ E_{\text{volum}}^{O} = \sum\limits_{i=1}^{n}\left( \frac{t_{\text{layer}}^{2}\left|\boldsymbol{o}^{\text{T}}\boldsymbol{v}_{i}\right|a_{\text{facet},i}}{2}\right) $$
(22)
where
oT is a unit vector expressing
O, and
vi is the unit normal vector of the
i th facet. The supported region area in
O was calculated using
$$ A_{\text{sregion}}^{O} = \sum\limits_{i=1}^{n}\left( \lambda a_{\text{facet},i}\left|\boldsymbol{o}^{\text{T}}\boldsymbol{v}_{i}\right|\right) $$
(23)
where
λ = 1 if
\(\boldsymbol {o}^{\text {T}}\boldsymbol {v}_{i} < 0\) and
λ = 0 if
\(\boldsymbol {o}^{\text {T}}\boldsymbol {v}_{i} > 0\). The staircase effect in
O was predicted via
$$ E_{\text{scase}}^{O} = \sum\limits_{i=1}^{n}E_{i} $$
(24)
where
\(E_{i} = t_{\text {layer}}/\tan {\vartheta _{i}^{O}}\) (
\({\vartheta _{i}^{O}}\) is the angle between the normal vector of the
i th facet and
O) if
\(\tan {\vartheta _{i}^{O}} \neq 0\) and
Ei = 0 if
\(\tan {\vartheta _{i}^{O}} = 0\). The build time in
O was estimated through
$$ \begin{array}{@{}rcl@{}} T_{\text{build}}^{O} &=& \max\limits_{i=1}^{n}\left( \boldsymbol{o}^{\text{T}}\boldsymbol{v}_{1,i}, \boldsymbol{o}^{\text{T}}\boldsymbol{v}_{2,i}, \boldsymbol{o}^{\text{T}}\boldsymbol{v}_{3,i}\right) \\ &&- \min\limits_{i=1}^{n}\left( \boldsymbol{o}^{\text{T}}\boldsymbol{v}_{1,i}, \boldsymbol{o}^{\text{T}}\boldsymbol{v}_{2,i}, \boldsymbol{o}^{\text{T}}\boldsymbol{v}_{3,i}\right) \end{array} $$
(25)
where
v1,i,
v2,i, and
v3,i are the three vertices of the
i th facet. The surface roughness in
O was evaluated by the model in Eq.
11, where
\(R_{\text {facet},i}^{O}\) was calculated by
$$ R_{\text{facet},i}^{O} = \left\{ \begin{array}{llll} 70.82t_{\text{layer}}/\cos{\vartheta_{i}^{O}} &\text{ if }0^{\circ} \leq {\vartheta_{i}^{O}} \leq 70^{\circ} \\ 0.05\left( 90R_{70^{\circ}} - 70R_{90^{\circ}} + {\vartheta_{i}^{O}}(R_{90^{\circ}} - R_{70^{\circ}})\right) &\text{ if }70^{\circ} < {\vartheta_{i}^{O}} < 90^{\circ} \\ 117.6t_{\text{layer}} &\text{ if }{\vartheta_{i}^{O}} = 90^{\circ} \\ 70.82\left( 1.2t_{\text{layer}}/\cos({\vartheta_{i}^{O}} - 90^{\circ})\right) &\text{ if }90^{\circ} < {\vartheta_{i}^{O}} \leq 135^{\circ} \\ 500t_{\text{layer}}\left|\cos(85^{\circ}-{\vartheta_{i}^{O}})/\cos5^{\circ}\right| &\text{ if }135^{\circ} < {\vartheta_{i}^{O}} \leq 180^{\circ} \end{array} \right. $$
(26)
The surface quality in
O was predicted via
$$ Q_{\text{surface}}^{O} = \frac{\sum\limits_{i=1}^{n}\left( \left|\cos{\vartheta_{i}^{O}}\right|t_{\text{layer}}a_{\text{facet},i}\right)}{\sum\limits_{i=1}^{n}a_{\text{facet},i}} $$
(27)
The search was accelerated using the ELMA and the rotation step size was assigned random values in the algorithm. This method was tested by a set of simulation examples.
The method of [
76] developed a concurrent density distribution and build orientation optimisation framework of functionally graded lattice structures built by the FDM process. The optimisation objective was to maximise the structural performance. The developed framework was demonstrated via three lightweight part design examples, whose degree of geometric complexity is from low to high. The demonstration results suggest that the OBO determined by the method can achieve better structural performance than the OBOs generated by slicing software.
In the method of [
78], a flexible support platform for the FDM process was developed. The objective of the method was to search a build orientation for a part to be built using the platform that minimises the support structure. The search was accelerated using the PSOA. The Pareto solution was generated via the algorithm. The effectiveness of the method was verified by three fabrication examples. The verification results show that a 3D model having cantilever structure can reduce more support structure after optimisation on the platform.
The method of [
80] considered two BOFs, build time and support structure, when searching an OBO for an FDM part. The build time in a given build orientation
O was estimated using the number of layers in
O. The support structure in
O was quantified by the area of supported region in
O. The search was accelerated by the GA, in which the fitness function was defined as a weighted sum of layer number and supported region area and the rotation step size was set as 1
∘. This method was tested by a set of simulation examples.
2.2.4 One-step methods for the SLS process
The method of [
32] addressed the concurrent determination of an OBO and packing of multiple SLS parts. In the determination process, the build time was considered and quantified by the build height and feeding powder quantity. The objectives were to minimise the build height and to minimise the ratio of X length to Y length at cross-section. In the packing process, each 3D model to be built was represented as a voxel structure and an adapted bottom-left approach was adopted. The concurrent optimisation was performed using the GA. This method was evaluated via a set of simulation examples.
In the method of [
43], the determination of an OBO for an SLS part with an objective of minimising the tensile strain was investigated. The SLS process was applied to build a set of test specimens. The relationships between strain, stress, and modulus against build orientations are established via tensile test experiments. Such relationships were expressed as
$$ A_{\max}^{O} = 0.000054\gamma^{2} - 0.00082\gamma + 0.85 $$
(28)
$$ E_{\max}^{O} = 0.00021\gamma^{2} - 0.10\gamma + 14.00 $$
(29)
$$ M_{\text{young}}^{O} = -0.0224\gamma^{2} + 0.74\gamma + 263.00 $$
(30)
where
\(A_{\max \limits }^{O}\) is the maximum strain in a given build orientation
O,
\(E_{\max \limits }^{O}\) is the maximum stress in
O,
\(M_{\text {young}}^{O}\) is the Young’s modulus in
O, and
γ is the angle between the load direction and the build platform of the machine. These equations were used in the selection of an OBO. This method was tested by a simulation example.
The method of [
45] established two decision criteria, surface roughness and build time, to search an OBO for an SLS part. The surface roughness in a given build orientation
O was predicted using the model in Eq.
11, where
\(R_{\text {facet},i}^{O}\) was calculated by
$$ R_{\text{facet},i}^{O} = \left\{ \begin{array}{ll} -2.04067 + 0.22{\theta_{i}^{O}} + 0.06722t_{\text{layer}} - 0.001368({\theta_{i}^{O}})^{2} &\text{ if the } i\text{th facet is an upward facet} \\ 185 - 9.52P_{\text{laser}} - 0.834{\theta_{i}^{O}} + 0.157t_{\text{layer}} + \\ 0.15P_{\text{laser}}^{2} - 0.00099({\theta_{i}^{O}})^{2} + 0.0058{\theta_{i}^{O}}t_{\text{layer}} &\text{ if the }i\text{th facet is a downward facet} \end{array} \right. $$
(31)
where Plaser is the laser power. The build time in O was quantified by the height of the input STL model in O. The search was accelerated by the NSGA-II and the multi-objective PSOA, in which the rotation step size was set random values. This method was tested by a set of simulation examples.
In the method of [
47], the surface roughness and energy consumption were optimised simultaneously to search an OBO for an SLS part. The surface roughness in a given build orientation
O was predicted using the model in Eq.
11, where
\(R_{\text {facet},i}^{O}\) was calculated using a model in [
40]. The energy consumption in
O was estimated by
$$ S_{\text{energy}}^{O} = \frac{P_{\text{laser}}}{v_{\text{scan}}s_{\text{hatch}}}\sum\limits_{i=1}^{N_{\text{layers}}^{O}}a_{\text{layer},i}^{O} $$
(32)
where
vscan is the scan velocity, and
shatch is the hatch spacing. The optimisation was realised via PFA, which was performed by the GA. The rotation step size was set as 5
∘. This method was tested via two simulation examples.
The method of [
55] optimised the build orientation of an SLS part with an objective of improving the surface quality. In this method, the surface roughness in a given build orientation
O was predicted using the model in Eq.
11, where
\(R_{\text {facet},i}^{O}\) was assigned according to a database of the surface quality. A validation of the method was carried out with a built monitor bracket. The measurement results of five different orientations of the monitor bracket showed a good accordance between the predicted surface roughness and measured surface roughness.
2.2.5 One-step methods for the LPBF process
The method of [
57] simultaneously optimised eight BOFs, including yield strength, tensile strength, elongation, hardness, surface roughness, support volume, build time, and build cost, to determine an OBO for an LPBF Ti6Al4V part. The yield strength, tensile strength, elongation, and hardness in a given build orientation
O were predicted using some models based on build orientation and post-processing heat treatments (stress relief, mill anneal, and hot isostatic pressing). The surface roughness in
O was estimated using the model in Eq.
11, where
\(R_{\text {facet},i}^{O}\) was calculated via
$$ R_{\text{facet},i}^{O} = 9.4148 + 0.0389{\theta_{i}^{O}} $$
(33)
This equation was established based on a study of the average surface roughness of LPBF Ti6Al4V samples in different build orientations and with a constant layer thickness of 0.03 mm. The support volume in
O was evaluated through geometric analysis. The build time and build cost in
O were respectively predicted using the models in [
104,
105]
$$ T_{\text{build}}^{O} = \frac{h_{\text{model}}^{O}}{t_{\text{layer}}}T_{\text{recoat}} + \frac{V_{\text{model}}+V_{\text{support}}^{O}}{t_{\text{layer}}s_{\text{hatch}}v_{\text{lscan}}} $$
(34)
$$ C_{\text{build}}^{O} = C_{\text{material}}^{O} + C_{\text{energy}}^{O} + C_{\text{indirect}}^{O} $$
(35)
where
\(h_{\text {model}}^{O}\) is the height of the input STL model in
O,
Trecoat is the recoating time,
Vmodel is the volume of the input STL model,
\(C_{\text {material}}^{O}\) is the material cost in
O,
\(C_{\text {energy}}^{O}\) is the energy cost in
O, and
\(C_{\text {indirect}}^{O}\) is the indirect cost in
O. The OOF was constructed using the WSM, where the weights were determined using triangular fuzzy numbers. The optimisation was accelerated using the GA, in which the rotation step sizes were randomly set. An LPBF part orientation system with a user-friendly graphical user interface was developed to optimise LPBF process variables and provide different estimation tools. The developed system was tested by two simulation examples.
In the method of [
64], an optimisation framework based on fast process modelling is presented to search an OBO for an LPBF part by minimising the support volume and maximum residual stress. The support volume in a given build orientation
O was estimated by a voxel-based approach. The maximum residual stress in
O was predicted using a voxel-based fictitious domain approach. The OOF was established using the WSM, where the weights were investigated via experiments. The optimisation was accelerated using the PSOA, in which the rotation step sizes were randomly set. Experimental validation of the framework was conducted on a realistic LPBF part with different geometric complexity.
The method of [
66] addressed the combined problem of searching an OBO and 2D irregular bin packing solution of a mixed batch of parts across the same LPBF machine. The total build cost was used as the objective function, which was estimated by
$$ C_{\text{build}}^{O} = \sum\limits_{i=1}^{N_{\text{bins}}}\left( R_{\text{indirect}}T_{\text{build},i}^{O} + P_{\text{bmat}}D_{\text{bmat}}\sum\limits_{j=1}^{N_{\text{pieces},i}}\left( V_{\text{model},j} + V_{\text{support},j}^{O}\right)\right) $$
(36)
where Nbins is the number of bins, Npieces,i is the number of pieces in the i th bin, Rindirect is the indirect cost rate (i.e. the indirect cost per unit time), Pbmat is the price of the build material, Dbmat is the density of the build material, and \(T_{\text {build},i}^{O}\) was approximated via
$$ T_{\text{build},i}^{O} = t_{\text{const}} + c_{\text{bheight}}h_{\text{build},i}^{O} + c_{\text{mvolume}}\sum\limits_{j=1}^{N_{\text{pieces},i}}V_{\text{model},j} + c_{\text{svolume}}\sum\limits_{j=1}^{N_{\text{pieces},i}}V_{\text{support},j}^{O} $$
(37)
where tconst is a constant time, \(h_{\text {build},i}^{O}\) is the build height of the i th bin in O, cbheight is the build height coefficient, cmvolume is the model volume coefficient, and csvolume is the support volume coefficient. The search was carried out by an iterative tabu search procedure, in which decreasing, random, and fixed rotation step sizes were respectively tested. To validate the method, a set of simulation experiments were conducted and the searching results were benchmarked against Materialise Magics, a commercial process planning software for metal AM.
In the method of [
71], a mathematical framework for minimisation of the structural compliance, build time, and build cost of an LPBF part in simultaneous part orientation and density-based topology optimisation. The surface area and support volume of an input 3D model were implemented as the physical factors affecting the build time and build cost. A new approach was developed to estimate support volume throughout topology optimisation with variable build orientations. This method was tested via three simulation examples.
2.2.6 One-step methods for over one processes
The method of [
27] directly searched a build orientation for an SLA/FDM part that can minimise the manufacturing cost of the part. In this method, the manufacturing cost in a given build orientation
O was defined as
$$ C_{\text{manuf}}^{O} = C_{\text{prebuild}}^{O} + C_{\text{build}}^{O} + C_{\text{postproc}}^{O} $$
(38)
where
\(C_{\text {prebuild}}^{O}\) is the pre-build cost in
O. The three types of cost were respectively calculated via
$$ C_{\text{prebuild}}^{O} = (R_{\text{operat}} + R_{\text{comput}})T_{\text{procplan}}^{O} + R_{\text{operat}}T_{\text{setup}} $$
(39)
$$ C_{\text{build}}^{O} = R_{\text{machine}}T_{\text{build}}^{O} + C_{\text{smat}}^{O} + C_{\text{mmat}} $$
(40)
$$ C_{\text{postproc}}^{O} = R_{\text{postproc}}T_{\text{postproc}}^{O} + C_{\text{ppmat}}^{O} $$
(41)
where
Roperat is the machine operator cost rate,
Rcomput is the computer cost rate,
\(T_{\text {procplan}}^{O}\) is the process planning time in
O,
Tsetup is the machine setup time,
Rmachine is the machine cost rate,
Cmmat is the model material cost,
Rpostproc is the post-processing cost rate, and
\(C_{\text {ppmat}}^{O}\) is the post-processing material cost in
O. This method was demonstrated through two simulation examples.
In the method of [
30], a framework for directly searching an OBO for an SLA/SLS/FDM/LOM part was presented. The part accuracy was selected as the primary optimisation objective and the surface roughness, build time, and build cost were chosen as the secondary optimisation objectives in the framework. This method was illustrated via a simulation example.
The method of [
37] developed a model to estimate the surface roughness in a given build orientation
O and a model to estimate the build time in
O:
$$ R_{\text{surface}}^{O} = \frac{\sum\limits_{i=1}^{n}\left( \frac{t_{\text{layer}}}{4}\cos{\theta_{i}^{O}} - \frac{({R_{1}^{2}}+{R_{2}^{2}})(1-\pi/4)\sin{\theta_{i}^{O}}}{t_{\text{layer}}} + \frac{({R_{1}^{2}}-{R_{2}^{2}})^{2}(1-\pi/4)^{2}}{t_{\text{layer}}^{3}}\tan{\theta_{i}^{O}}\sin{\theta_{i}^{O}}\right)a_{\text{facet},i} + \sum\limits_{j=1}^{n^{\prime\prime}}R_{\text{sr}}a_{\text{facet},j}}{\sum\limits_{i=1}^{n}a_{\text{facet},i}} $$
(42)
$$ T_{\text{build}}^{O} = N_{\text{layers}}^{O}\left( T_{\text{idle}} + D_{\text{mmat}}\left( \frac{V_{\text{model}}}{N_{\text{layers}}^{O}t_{\text{layer}}R_{\text{mha}}} + \frac{V_{\text{model}}}{N_{\text{layers}}^{O}t_{\text{layer}}R_{\text{msa}}}\right)\right) + D_{\text{smat}}\frac{d_{\text{lbeam}}\sum\limits_{i=1}^{n}a_{\text{facet},i}}{N_{\text{layers}}^{O}t_{\text{layer}}R_{\text{ssa}}} $$
(43)
where R1 is the radius of the round fillet, R2 is the radius of the corner fillet, Rsr is the constant surface roughness of the supported region, afacet,j is the area of the j th supported facet, Tidle is the idle time of the machine between layers, Dmmat is the density of the model material, Rmha is the model hatching rate (i.e. the area hatching per unit time), Rmsa is the model scanning rate (i.e. the area scanning per unit time), dlbeam is the diameter of the laser beam, and Rssa is the support scanning rate (i.e. the area scanning per unit time). The OOF was established using the WSM, where the weights were determined using triangular fuzzy numbers. The optimisation objective for searching an OBO for an SLA/SLS/FDM part is to minimise the OOF. The genetic algorithm was adopted to accelerate the search and the rotation step size was assigned random values in the algorithm. This method was demonstrated by five simulation examples.
In the method of [
40], the required post-machining region in a build orientation
O was considered and quantified using
$$ R_{\text{postmach}}^{O} = \sum\limits_{i=1}^{n}a_{\text{facet},i}v_{\text{binary},i}^{O} $$
(44)
where
\(v_{\text {binary},i}^{O}\) is a binary variable corresponding to the
i th facet in
O that was obtained according to
$$ v_{\text{binary},i}^{O} = \left\{ \begin{array}{ll} 1 &\text{ if }R_{\text{surface},i}^{O} > R_{\text{target}} \\ 0 &\text{ if }R_{\text{surface},i}^{O} \leq R_{\text{target}} \end{array} \right. $$
(45)
where
Rtarget is a target roughness whose value was set according to the actual situation, and
\(R_{\text {surface},i}^{O}\) is the surface roughness of the
i th facet in
O that was estimated by
$$ R_{\text{surface},i}^{O} = R(\theta_{\text{prev}}) + \frac{R(\theta_{\text{next}}) - R(\theta_{\text{prev}})}{\theta_{\text{next}} - \theta_{\text{prev}}}({\theta_{i}^{O}} - \theta_{\text{prev}}) $$
(46)
where
𝜃prev is the previous sloping angle,
𝜃next is the next sloping angle,
R(
𝜃prev) is the measured roughness at the previous sloping angle, and
R(
𝜃next) is the measured roughness at the next sloping angle. An OBO for an SLA/SLS/FDM part was searched with an objective of minimising the required post-machining region. The search was accelerated using the GA and the rotation step size was assigned random values in the algorithm. This method was tested by a set of simulation examples.
The method of [
42] optimised the surface roughness, build time, and support structure simultaneously to search an OBO for an SLA/SLS part. The surface roughness was estimated using the model in Eq.
5. The build time in a given build orientation
O was calculated using a model presented by [
35]. The support structure was quantified by the area of the supported region. The optimisation objective is to minimise a weighted sum of surface roughness, build time, and support structure. The optimisation process was realised by the TRM. The rotation step size was set as 1
∘. This method was illustrated by three simulation examples. This method is similar to the method of [
39] at several aspects. But it adds the optimisation of build time and support structure.
In the method of [
46], the cylindricity error in a given build orientation
O was evaluated by
$$ E_{\text{cylindr}}^{O} = \sum\limits_{i=1}^{N_{\text{fcyl}}}\left( t_{\text{layer}}\sin{\psi_{i}^{O}}\right) $$
(47)
where
Nfcyl is the number of facets with cylindricity tolerance, and
\({\psi _{i}^{O}}\) is the angle between the cylinder axis and
O. An OBO for an SLA/SLS part was directly searched with an objective of minimising the cylindricity error. This method was illustrated through a simulation example.
The method of [
48] searched an OBO for an SLA/SLS/FDM part via simultaneously optimising build height, surface roughness, and material utilisation. The build height in a given build orientation
O was calculated by
$$ h_{\text{build}}^{O} = h_{\text{model}}^{O}/(1.2l_{\text{bbdiag}}^{O}) $$
(48)
where
\(l_{\text {bbdiag}}^{O}\) is the length of diagonal of the bounding box with respect to
O. The surface roughness in a given build orientation
O was evaluated via
$$ R_{\text{surface}}^{O} = \frac{\sum\limits_{i=1}^{n}\left( \left( 70.82t_{\text{layer}}/\cos{\theta_{i}^{O}}\right)a_{\text{facet},i}\right)}{\sum\limits_{i=1}^{n}a_{\text{facet},i}} $$
(49)
The material utilisation is the percentage of material used in building a hollowed SLA part and was quantified as ratio of the volume of hollowed model to the volume of solid model. The optimisation process was realised by the GA, in which the rotation angles were generated randomly in their range. This method was tested by three simulation examples.
In the method of [
49], a multi-sphere model was used to optimise the build orientation of an AM part. Two criteria, theoretical volume deviation and model height, are considered in the optimisation. The search of an OBO was realised via PFA, which was performed using the GA. This method was tested by three simulation examples. The method of [
50] developed a unit sphere discretisation and search approach to optimise the build orientation of an AM part with minimum volumetric error. In this approach, a unit sphere was uniformly discretised first to express the potential build orientations in 3D space. Then, each facet of the STL model was mapped to the discretised unit sphere as a great circle, which denotes the optimal orientation for this facet. To find the globally OBO, both exhaustive search and genetic algorithm-based search were carried out. This method was demonstrated via three simulation examples.
In the method of [
51], how the support structure of an AM part can be optimised via changing the build orientation of the part was examined. The objective function of support volume was defined as a continuous function with respect to the build orientations. An efficient algorithm running on a graphics processing unit was presented to compute the support volume in a given build orientation. The presented algorithm was extended to search a build orientation with minimum support volume. This method was validated by a set of simulation examples.
The method of [
52] searched an OBO for an AM part directly with objectives of reducing the cylindricity and flatness errors and minimising the support volume. The cylindricity error in a given build orientation
O was evaluated using the model in Eq.
47. The flatness error in
O was estimated via
$$ E_{\text{flatness}}^{O} = \sum\limits_{i=1}^{N_{\text{fflat}}}\left( t_{\text{layer}}\cos{\theta_{i}^{O}}\right) $$
(50)
where
Nfflat is the number of facets with flatness tolerance. The support volume in
O was calculated by a voxel-based approach. The OOF was constructed using the WSM, in which the weights were manually specified. This method was tested via two simulation examples. The method of [
58] extended the method of [
52] via adding the consideration of perpendicularity and parallelism errors, which were respectively estimated via
$$ E_{\text{perpend}}^{O} = \sum\limits_{i=1}^{N_{\text{fperp}}}\left( t_{\text{layer}}\cos{\theta_{i}^{O}}\right) $$
(51)
$$ E_{\text{parall}}^{O} = \sum\limits_{i=1}^{N_{\text{fpar}}}\left( t_{\text{layer}}\cos{\theta_{i}^{O}}\right) $$
(52)
where
Nfperp is the number of facets with perpendicularity tolerance, and
Nfpar is the number of facets with parallelism tolerance.
In the method of [
53], a perceptual model to search build orientations that avoid placing support in perceptually significant region was presented. The OOF was formulated as a weighted sum of metrics including supported region area, visual saliency, preferred viewpoint, and smoothness preservation. A training-and-learning methodology was developed to obtain a closed-form solution for the presented model. The performance of the model was demonstrated via a set of simulation and fabrication examples. The main characteristic of this method is to introduce the ELM into part orientation for SLA/FDM. Because of this, the search efficiency is generally better than direct search and search based on optimisation algorithms. However, the training of the model requires a certain amount of sample data, which is sometimes not so easy to obtain in practice.
The method of [
54] established an integrated framework for optimisation of AM process variables via geometric analysis. The optimisation objectives were to ensure the manufacturability and to minimise the build complexity. The OOF was formulated using the WSM, in which the weights were determined by an approach based on hypothetical equivalents and inequivalents. The optimisation process was performed using the GA. This methods was tested via two freeform surface models.
In the method of [
56], a fast determination strategy of an OBO for an AM part with an objective of minimising the volumetric error was presented. The staircase effect between two consecutive layers was analysed and an estimation model of volumetric error was established as
$$ E_{\text{volum}}^{O} = \sum\limits_{i=1}^{n}\left( \frac{1}{2}t_{\text{layer}}|\cos\vartheta_{i}|a_{\text{facet},i}\right) $$
(53)
The area weighted normal was introduced to convert a part orientation problem to a least absolute deviation linear regression problem. The PCABOA was used to solve the converted problem. The effectiveness and efficiency of the presented strategy were evaluated on several simulation and fabrication examples.
The method of [
59] considered eights criteria, including support volume, supported region area, support accessibility, number of layers, number of small openings, number of thin regions, number of sharp corners, and average cusp height, in optimisation of the build orientation of an AM part. The OOF was constructed using the WSM, in which the weights were manually assigned. The optimisation was implemented using the Matlab routine based on global search algorithm. This method was tested via a simulation example.
In the method of [
63], the staircase effect and supported region area were optimised simultaneously to search an OBO for an AM part. The staircase effect in a given build orientation
O was evaluated by
$$ E_{\text{scase}}^{O} = \left\{ \begin{array}{ll} \text{Eq.~22} &\text{ if }\left|\boldsymbol{o}^{\text{T}}\boldsymbol{v}_{i}\right| \neq 1 \\ 0 &\text{ if }\left|\boldsymbol{o}^{\text{T}}\boldsymbol{v}_{i}\right| = 1 \end{array} \right. $$
(54)
The supported region area was estimated via
$$ A_{\text{sregion}}^{O} = \left\{ \begin{array}{ll} \text{Eq.~23} &\text{ if }\left|\boldsymbol{o}^{\text{T}}\boldsymbol{v}_{i}\right| \neq -1\text{ and the }i\text{th facet is not on the build base} \\ 0 &\text{ if }\left|\boldsymbol{o}^{\text{T}}\boldsymbol{v}_{i}\right| = -1\text{ or the }i\text{th facet is on the build base} \end{array} \right. $$
(55)
The search was accelerated using the PSOA. This method was illustrated via three simulation examples.
The method of [
75] addressed the objective function of the build cost of an SLA/FDM/IJ part via PFA, which was carried out by the NSGA-II and the GDE3. The build cost in a given build orientation
O was evaluated by
$$ C_{\text{build}}^{O} = T_{\text{build}}^{O}R_{\text{pcost}} + (M_{\text{model}} + M_{\text{support}}^{O})R_{\text{mcost}} $$
(56)
where
Mmodel is the mass of the input 3D model,
\(M_{\text {support}}^{O}\) is the mass of the support in
O,
Rpcost is the production cost rate (i.e. the production cost per unit time), and
Rmcost is the material cost rate (i.e. the material cost per unit mass). This method was tested by three simulation examples.
In the method of [
77], the support volume, surface roughness, salient area roughness, and mechanical property were optimised simultaneously to determine an OBO for an SLA/FDM part. The support volume in a given build orientation
O was predicted using
$$ V_{\text{support}}^{O} = \sum\limits_{i=1}^{N}\left( a_{\text{grid},i}\sum\limits_{j=1}^{N^{\prime}}h_{\text{support},{i,j}}^{O}\right) $$
(57)
where
N is the number of grids,
\(N^{\prime }\) is the number of supported points,
agrid,i is the area of the
i th grid, and
\(h_{\text {support},{i,j}}^{O}\) is the support height of the
j th supported point of the
i th grid. The surface roughness in
O was estimated by
$$ R_{\text{surface}}^{O} = w_{\text{fsr}}\sum\limits_{i=1}^{n}\left( \frac{1}{2}a_{\text{facet},i}^{O}\cos{\theta_{i}^{O}}\right) + w_{\text{sfsr}}\sum\limits_{j=1}^{n^{\prime\prime}}a_{\text{facet},j}^{O} $$
(58)
where
wfsr is the weight of the facet surface roughness and
wsfsr is the weight of the supported facet surface roughness. The salient area roughness in
O was evaluated using
$$ R_{\text{area}}^{O} = \sum\limits_{i=1}^{n}\left( c_{\text{facet},i}\left( \frac{1}{2}w_{\text{fsr}}a_{\text{facet},i}^{O}\cos{\theta_{i}^{O}} + w_{\text{sfsr}}a_{\text{facet},i}^{O}\right)\right) $$
(59)
where
cfacet,i is the cone curvature of the
i th facet. The mechanical property in
O was predicted via
$$ P_{\text{mech}}^{O} = \sum\limits_{i=1}^{N^{\prime\prime}}\left( \omega_{i}\left|S_{\max,i}\cos{\varphi_{i}^{O}}\right|\right) $$
(60)
where
\(N^{\prime \prime }\) is the number of critical sections,
ωi is the weight of the
i th critical section,
\(S_{\max \limits ,i}\) is the maximum normal stress in the
i th critical section, and
\({\varphi _{i}^{O}}\) is the angle between
\(S_{\max \limits ,i}\) and
O. The OOF was established using the WSM, where the weights were manually specified. The optimisation was realised using the PSOA. This method was validated by a set of fabrication examples.
The method of [
79] developed a build orientation determination algorithm to minimise the amount of shape modifications required to make the shape manufacturable with a given AM process. The effectiveness of the algorithm was demonstrated via a set of simulation and fabrication examples.
In the method of [
81], the build orientation and topological layout of an AM part were optimised simultaneously to satisfy the overhanging angle constraints for part self-support. These overhanging angle constraints were converted into two global constraints via the Heaviside projection-based aggregations. The first global constraint controls the overhanging angle of the interface inside the 3D model to eliminate the internal support. The second global constraint controls the angle of the 3D model boundary to reduce the external support. The effectiveness and efficiency of the method in build orientation optimisation and overhanging angle control were demonstrated via several simulation and fabrication examples.