1 Introduction

Additive manufacturing (AM), historically known as freeform fabrication, solid freeform fabrication, layer manufacturing, additive layer manufacturing, additive processes, additive techniques, and three-dimensional (3D) printing, is a set of processes of adding materials together in a layer upon layer manner to build 3D parts from 3D model data [1]. Compared to conventional manufacturing processes, AM processes have distinguishing characteristics in providing high degree of freedom for design and achieving complex geometries without additional cost. In addition, AM processes enable the direct production of products with heterogeneous materials, multiple colours, and customisable functionalities [2, 3]. Convinced by such characteristics and capability, some have anticipated that AM processes would bring revolutionary changes to the industry [4].

Existing AM processes were categorised into vat photopolymerisation, material jetting, binder jetting, powder bed fusion, material extrusion, directed energy deposition, and sheet lamination [5], where:

  1. (1)

    Vat photopolymerisation builds 3D parts by selectively curing the liquid photopolymer in a vat through targeted light-activated polymerisation. The earliest vat photopolymerisation technology is stereolithography (SLA). Other technologies include digital light processing, continuous liquid interface production, and daylight polymer printing. Vat photopolymerisation is known as a fast and accurate AM process that can be used to build rather large parts.

  2. (2)

    Material jetting builds 3D parts by selectively depositing the droplets of material. The development of this process mainly derived from the standard inkjet technology used by conventional two-dimensional (2D) printers on papers, as the process directly deposits droplets of build material onto a substrate by drop-on-demand ink jetting (IJ). The material jetting process is a great choice for realistic prototypes. It can provide an excellent level of details, high accuracy, and smooth surface roughness and supports the build of a part with multiple colours and materials.

  3. (3)

    Binder jetting builds 3D parts by joining material through selectively depositing liquid binder. This process can work with a variety of materials, which include polymer, metal, ceramic, sand, and composite. 3D parts can be built with a range of different colours using the process.

  4. (4)

    Powder bed fusion builds 3D parts by using either a laser beam or an electron beam to selectively fuse the regions of a powder bed. The earliest powder bed fusion technology is selective laser sintering (SLS), which mainly uses polymer as the build material. Metal is not commonly used in it since there are three important metal powder bed fusion techniques. They are electron beam melting (EBM), direct metal laser melting, and selective laser melting, where the latter two techniques are commonly referred to as laser powder bed fusion (LPBF) [6]. The SLS process benefits from requiring no additional support. EBM and LPBF enable the fabrication of metallic components with near full density and high strength and stiffness, which makes them two very promising metal AM technologies for producing functional components in the industry.

  5. (5)

    Material extrusion builds 3D parts by selectively dispensing material through a nozzle or an orifice. A common material extrusion technique is fuse deposition modelling (FDM), which builds layers through mechanically extruding molten thermoplastic material onto a substrate. Material extrusion is well-known as an inexpensive AM process which has been widely used in many domestic and hobby AM machines. It supports a wide variety of materials, such as polymer, composite, metal, and ceramic.

  6. (6)

    Directed energy deposition builds 3D parts by using focused thermal energy to melt material as it is being deposited. An important directed energy deposition technique is laser engineered net shaping. Other representative techniques include laser deposition welding, 3D laser cladding, direct metal deposition (DMD), and directed light fabrication. The directed energy deposition process can be used with metal, ceramic, and composite. It can control the grain structure to a high degree, which makes it uniquely suitable for repairing complex damaged parts.

  7. (7)

    Sheet lamination builds 3D parts by bonding sheets of material. Two representative sheet lamination techniques are laminated object manufacturing (LOM) and paper 3D printing. The sheet lamination process has the advantages of ease of material handling, smooth surface roughness, and low material, machine and process costs.

In general, the use of an AM process to realise a product contains a set of activities [7], where process planning is a critical one [8,9,10]. Process planning for AM refers to an activity of determining appropriate process variables, including orientation, support, slices, tool path, and process parameters, to build a part using an AM machine [11]. It consists of four successive tasks before the construction of a part. Part orientation is the first task, which directly influences its three subsequent tasks, which are support generation [12], slicing [13], and path planning [14].

In the context of AM, the orientation to build a part is one of the most essential process variables, since it has an important effect on the time and cost to build the part and the quality and property of the as-built part [15,16,17]. Part orientation is the determination of an optimal orientation to build a part using an AM machine based on certain production requirements on the part. In real workshops, an AM process planner or machine operator usually determines the build orientation of a part according to their production experience and intuitive analysis on the part. Different planners or operators could specify different build orientations for an identical part under the same conditions. This would negatively affect the stability and repeatability of the used AM process and the quality and property of the as-built part.

To implement the automation of part orientation, various computer-aided methods have been presented during the past three decades. The coexistence of different methods triggers a series of questions: What are the common characteristics of these methods? What are the specific characteristics of each method? What are the main issues in computer-aided part orientation (CAPO) for AM currently? What are the potential research directions in this field in the future? This paper attempts to approach these questions via presenting a review of the existing CAPO methods. Although [11, 15, 16], and [17] have, respectively, presented related or similar reviews. The review in the present paper is still of necessity because:

  1. (1)

    The review of [11] was made two decades ago. It defined and conceptualised the four AM process planning tasks, i.e. part orientation, support generation, slicing, and path planning, and provided an overview of the computer-aided methods for these tasks at that time. This review does not include a large number of new CAPO methods that have emerged during the past two decades.

  2. (2)

    The review of [15] was presented 13 years ago. It described and discussed various CAPO attempts up to that time. This review also does not contain a large number of newly emerging CAPO methods.

  3. (3)

    The review of [16] was conducted 7 years ago. It carried out a study of the CAPO strategies considering the effects of build orientation on surface roughness, dimensional accuracy, volumetric error, support volume, part strength, and build time. This review lacks a detailed discussion of the main issues in CAPO for AM.

  4. (4)

    The review of [17] was presented recently. It provided an overview of the objective functions for search of an optimal build orientation, including part accuracy, surface roughness, support volume, build time, manufacturing cost, and mechanical properties, and made an analysis of the optimisation techniques adopted in the existing CAPO methods. This review also does not involve a detailed discussion of the main issues of the CAPO methods.

  5. (5)

    The review in the present paper, compared to the four reviews, classifies and introduces the existing CAPO methods from the perspective of their principles, instead of their optimisation objectives. This review is more comprehensive than the four reviews, as it covers nearly all of the CAPO methods published in mainstream journals in the past three decades. More importantly, the review presents a detailed discussion of the main issues in CAPO for AM and reports a suggestion of some future research directions in this field.

The remainder of the paper is organised as follows. An overview of the existing CAPO methods are provided in Section 2. Section 3 carries out a discussion about the main issues in CAPO for AM. Section 4 ends the paper with a suggestion of some future research directions in CAPO for AM.

2 Status of CAPO for AM

In this section, a part orientation problem is first clarified and an overview of the existing computer-aided methods for solving this problem is then presented.

2.1 Part orientation problem

In the context of AM product realisation process, the build orientation refers to the orientation with respect to the slice plane of an AM machine. Theoretically, the number of possible build orientations of a part is infinite. Part orientation is the determination of an optimal build orientation for a part from infinite possible orientations. It is required for all AM processes. A part orientation problem takes as input a 3D model of a part represented by a specific format and certain production objectives on the part, and outputs a build orientation for the part that can simultaneously optimise the input production objectives [11]. It is a typical multi-objective problem [17].

In most of the existing CAPO methods, a build orientation is represented by a two-tuple (α, β), such that, as shown in Fig. 1, the build orientation lines up along the Z axis after rotating the 3D model around the X axis by an angle of α (0α ≤ 360) and around the Y axis by an angle of β (0β ≤ 360). A build orientation can also be expressed by a unit vector (x, y, z), where (x, y, z) can be converted into (α, β) using the following equations:

$$ \alpha = \left\{ \begin{array}{ll} \arctan (y/z) &\text{ if } y\neq0 \text{ or } z\neq0 \\ 0 &\text{ if } y=0 \text{ and } z=0 \end{array} \right. $$
(1)
$$ \beta = -\arctan\frac{x}{\sqrt{y^{2}+z^{2}}} $$
(2)
Fig. 1
figure 1

Schematic representation of the two rotation angles

At present, there are a variety of formats that can be used to represent the 3D model of an AM part [18], where the standard tessellation language (STL) is the most used one and has become the actual standard 3D model format in AM. Almost all computer-aided design (CAD) systems can import and export STL files, and almost all AM machines supports the STL format. Most of the existing CAPO methods take the STL model as input. A few methods also use the original CAD model, the voxel model, the AMF (additive manufacturing file) model, and the STEP (standard for the exchange of product model data) model.

The production objectives for determining an optimal build orientation (OBO) are set according to the build orientation factors (BOFs), i.e. the factors influenced by the build orientation. According to the surveys of [16] and [17], the international standard [19], and the studies of [20,21,22,23], and [24], the main BOFs are:

  1. (1)

    Part property: The mechanical properties of an as-built part, such as the tensile strength, yield strength, elongation, hardness, and the physical properties, such as the residual stress, flexural modulus, and fatigue performance, are generally affected by the build orientation of the part. For example, the mechanical properties of an as-built part are always anisotropic. In general, the tensile strength and yield strength in horizontal orientation are respectively greater than the tensile strength and yield strength in vertical orientation.

  2. (2)

    Part accuracy: Part accuracy indicators generally include dimensional error, geometric error, and volumetric error. Build orientation directly affects the shrinkage, curling, and distortion of an as-built part, which are the major factors causing dimensional error and geometric error. Volumetric error is caused by building a part with staircases in a layer by layer manner. It cannot be eliminated, but its influence on part accuracy can be reduced via designing proper build orientation and layer thickness.

  3. (3)

    Surface quality: The most used surface quality indicator is surface roughness. Build orientation has a direct effect on surface roughness for all AM processes because of the layer upon layer building manner. For example, planes or surfaces that are parallel or perpendicular to build orientation would have smaller surface roughness than those that have an angle with build orientation. Declining faces would be more seriously influenced by staircase effect.

  4. (4)

    Support structure: In the AM processes that are not free of support structure, such as FDM, LPBF, EBM, and DMD, support structure is used to sustain the overhanging region to resist deformation or collapse, reduce part distortion caused by thermal gradients, or balance a building part to avoid shift. The use of support structure, however, directly leads to an increase of the total build volume, thereby lengthening the build time and increasing the build cost. Further, the removal of support structure will lengthen the post-processing time and increase the post-processing cost, and could be detrimental to the surface quality of the supported region. It is intuitive that different build orientations result in different support structure and supported region.

  5. (5)

    Build time: Build time mainly consists of layer preparation time, layer building time, and recoating time. Build orientation directly affects the build height and thus influences the build time.

  6. (6)

    Build cost: Build cost calculates all resources required in building a part, such as materials, energy, machine, and labour. It is affected by build orientation, since different build orientations may cause different material consumption and build time.

  7. (7)

    Post-processing time: Post-processing time mainly contains property enhancement time, support removal time, accuracy improvement time, and surface quality improvement time. Build orientation also affects the post-processing time, since it influences the support structure, part accuracy, surface quality, and part property.

  8. (8)

    Post-processing cost: Post-processing cost calculates all resources needed in all post-processing tasks on a built part. It is also influenced by build orientation, because different build orientations may result in different support structure, part accuracy, surface quality, part property, and post-processing time.

In some existing CAPO methods, certain optimisation methods are developed or adopted to search an orientation enabling one or more factors to be optimal from infinite possible orientations. These methods are called as one-step methods in the present paper, since they solve a part orientation problem in one step. Other existing CAPO methods divide the part orientation task into a step of generation of some alternative build orientations (ABOs) and a step of selection of an OBO, which are successively carried out on the basis of the optimisation of one or more factors. These methods are named as two-step methods. More details of the two categories of CAPO methods are given below.

2.2 One-step methods

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.

A direct search-based method usually works on the basis of a process of exhaustive computation. Its general flow, as depicted in Fig. 2, is described as follows:

  1. (1)

    Input a 3D model of a part in its original orientation and certain production objectives on the part (e.g. to maximise the tensile strength, to minimise the support volume, to minimise the build cost).

  2. (2)

    Estimate the values of the considered BOFs (e.g. tensile strength, support volume, build cost) under the current orientation using certain estimation models.

  3. (3)

    Calculate a summary value of the considered BOFs under the current orientation using certain aggregation models.

  4. (4)

    Determine whether the solution space has been traversed and continue to (5) if the answer is no and skip to (6) if the answer is yes.

  5. (5)

    Rotate the 3D model in the current orientation in a specific step size to obtain a new orientation and skip to (2).

  6. (6)

    Output an orientation that achieves the optimal summary value to build the part.

Fig. 2
figure 2

General flow of a direct search-based method for part orientation

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.

A PBOA-based method generally works based on a process that constantly updates the current group of orientations. Its general flow, as depicted in Fig. 3, is described as follows:

  1. (1)

    Input a 3D model of a part and certain production objectives on the part.

  2. (2)

    Set controlling parameters and generate an initial group of orientations. Different controlling parameters are needed to be set when using different PBOAs. For example, setting the population size, crossover probability, and mutation probability is required when using the GA. Specifying the inertia weight, social, and cognitive parameters is needed when using the PSOA. Setting the number of bacteria, number of chemotactic, swim, reproductive, elimination, and dispersal steps, elimination probability, and chemotactic step size is required when using the BFOA. Specifying the number of samples, maximum number of iterations, maximum number of local search iterations, and local search parameter is needed when using the ELMA. The initial group of orientations is usually generated randomly.

  3. (3)

    Estimate the values of the considered BOFs using certain estimation models and calculate the value of overall objective function (OOF).

  4. (4)

    Determine whether the termination condition is satisfied and continue to (5) if the answer is no and skip to (6) if the answer is yes. A PBOA-based method will stop its iterations when certain objectives are achieved, when a certain number of iterations are completed, when the allocated time is used up, when something disappears, or when no significant improvement of the optimisation results after a certain number of iterations.

  5. (5)

    Perform specific operations to update the current group of orientations and skip to (3). Different PBOAs update the current group of orientations via different operations. For example, the GA updates it via selection, crossover, and mutation. The PSOA updates it via movement. The BFOA updates it via chemotaxis, reproduction, and elimination-dispersal. The ELMA updates it via attraction-repulsion.

  6. (6)

    Output an optimal orientation to build the part.

Fig. 3
figure 3

General flow of a PBOA-based method for part orientation

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.

During the past few decades, the research of part orientation via direct search and optimisation techniques has gained importance and popularity within the academia. A large number of one-step methods have been presented in this period. A brief summarisation of a set of representative one-step methods is provided in Table 1. As can be seen from the table, the main difference of the existing one-step methods lies in the targeted AM processes, the approach for orientation search, the OOF, and the considered BOFs:

  1. (1)

    Processes: Most one-step methods are proposed for the SLA, FDM, or SLS process. Some methods are theoretically applicable for all AM processes. A few methods are developed for the EBM or LPBF process.

  2. (2)

    Search approach: Direct search-based methods directly search an OBO via an exhaustive computation procedure. Optimisation technique-based methods search an OBO using optimisation techniques.

  3. (3)

    OOF: The OOFs used in the existing one-step methods include the weighted sum model (WSM) \(w_{1}F_{1}(O) + w_{2}F_{2}(O) + ... + w_{m^{\prime }}F_{m^{\prime }}(O)\), Pareto front analysis (PFA) \([F_{1}(O), F_{2}(O), ..., F_{m^{\prime }}(O)]\), and min-max functions (MMFs) (min/max{F1(O)}, min/max{F2(O)}, ..., min/max\(\{F_{m^{\prime }}(O)\}\)), where O is a given build orientation, \(m^{\prime }\) is the number of the considered BOFs, \(F_{i}(O) (i = 1, 2, ..., m^{\prime })\) is the objective function of the i th BOF in O, and wi is the weight of the i th BOF.

  4. (4)

    BOFs: Each one-step method considers one or more BOFs among part property, part accuracy, surface quality, support structure, build time, build cost, post-processing time, and post-processing cost.

Table 1 A brief summarisation of representative one-step methods

In the following subsections, a general overview of the characteristics of the optimisation techniques used in the one-step methods in Table 1 is first provided. Then a review of these one-step methods is given according to their targeted AM processes.

2.2.1 Overview of the used optimisation techniques

According to Table 1, the optimisation techniques used in the existing one-step methods include the GA [82], non-dominated sorting genetic algorithm II (NSGA-II) [83], trust region method (TRM) [84], PSOA [85], extreme learning machine (ELM) [86], principal component analysis-based optimisation algorithm (PCABOA) [56], surrogate model (SM) [87], Taguchi method (TM) [88], sequential quadratic programming algorithm (SQPA) [89], BFOA [90], S-metric selection evolutionary multi-objective algorithm (SMSEMOA) [91], globally convergent method of moving asymptotes (GCMMA) [92], ELMA [93], and generalised differential evolution 3 (GDE3) [94], where:

  1. (1)

    The GA is a meta-heuristic algorithm of searching for the optimal solution via simulating the natural evolution process. Its main advantages lie in having simple and robust process, good scalability, potential concurrency, and random search capability irrelevant to actual optimisation problems. The major limitations of the GA are reflected at two aspects. On the one hand, the GA has a tendency to converge towards local optimum in many optimisation problems. On the other hand, the efficiency of the GA is generally lower than that of other optimisation algorithms.

  2. (2)

    The NSGA-II is an improved version of the non-dominated sorting genetic algorithm [95]. It has three aspects of improvement. The first aspect is the development of a non-dominated sorting procedure, which largely improves the efficiency. The second aspect is the use of crowding distance and its comparison operators, which enable individuals in the quasi-Pareto domain to extend to the entire Pareto domain and maintain the diversity of the population. The third aspect is the introduction of elitist strategy, which expands the sampling space. A main shortcoming of the NSGA-II is that the unstable crowding distance model when two or more solutions have the same fitness value will influence the convergence and diversity preservation capabilities of the algorithm.

  3. (3)

    The TRM is one of the most important numerical optimisation techniques for solving non-linear optimisation problems. A main advantage of the TRM over line search algorithms is that it can use non-convex approximation models. Further, the TRM is a reliable and robust technique which has strong convergence property and can be applied to ill-conditioned optimisation problems. However, optimisations using the TRM require the gradients or Hessian matrices of the objective and constraint functions, which are sometimes not easy to calculate.

  4. (4)

    The PSOA is a group collaboration-based search algorithm developed by simulating the foraging behaviour of birds. It has five common characteristics with the GA. Firstly, the initial population of both is generated randomly. Secondly, both of the algorithms evaluate the fitness value of each individual. Thirdly, the current population is updated according to the fitness values. Fourthly, both of them terminate when the termination condition is satisfied. Fifthly, both of them are not guaranteed to find the global optimal solution. Compared with the GA, the PSOA does not involve the crossover and mutation operations and all particles may converge to the optimal solution faster in most cases. However, the algorithm is easy to fall into local optimums for objective functions with multiple local extreme points. In addition, the PSOA does not have a rigorous theoretical basis. It is not clear from the principle why the algorithm is effective. Because of this, the PSOA is generally suitable for a class of high-dimensional optimisation problems that do not require very accurate solutions.

  5. (5)

    The ELM is a machine learning algorithm for solving single hidden layer feed-forward neural network. It is simple and easy to use, since it only needs to set the network structure, while traditional feed-forward neural networks need to manually set a large number of network training parameters. In the ELM, the weights from the input layer to the hidden layer are randomly determined once and do not need to be adjusted during the execution of the algorithm, while the weights from the hidden layer to the output layer only need to be determined by solving a linear equation system. For this reason, the computation speed is largely increased. The main characteristic of using the ELM to search the optimal solution is reflected in high efficiency. However, the accuracy of the search largely depends on the quality of the sample data. For most optimisation problems, obtaining a certain amount of high-quality sample data is not easy.

  6. (6)

    The PCABOA is an optimisation algorithm for part orientation based on the principal component analysis [96]. In this algorithm, the area weighted normal is first introduced to convert a part orientation problem to a least absolute deviation linear regression problem. Then, the principal component analysis is used to solve the regression problem. Compared with the direct search-based methods, the algorithm uses less than 40% running time to achieve satisfying accuracy. In addition, the PCABOA determines the optimal solution adaptively, which eliminates the uncertainty caused by manual interventions. However, it is not clear whether the performance of the algorithm is better than that of other optimisation techniques.

  7. (7)

    The SM is a commonly used optimisation technique in engineering problems. When an optimisation problem requires a large amount of computation and is not easy to solve, a simplified model that needs a smaller amount of computation and mimics the original problem as closely as possible can be used to replace the optimisation problem to speed up the optimisation process. This simplified model is the so-called SM. There have been a number of commonly used SMs so far, such as the polynomial response surface, kriging, radial basis function, support vector machine, Bayesian network, and Fourier surrogate model. Using certain SMs to solve complex optimisation problems can be beneficial, but it is generally not easy to find or establish an accurate SM for a specific optimisation problem.

  8. (8)

    The TM is a powerful experimental optimisation technique. The main advantages of the TM over other experimental optimisation techniques are reflected at three aspects. Firstly, the TM is usually carried out with the minimum number of experiments. Secondly, it is applicable for both continuous and discrete optimisation problems. Thirdly, it can find the optimal solution without calculation of the derivatives. A main limitation of the TM is that the selection of the optimal solution for the problem from the specified levels of parameters may lead to a limited resolution to search the optimal solution [65].

  9. (9)

    The SQPA is one of the most effective algorithms for solving constrained non-linear optimisation problems. It is capable of processing any degrees of non-linearity. The prominent advantages of the SQPA lie in good convergence property, high computational efficiency, and strong boundary search capability. However, each iteration of the algorithm needs to solve one or more quadratic programming subproblems. The amount of computation and storage required to solve the subproblems is substantial with the expansion of the optimisation problem scale. For this reason, the SQPA only works well for small and medium optimisation problems and becomes very cumbersome for large optimisation problems with many variables.

  10. (10)

    The BFOA is a bionic optimisation algorithm based on the Ecoli phagocytosis behaviour in human intestines. Its notable characteristic is having fast convergence speed, high accuracy, and the capability to jump out of local optimums. Further, the algorithm introduces a new termination condition. That is, without any iteration or accuracy condition, it will naturally terminate with the disappearance of the colony and certain accuracy can still be maintained. However, for complex optimisation problems, especially high-dimensional multi-modal optimisation problems, the convergence property of the BFOA is worse than other swarm intelligence optimisation algorithms.

  11. (11)

    The SMSEMOA is an indicator-based evolutionary algorithm that explicitly uses a performance indicator called as hypervolume or S-metric in its environmental selection procedure. It has an advantage of not requiring a reference set over other indicator-based evolutionary algorithms. The SMSEMOA uses only a reference point, which is much easier to state than a reference set. Because of this, the algorithm is more flexible to solve the MOO problems where the characteristics of the Pareto front are unknown. However, the computational cost of the performance indicator will greatly increase as the number of objectives increases. Thus, the application of the SMSEMOA is usually limited by its high computational cost.

  12. (12)

    The GCMMA is a globally convergent version of the method of moving asymptotes [97], a convex approximation method for structural optimisation problems. Like the SQPA, the GCMMA is also an alternative method for solving constrained non-linear optimisation problems. A main difference between them is that the SQPA needs to perform a line search on a merit function at each iteration, while the GCMMA introduces curvature in the objective function and the constraint functions of the subproblem to avoid line search. Another difference is that the SQPA cannot work well for large optimisation problems with many variables, while the GCMMA can be successfully used to optimisation problems with a very large number of variables and a relatively small number of constraints. A main shortcoming of the GCMMA is that it is not capable of finding the optimal solution in a reasonable time for some large structural optimisation problems.

  13. (13)

    The ELMA is a meta-heuristic algorithm of solving the unconstrained non-linear optimisation problems in a continuous domain via simulating the attraction-repulsion mechanism of charges in the electromagnetism theory. The main strength of the algorithm lies in the idea of directing the sample points towards local optimisers. Further, the ELMA has better performance in terms of accuracy and efficiency when it is compared with the GA and PSOA, although it shares several characteristics with them. However, the algorithm pays little attention to the influence of the size of the search step on its accuracy and convergence performance. In the ELMA, the particle search is based on random step size and the iterations are terminated when obtaining one comparatively better objective function value. This way is not acceptable since it may not achieve a balance between the convergence speed and the convergence accuracy.

  14. (14)

    The GDE3 is an improved version of the generalised differential evolution 2 [98], a meta-heuristic algorithm that optimises a problem via iteratively improving an alternative solution according to a given measure of quality. A major change is the use of a growing population and non-dominated sorting with pruning of non-dominated solutions, which decreases the population size at the end of each iteration and makes the algorithm more stable in selecting controlling parameters. Compared to the NSGA-II, the GDE3 provides better solution diversity and requires less function evaluations. However, its convergence performance needs further testing.

Based on the description above and Table 1, the optimisation techniques used in the existing one-step methods are briefly summarised in Table 2. It can be seen from Table 2 that PBOA is the most used optimisation technique and the GA is the most used PBOA in the existing one-step methods. This does not indicate that a PBOA or the GA is the most suitable optimisation technique to solve a part orientation problem. In addition, each optimisation technique has its specific strengths and limitations. It is difficult to find the most suitable one for a part orientation problem from such qualitative description. To achieve this, specific quantitative comparison experiments need to be carried out. However, there is yet no evidence that such experiments have been conducted.

Table 2 A brief summarisation of the optimisation techniques used in the existing one-step methods

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.

2.3 Two-step methods

A two-step method, as depicted in Fig. 4, divides the part orientation task into two successive steps. The first step is to generate a certain number of ABOs from infinite possible orientations. The second step is to select an OBO from the generated ABOs. In the existing two-step methods, the generation of ABOs is realised by feature recognition, convex hull generation, quaternion rotation, or facet clustering. The selection of an OBO is carried out via a multi-objective decision-making (MODM) process. In this process, certain estimation models of the considered BOFs are first used to estimate the values of the factors under each ABO. Then, a summary value of the considered factors under each ABO is calculated using certain aggregation models. An OBO is selected according to the calculated summary values.

Fig. 4
figure 4

General flow of a two-step method for part orientation

From the principle above, it can be observed that a two-step method focuses on a certain number of ABOs. It will not spend time in performing computation on a large number of meaningless orientations like a one-step method. However, a two-step method generally has high risk of missing the true OBO, because no matter what technique is adopted, it is usually difficult to ensure that the generated ABOs must contain the true OBO.

During the past three decades, the research of part orientation via the two-step strategy has also gained importance within the academia. A number of two-step methods have been proposed in this period. A brief summarisation of a set of representative two-step methods is given in Table 3.

Table 3 A brief summarisation of representative two-step methods

In the following subsections, an overview of the two-step methods in Table 3 is given on the basis of their adopted approach in the generation of ABOs.

2.3.1 Two-step methods based on feature recognition

The method of [106] classified the features of 3D models into fourteen types. Based on these features, a set of rules, as listed in Table 4, were developed to infer the ABOs. Given the 3D model of an SLA part, the method first identified the types of features included in the model and then determined the ABOs of the part according to the rules in Table 4. An OBO of the part was selected from the determined ABOs using an MODM approach, in which part accuracy and build time were considered. The part accuracy in an ABO O was evaluated by

$$ A_{\text{part}}^{O} = \sum\limits_{i=1}^{N_{\text{ifs}}^{O}}\left( W_{i}N_{i}\right) $$
(61)

where \(N_{\text {ifs}}^{O}\) is the number of the identified features in O, Wi is the weight of the i th identified feature that was assigned according to Table 4, and Ni is a number associated with the i th identified feature. The build time in O was assumed to be directly proportional to the number of layers in O. An OBO was selected with a primary objective of attaining the best possible part accuracy and a secondary objective of minimising the build time. The working process of the method was illustrated by two simulation examples.

Table 4 The rules for part orientation developed in [106]

In the method of [107], the features of 3D models were divided into hole, revolution surface, round surface, thin structure, inter/external surface, plane, freeform surface, inclined plane, and overhang. On the basis of these features, a set of rules were designed to generate the ABOs for an SLA part with an objective of improving the surface quality of the part. An OBO for the part was determined by a decision support system with objectives of minimising the build time and minimising the amount of support structure.

The method of [100] provided a decision support system to help SLA users in part orientation. In this system, overhanging region area, support volume, build time, build cost, and problematic features, are considered concurrently to recommend a desirable orientation to an end-user. The overhanging region area, support volume, build time, and build cost in an ABO O was estimated using certain estimation models. The problematic features in O were categorised into pipes, shells, critical surfaces, holes, axes, dimensions, and extents. The OOF was constructed using the WSM, in which the weights were manually specified. The performance of the system was tested via three simulation examples.

In the method of [108], an integrated process planning framework was developed to assist SLA users in selecting proper values of build orientation, layer thicknesses, and recoating variables. In this framework, the ABOs of an SLA part were generated using a feature-based approach. An OBO of the part was selected based on a balance of objectives specified by the build time, part accuracy, and surface roughness, which was achieved by a deviation function. This method was tested on a 3D model with non-trivial features.

The method of [111] introduced the concept of AM feature and classified AM features into cylinders, planes, cones, and structural units. A set of rules, as depicted in Fig. 5, were developed to determine the ABOs for cylinders, planes, and cones. The ABOs of an AM part were obtained via combining the ABOs of all recognised AM features included in the 3D model of the part and removing the duplicated ones. An OBO of the part was selected from the obtained ABOs using an integrated MODM model in [120]. In the selection process, the mechanical properties, part accuracy, surface quality, support volume, build time, build cost, post-processing, and favourableness of AM features are considered at the same time. The values of these BOFs in an ABO were predicted using an AM process planning platform named KARMA Tool. This method was demonstrated via two simulation examples.

Fig. 5
figure 5

Rules for generation of the ABOs of AM features in [111]

In the method of [112], a two-step strategy was introduced to address the part orientation problem for multi-part production in AM. First, the feature-based approach in [111] was used to generate a set of finite ABOs for each part within a given part group. Second, an improved genetic algorithm was adopted to search a globally optimal combination of build orientations to minimise the total build time and build cost. This method was illustrated via a case study of orientating sixteen parts simultaneously on a build chamber.

The method of [113] developed a system for automatic determination of part build orientations in LPBF. The system first read a STEP model and extracted its geometrical and topological information. Then the features and their geometric properties were respectively recognised and extracted. Based on the feature information, feasible build orientations were determined with an objective of maximising the dimensional and geometrical tolerances of all features, which were estimated using

$$ T_{\text{dimgeom}}^{O} = \sum\limits_{i=1}^{N_{\text{ifs}}^{O}}\left( W_{i}\frac{N_{\text{ifs}}^{O}a_{\text{feature},i}}{\sum\limits_{j=1}^{n}a_{\text{facet},j}}\right) $$
(62)

where afeature,i is the area of the i th feature. An OBO was selected using an MODM approach based on the WSM, in which the weights were manually assigned and part accuracy and build time were considered. This method was tested by a simulation example.

In the method of [115], the ABOs of an AM part were generated using the feature-based approach in [111]. The OBO of the part was determined using an MODM approach based on a fuzzy weighted power partitioned Muirhead mean operator [121] and a fuzzy power prioritised average operator [122]. The reason for using this approach is that the operators can capture the correlative and priority relationships among the considered BOFs when aggregating their values, while the WSM, min-max functions, and PFA used in the existing CAPO methods always assume that the BOFs are independent of each other. In the determination process, the mechanical strength, part accuracy, surface roughness, support volume, build time, build cost, post-processing, geometric features, and need for filler material were identified as BOFs. The values of these BOFs in an ABO were also estimated using the KARMA Tool. This method was demonstrated via two simulation examples together with qualitative and quantitative comparisons based on them.

2.3.2 Two-step methods based on convex hull generation

The methods of [99, 109] determined the ABOs for an SLA/SLS/FDM/LOM part from the surfaces of the convex hull of its 3D model, which were manually identified by users. An OBO for the part was selected from the determined ABOs using an MODM approach based on the WSM, in which three BOFs, including surface roughness, build time, and manufacturing cost, were considered simultaneously and their weights were assigned manually. The surface roughness in an ABO O was estimated by the model in Eq. 42. The build time in O was predicted by the model in Eq. 43. The manufacturing cost in O was evaluated via

$$ \begin{array}{@{}rcl@{}} C_{\text{manuf}}^{O} &=& R_{\text{lcost}}(T_{\text{preproc}}^{O} + T_{\text{postproc}}^{O}) + R_{\text{bcost}}T_{\text{build}}^{O}+ (1 + r) \\ &&\times(D_{\text{mmat}}V_{\text{model}}P_{\text{mmat}} + D_{\text{smat}}V_{\text{support}}^{O}P_{\text{smat}}) \end{array} $$
(63)

where Rlcost is the labour cost rate (labour cost per unit time), Rbcost is the build cost rate (build cost per unit time), \(T_{\text {preproc}}^{O}\) is the pre-processing time in O, r is the material waste ratio, Pmmat is the price of model material, and Pmmat is the price of the support material. These methods were demonstrated via several simulation and fabrication examples.

In the method of [110], an algorithm for automatic determination of the build orientations of an AM part was developed. This algorithm determined an OBO for minimising the amount of support structure according to the convex hull principle: (1) Identify the outward unit normal vectors of an input STL model; (2) Generate the convex hull of the model; (3) Compare the STL model facets and convex hull facets for matches; (4) Merge facets in list of potential build surfaces; (5) Determine a build surface with least amount of overhanging region. The working process of the algorithm was illustrated by a simulation example.

2.3.3 Two-step methods based on quaternion rotation

The method of [114] presented quantitative suggestions for build orientation selection for the SLA process. In this method, the ABO space was first expended to infinity via quaternion rotation. Then the ABOs were determined according to the randomly acquired rotation axes. An OBO was selected using a MODM approach based on the proportional-integral-derivative control model, in which the surface roughness, support volume, and build time were considered concurrently. The surface roughness in an ABO O was estimated by the model in Eq. 42. The support volume in O was evaluated by

$$ V_{\text{support}}^{O} = t_{\text{base}}a_{\text{hproj}}^{O} + \left( (2Z_{\min}^{O} + Z_{\max}^{O})/3 + d_{\text{bpp}}\right)a_{\text{facet},i}\cos{\theta_{i}^{O}} $$
(64)

where tbase is the base thickness, \(a_{\text {hproj}}^{O}\) is the horizontal projection area of the minimum bounding box, \(Z_{\max \limits }^{O}\) is the bounding box maxima in the Z direction with respect to O, and dbp2m is the distance between the base plane and the part. The build time in O was predicted via

$$ \begin{array}{@{}rcl@{}} T_{\text{build}}^{O} &=& \frac{\sum\limits_{i=1}^{n}\left( a_{\text{facet},i}\sin{\theta_{i}^{O}}\right)}{t_{\text{layer}}v_{\text{scan}}} + \frac{V_{\text{support}}^{O}}{t_{\text{layer}}v_{\text{scan}}s_{\text{hatchx}}} \\ &&+ \frac{V_{\text{support}}^{O}}{t_{\text{layer}}v_{\text{scan}}s_{\text{hatchy}}} \end{array} $$
(65)

where shatchx is the hatch spacing in X direction, and shatchy is the hatch spacing in Y direction. The estimated values of the considered BOFs were aggregated using the ordered weighted averaging operator, in which the weights were manually specified. The method was tested by four simulation examples.

In the method of [116], personalised design of the build orientation of an SLA/FDM part was studied. A certain number of ABOs of the part were also determined via quaternion rotation. An OBO was selected using a negative feedback decision-making model, which was established by integrating the proportional-integral-derivative control model and the TOPSIS. The decision-making model considered simultaneously the surface roughness, support volume, build time, manufacturing cost, and flatness error, whose weights were assigned manually. The surface roughness in an ABO O was estimated by the model in Eq. 42. The support volume in O was evaluated using the model in Eq. 64. The build time in O was predicted by the model in Eq. 65. The manufacturing cost in O was estimated using the model in Eq. 63. The flatness error in O was predicted via

$$ E_{\text{flatness}}^{O} = \frac{\sum\limits_{i=1}^{n}\left( \left( \left|(t_{\text{layer}} + \epsilon_{z})\cos{\theta_{i}^{O}}\right| + \left|\epsilon_{xy}\sin{\theta_{i}^{O}}\right|\right)a_{\text{facet},i}\right)}{\sum\limits_{i=1}^{n}a_{\text{facet},i}} $$
(66)

where 𝜖xy is the XY-error, and 𝜖z is the Z-error. The effectiveness of the method was demonstrated by several simulation and fabrication examples.

2.3.4 Two-step methods based on facet clustering

The method of [117] generated the ABOs of an AM part via a facet clustering-based approach and determined an OBO for the part via an MODM approach based on statistical evaluation. The facet clustering-based approach, whose general flow is shown in Fig. 6, includes clustering of facets and generation of ABOs. In the clustering of facets, the STL model of an AM part, which is expressed by a finite number of facets, was used as the input of the k-means clustering algorithm, where k was determined by the Davies-Bouldin index. A certain number of meaningful clusters of facets were produced based on a facet clustering rule of “The observed data objects for the clustering of facets are the normal vectors of facets and the distance metric is a metric of angle between the normal vectors of facets in 3D space”. In the generation of ABOs, the ABOs of each facet cluster were generated according to an ABO generation rule of “The unitised central vector of all normal vectors in a cluster and its opposite vector directly serve as the ABOs of this cluster”. The ABOs of the part are obtained via combining the ABOs of all clusters and removing duplicated ABOs among them. The MODM approach selected an ABO from the generated ABOs based on a decision index, which implicitly described the influence of a build orientation on the surface quality and support structure. The decision index was formulated using the WSM, where the weights were specified manually. This method was tested via a set of simulation examples.

Fig. 6
figure 6

General flow of the facet clustering-based approach in [117]

An important characteristic of the method of [117] is that it can work for both regular and freeform surface models. But the method could generate unstable and unreasonable ABOs and would not be efficient for a high-resolution STL model. The method of [118] addressed these limitations by replacing the k-means clustering algorithm with an accelerated HDBSCAN* (hierarchical density-based spatial clustering of applications with noise*) algorithm. The general flow of this method is shown in Fig. 7. The method also includes clustering of facets and generation of ABOs. In the clustering of facets, the STL model of an LPBF part was used as the input of the accelerated HDBSCAN* algorithm. A certain number of meaningful clusters of facets were produced based on the same facet clustering rule and the k-cluster lifetime partition criterion. In the generation of ABOs, whether the obtained facet clusters needs to be further refined is first judged. If a refinement is no longer required, the ABOs of each cluster will be generated according to the same ABO generation rule. The ABOs of the part are obtained via combining the ABOs of all clusters. Otherwise, a refinement of clusters will be carried out according to a cluster refinement rule of “The top 20 (200) facet clusters in area are used to generate ABOs if the input STL model is a regular (freeform) surface model”. Then a smaller number of clusters will be achieved to generate the ABOs of the part. An OBO of the part was determined using an MODM approach in the method of [119]. This approach considered simultaneously the support volume, volumetric error, surface roughness, build time, and build cost. The support volume in an ABO O was evaluated using Autodesk Meshmixer. The volumetric error in O was calculated by the model in Eq. 53. The surface roughness in O was predicted using the model in Eq. 11, where \(R_{\text {facet},i}^{O}\) was calculated via Eq. 33. The build time in O was estimated by the model in Eq. 34. The build cost in O was estimated by the model in Eq. 35. The OOF was established using the WSM, in which the weights were determined using a scaling approach based on pairwise comparison. The effectiveness of the methods was demonstrated via a set of simulation examples together with qualitative and quantitative comparisons.

Fig. 7
figure 7

General flow of the facet clustering-based approach in [118]

3 Issues in CAPO for AM

Based on the review of the state-of-the-art, the issues in CAPO for AM can be discussed from the following aspects:

  1. (1)

    Process of solving a part orientation problem: A one-step method solves a part orientation problem via a step of searching an orientation that can meet one or more objectives. A main issue in this process is the difficulty in determining a proper rotation step size or setting suitable controlling parameters. As analysed in Section 2.2, a large rotation step size can improve the efficiency but will increase the risk of missing the true OBO. A small rotation step size can improve the accuracy but will lengthen the search time. A random rotation step size would take a long time to obtain accurate results. Some one-step methods [38, 39, 42, 47, 65, 80] set the rotation step size as 1 or 5. Other one-step methods [35, 37, 40, 41, 45, 48, 57, 64, 74] use random rotation step sizes. A few one-step methods [38, 66] test different rotation step sizes. There is no answer from the existing one-step methods in terms of what is the most appropriate rotation step size. It is thought that a proper rotation step size should be able to achieve a trade-off between the accuracy and the efficiency. As also analysed in Section 2.2, whether the set controlling parameters are optimal would significantly influence the effectiveness of the entire method. But determination of an optimal group of controlling parameters is not an easy task. In the existing PBOA-based methods [32, 35,36,37,38, 40, 41, 44, 45, 47,48,49,50, 54, 57, 61, 63, 64, 69, 70, 74, 75, 77, 78, 80], the controlling parameters are manually assigned according to experience. A two-step method addresses a part orientation problem through a step of generating a certain number of ABOs and a step of selecting an OBO from the generated ABOs on the basis of one or more objectives. A main issue in this process is the high risk of missing the true OBO. As described in Section 2.3, the existing two-step methods generate ABOs via feature recognition [100, 106,107,108, 111,112,113, 115], convex hull generation [99, 109, 110], quaternion rotation [114, 116], and facet clustering [117,118,119]. The use of these techniques is helpful for improving the efficiency. But no matter what technique is used, it is generally difficult to ensure that the generated ABOs must contain the true OBO.

  2. (2)

    Generation of ABOs: The existing approaches based on feature recognition are not applicable for freeform surface models, as it is impossible to define the features and ABOs of features for such models. In addition, automatic recognition of features from a complex 3D model with multiple overlapping features remains a challenging task [123,124,125]. The existing approaches based on convex hull generation have an accuracy issue, sine the convex hull is not the exact 3D model. The existing approaches based on quaternion rotation cannot ensure that the true OBO is included in the determined ABOs, because the ABOs are determined according to the randomly acquired rotation axes. The existing approaches based on facet clustering would not be effective when the considered BOFs do not include support volume, build time, and build cost. That is, they do not have satisfying flexibility. The facet clustering rule, ABO generation rule, and cluster refinement rule used in these approaches can theoretically benefit the optimisation of the total support volume. The ABOs generated by them are effective when the considered BOFs include support volume. However, the rules would be ineffective when only other BOFs are considered.

  3. (3)

    Consideration of BOFs: Different CAPO methods may consider different BOFs for the same AM process. This can be very confusing, because there is not a guideline or standard that states which BOFs should be considered for a certain AM process.

  4. (4)

    Estimation of the values of BOFs: There may be a number of different estimation models for a BOF for an identical AM process. It is unclear which one is the most accurate and efficient, since there is not an existing CAPO method that makes a comprehensive comparison of the performance of the different estimation models.

  5. (5)

    Determination of the weights of BOFs: The weights of the considered BOFs reflect their relative importance for search or selection of an OBO. A small variation of the weights can significantly influence the determined OBO. In most of the existing CAPO methods, the weights are assigned manually. Generally, it is not easy to specify proper weights for the considered BOFs, as this would require a deep understanding of how the BOFs affect the as-built part. In addition, the considered BOFs are usually conflicting or interrelated, which makes the assignment of their weights more complicated [17]. A few methods determine the weights via triangular fuzzy numbers [37, 57], an approach based on hypothetical equivalents and inequivalents [54], certain experiments [60, 64], and a scaling approach based on pairwise comparison [119]. Compared to direct assignment, these approaches seem more convincing, but they still require a great deal of know-how.

  6. (6)

    Aggregation of the values of BOFs: In the existing CAPO methods, the most used aggregation approaches are the MMFs, WSM, and PFA. A set of MMFs is the most intuitive aggregation approaches for solving a multi-objective problem. But it is generally impossible or difficult to search an OBO that can simultaneously satisfy all min/max conditions. The WSM is a popular aggregation approach in MOO and MODM because of its simplicity and efficiency. However, determination of proper weights of the considered BOFs, as discussed in (5), is not an easy task. Further, the use of the WSM produces a single OBO instead of a set of solutions to be later compared, which prompts the application of the PFA [17]. Compared to a single OOF established via the WSM, Pareto-based optimisation can better reflect the characteristics of individual objective functions. However, evaluating a Pareto front is a complicated and time-consuming task [126]. Apart from their respective weaknesses, a common limitation of the MMFs, WSM, and PFA is that the complex relationships among the considered BOFs are not captured in them. Generally, the different considered BOFs are not independent of each other, but are conflicting or interrelated. For example, large support volume will lead to long build time and post-processing time and high build cost and post-processing cost. All of the three aggregation approaches assume that the BOFs are independent of each other when aggregating their values. The method of [115] copes with this issue using fuzzy aggregation operators. But the use of these operators leads to lower efficiency with respect to the use of the WSM, since the time complexity of the used operators (\(O(m^{\prime }!m^{\prime })\)) is significantly higher than that of the WSM (\(O(m^{\prime })\)).

  7. (7)

    Classification of Pareto OBOs. Since a part orientation problem is essentially a multi-objective problem, its solution set usually consists of a relatively large number of Pareto optimal solutions [126]. A solution in this set is not a true OBO. Therefore, strictly speaking, a Pareto OBO determined from the set is not the true OBO, but a good build orientation. This raises a question of how close to the true OBO does a Pareto OBO need to be classified as a good build orientation. For this question, the existing CAPO methods do not provide an appropriate answer.

  8. (8)

    Techniques for OBO search: Many existing one-step methods search an OBO directly under certain optimisation objectives. Direct search, sometimes known as exhaustive search, is a simple and crude search approach. This approach is desirable when the solution space is small. But it has very low efficiency for OBO search, since the solution space of OBO search is infinite. To accelerate the search of an OBO, a number of other one-step methods use optimisation techniques. Compared to direct search, optimisation technique-based search is helpful to improve the efficiency. But certain optimisation techniques can only achieve good performance for certain optimisation problems. So far, various optimisation techniques have been applied to solve a part orientation problem. It is not clear which optimisation algorithm is the most suitable for this problem.

  9. (9)

    Techniques for OBO selection: The existing two-step methods select an OBO under certain objectives using the MODM approaches based on the WSM, deviation function, MMFs, fuzzy aggregation operators, and TOPSIS. Each of these techniques was used for specific purpose. But it is unclear which technique is the most suitable for OBO selection.

  10. (10)

    Demonstration of the effectiveness: Effectiveness is the most important criterion for evaluating a CAPO method. In general, whether a CAPO method is effective depends on whether the OBO determined by it can meet the pre-set objectives. The best way to demonstrate the effectiveness of a CAPO method is to carry out actual fabrication experiments to compare the estimated and measured values of the considered BOFs. Among the existing CAPO methods, the methods of [53, 56, 60, 61, 65, 67, 69, 73, 77,78,79, 81, 99, 109], and [116] adopted this way. Another feasible way is to use the OBO determination results of a commercial AM process planning software as benchmark. For example, the method of [66] was validated via conducting a quantitative comparison experiment, in which the OBO determination results were benchmarked against Materialise Magics. Apart from these methods, the remaining methods just illustrated their working process via one or more simulation examples, which would be insufficient for demonstrating their effectiveness.

  11. (11)

    Quantitative comparison among different CAPO methods. Making a comparison between the determined OBO and estimated results of a new CAPO method and those of the existing methods is another feasible way to validate the new method. But there is yet no evidence that any literature has included such a comparison. The main reason is that the comparison can only be carried out when all methods to be compared are for the same AM process and consider the same BOFs. These conditions are a bit harsh for the existing CAPO methods.

  12. (12)

    Consideration of multi-part production: An important characteristic of most AM processes is the support of multi-part production [127, 128]. In addition to the methods of [112] and [66], the remaining CAPO methods focus on build orientation determination for production of one single part. They are not applicable for the situation where a group of parts in the same build need to be orientated simultaneously.

4 Future research directions

Detailed work in the review of the existing CAPO methods and the discussion of their issues revealed a number of interesting future research directions, which are outlined as follows:

  1. (1)

    Determination of personalised rotation step size or controlling parameters. What is the best rotation step size or the best group of controlling parameters? This question is very difficult to answer, because the rotation step size or controlling parameters is or are related to the geometry of the input 3D model. The 3D models with different geometries would have different best rotation step sizes or group of controlling parameters. For example, the best rotation step size of a regular surface model is sometimes 90, while that of a freeform surface model is generally small. To calculate the personalised rotation step size or controlling parameters for an input 3D model, a specialised approach is required. This approach can be developed via geometry analysis. One can also consider using machine learning algorithms in the development.

  2. (2)

    Development of new rules for facet clustering, cluster refinement, and ABO generation. The latest two-step method based facet clustering can work for both regular and freeform surface models, produce stable and reasonable results, and provide satisfying efficiency. But the method would not be effective if it is applied to the AM processes that are free of support structure. The reason is that the facet clustering rule, ABO generation rule, and cluster refinement rule used in the method can only meet an objective of optimising the support volume. To apply the method to the situation where support volume is not considered, new rules for facet clustering, cluster refinement, and ABO generation need to be developed.

  3. (3)

    Development of a guideline or standard to recommend the BOFs for each commonly used AM process. The BOFs considered for different AM processes are generally not the same, since each AM process has its characteristics and application range. For example, the FDM process is a cheap technique that is mainly applied to manufacture the products for toy or hobby use, while the LPBF process is a promising metal AM technique that can be applied to produce functional components in high-value industries. The BOFs related to part property, such as the strength, elongation, hardness, residual stress, flexural modulus, and fatigue performance, are usually not important for the FDM process, but they are of great importance for the LPBF process. To avoid the confusion in study of the part orientation problem, a guideline or standard for recommending the BOFs for each commonly used AM process is required.

  4. (4)

    Determination or establishment of an accurate and efficient estimation model for each BOF. Accuracy is the most critical performance indicator for an estimation model of a BOF, since the accuracy of the model has a direct influence on the effectiveness of the CAPO method considering this BOF. Efficiency is another important performance indicator for an estimation model of a BOF, because most of the time in the entire part orientation process is spent on estimation of the values of BOFs [119]. In general, the accuracy and efficiency of an estimation model are negatively correlated. For example, accurate estimation of support volume is very time-consuming. That is why some of the existing CAPO methods used very rough models to estimate the support volume. But if the support volume is not accurately calculated, the prediction of build time, build cost, post-processing time, and post-processing cost will not be accurate and the effectiveness of the entire CAPO method will be negatively affected. To ensure the effectiveness and efficiency of a CAPO method, an estimation model for each BOF which can achieve a trade-off between the accuracy and efficiency needs to be determined or established.

  5. (5)

    Determination of the reference weights of BOFs: In view of the fact that the weights of BOFs in most of the existing CAPO methods are manually assigned, it is of necessity to carry out specialised studies and conduct certain experiments to determine the weights of the recommended BOFs for each commonly used AM process. The determined weights can be used as reference when developing new CAPO methods.

  6. (6)

    Development of a guideline to recommend the most suitable technique for OBO search or selection. In view of the facts that various OBO search or selection techniques have been used in the existing CAPO methods and it is not clear which one is the most suitable for a part orientation problem, it is of importance to conduct quantitative comparison experiments and develop a guideline to address the question.

  7. (7)

    Comparison of the effectiveness of different CAPO methods for each commonly used AM process. In general, the effectiveness of a CAPO method mainly depends on the accuracy of the used estimation models of BOFs and the effectiveness of the used OBO determination approach. To this end, the comparison can be carried out via comparing this indicator for a certain number of parts. To make future comparisons between a new CAPO method and the existing methods more convenient, an open source benchmark for evaluating a CAPO method needs to be developed.

  8. (8)

    CAPO for multi-part production. In view of the facts that support of multi-part production is an important characteristic of most AM processes and most of the existing CAPO methods focus only on part orientation for production of one single part, it is of necessity to develop new CAPO methods for multi-part production.

  9. (9)

    Integration of design task and other process planning tasks with part orientation. The quality and property of an as-built part are synthetically affected by multiple design and process variables (e.g. topology, build orientation, support structure, slices, tool path, and process parameters). It is sometimes insufficient to study the part orientation problem separately by fixing or ignoring other variables. An ideal way is to comprehensively determine all design and process variables via weighing certain part quality and property factors. To this end, it would be desirable to study the systematic determination of the design and process variables for each commonly used AM process.