# Optimizing Build Orientation for Support Removal using Multi-Axis Machining

Amir M. Mirzendehdel, Morad Behandish, and Saigopal Nelaturi  Palo Alto
Research Center (PARC), 3333 Coyote Hill Road, Palo Alto, California 94304

###### Abstract

Parts fabricated by additive manufacturing (AM) are often fabricated first as
a _near-net_ shape, a combination of intended nominal geometry and sacrificial
support structures, which need to be removed in a subsequent post-processing
stage using subtractive manufacturing (SM). In this paper, we present a
framework for optimizing the build orientation with respect to _removability_
of support structures. In particular, given a general multi-axis machining
setup and sampled build orientations, we define a Pareto-optimality criterion
based on the total support volume and the “secluded” support volume defined as
the support volume that is not _accessible_ by a given set of machining tools.
Since total support volume mainly depends on the build orientation and the
secluded volume is dictated by the machining setup, in many cases the two
objectives are competing and their trade-off needs to be taken into account.
The accessibility analysis relies on the _inaccessibility measure field_
(IMF), which is a continuous field in the Euclidean space that quantifies the
inaccessibility of each point given a collection of tools and fixturing
devices. The value of IMF at each point indicates the minimum possible
volumetric collision between objects in relative motion including the part,
fixtures, and the tools, over all possible tool orientations and sharp points
on the tool. We also propose an automated support removal planning algorithm
based on IMF, where a sequence of actions are provided in terms of the
fixturing devices, cutting tools, and tool orientation at each step. In our
approach, each step is chosen based on the maximal removable volume to
iteratively remove accessible supports. The effectiveness of the proposed
approach is demonstrated through benchmark examples in 2D and realistic
examples in 3D.

###### keywords:

Build Direction Optimization , Support Structures, Multi-Axis Machining ,
Accessibility Analysis , Spatial Planning , Hybrid Manufacturing

††journal: Computers & Graphics Special Issue on Computational Fabrication

##  1 Introduction

Figure 1: Different views of a product in design to manufacturing cycle. The
four views of 1) as-designed, 2) as-planned, 3) as-manufactured, and 4) as-
analyzed are interdependent and are traditionally reconciled through costly
trial and error cycles. In this paper, we focus on the as-planned view for a
hybrid AM-then-SM process such as metal-AM, where we find the optimal build
orientation used in AM while considering the removability of support
structures in a subsequent SM stage. Since we are not considering changing the
as-designed model, there is no guarantee that all supports will be removable
and there may be secluded supports even at the optimal build orientation. The
secluded regions will introduce discrepancies between the as-designed
(intended) and as-manufactured (produced) parts.

Additive manufacturing (AM) technologies are capable of fabricating
geometrically complex parts by adding material layer-by-layer. The growing
interest in AM, specifically metal-AM, stems from its ability to leverage
geometric complexity to design high-performance light-weight designs for
applications in aerospace, automotive, medical, etc. However, in most of
metal-AM technologies such as powder-bed fusion, sacrificial support
structures are needed in ‘overhanging’ regions to dissipate excessive heat and
ensure successful build of the near-net shape (part and support). In general,
support structures directly add to the cost of AM parts by increasing the
material usage, print time, and post-fabrication clean-up effort. Focusing on
the latter, since the support structures need to be removed using subtractive
machining (SM) such as milling, they need be ‘accessible’ by the available
machining tools in the presence of fixtures. Thus, metal AM can be most
effective in an AM-then-SM setting and a comprehensive manufacturing planning
must consider both aspects. In other words, a cost-effective fabrication
strategy should simultaneously minimize the costs associated with both
printing the support and its clean-up.

Figure 1 illustrates a design and manufacturing cycle for metal-AM parts where
the four views of the part throughout the process — namely, as-designed, as-
planned, as-manufactured, and as-analyzed are interdependent. Lack of
interoperability between representations, poor planning, and manufacturing
limitations and uncertainties result in discrepancies between different views
of the represented physical artifact, which are traditionally resolved through
costly trial and error cycles.

The focus of this paper is on improving the as-planned model w.r.t. support
structures by considering the coupling between build orientation (AM) and
multi-axis machining setup (SM). In particular, we are interested in finding
the optimal build orientation such that 1) the volume of supports are
minimized; and 2) the support structures are removable by a subsequent
machining process. Our method primarily relies on accessibility analysis used
in spatial planning. In particular, we extend the inaccessibility measure
field (IMF) introduced in [1, 2] to hybrid AM-then-SM processes. Previous work
on topology optimization for multi-axis machining [2] demonstrated the
effectiveness of IMF as a continuous field in the Euclidean space that
quantifies the collisions occurring between the part, fixture, and tool
geometries to provide a penalty function to enforce accessibility by collision
avoidance. We will briefly review the accessibility analysis and extend it to
multiple fixtures in Section 2.

There are numerous optimization strategies proposed to reduce the negative
impact of support structures on the AM process, which typically focus on one
or two of the views shown in Fig. 1. Optimizing the build orientation is by
far the most popular and there are numerous published articles on choosing the
build orientation based on different criteria. Pandey et al. [3] optimized
build time, surface quality, and support volume using a genetic algorithm.
Jibin [4] proposed a method for optimizing the build orientation based on
multiple objectives, namely support volume, build time, and volumetric error
between the as-designed and the as-manufactured parts. Nezhad et al. [5]
developed a Pareto-tracing algorithm to simultaneously minimize support volume
and build time. Paul and Anand [6] considered constraints on flatness and
cylindricity errors while minimizing the support volume. Das et al. [7]
presented a build direction optimization method to reduce tolerance errors and
support volume. Umetani and Schmidt [8] developed a framework to find optimal
build orientation w.r.t. cross-sectional mechanical strength. Morgan et al.
[9] presented a gradient descent algorithm for reducing support volume. Delfs
et al. [10] proposed a framework to predict surface quality of AM parts using
a database of surface topographies and subsequently optimize the build
orientation. Despite the large body of work on build orientation optimization,
the feasibility and cost of post-processing for support removal is mainly
ignored.

Another way of reducing AM cost is generating efficient supports using tree-
like structures [11], bridge scaffolding [12], or topologically optimized
supports [13, 14].

A third strategy to reduce the overall cost is to optimize the design such
that it requires less support. This is achieved either by removing the
supports entirely [15, 16, 17, 18] or by considering the trade-off between
multiple objective functions [19]. Considering the interlink between as-
designed and as-planned views, Langelaar [20] and Wang and Qian [21] proposed
strategies to simultaneously optimize the part and build orientation w.r.t.
support volume.

Once the near-net shape is fabricated for an optimal build orientation,
further post-process planning is required to specify a sequence of actions to
remove the support volume either by manually detaching them or by machining
them out using CNC milling. An automated support removal planning algorithm
was proposed in [22], where removability of supports was formulated based on
accessibility of support beam “dislocation features” for columnar supports,
defined by attachment points whose machining is sufficient to peel the columns
off. The supports are recursively peeled off according to an optimal tool path
obtained by solving a traveling salesman problem [23]. In this paper, we
propose an alternative approach using IMF and under the assumption that the
entire support volume must be machined off, thereby enabling arbitrary support
structures that are not necessarily columnar or attached at a finite number of
points.. The details are explained in Section 4.

As illustrated in Fig. 1, our focus is on improving the as-planned view for
hybrid metal AM-then-SM processes, where we find an optimized build
orientation used in AM while also considering the removability of support
structures in the SM stage. It is important to note that since we are not
considering optimization of the as-designed model, there is inherently no
guarantee that the entirety of the support volume will be removable and there
may be secluded supports even at the optimized build orientation. Our method
identifies such support regions and informs the designer so that the issues
can be addressed. This is demonstrated in the results provided in Section 3.
Future work will focus on incorporating support removability upfront in the
design stage and coupling design optimization with build orientation
optimization strategy developed in this paper.

###  1.1 Contributions and Outline

In this paper, we present a framework for optimizing the build orientation
w.r.t. removability of sacrificial support structures in hybrid metal AM-then-
SM processes. In particular, given a general multi-axis machining setup and
sampled build orientations we define a Pareto-optimality criterion based on
the total support volume and the secluded support volume. Since total support
volume mainly depends on the build orientation and the secluded volume is
dictated by the machining setup (in each orientation) and the available tools,
in many cases the two objectives are competing and their trade-off needs to be
taken into account.

The accessibility analysis relies on the concepts of inaccessibility measure
field (IMF), which is a continuous field in the Euclidean space that
quantifies the inaccessibility of each point given a collection of tools and
fixturing devices. The value of IMF at each point indicates the minimum
collision between stationary objects (part, platform, and fixtures) and
cutting tools (tool holder and cutters), over all orientations and sharp
points on the cutter. Further, the definition of IMF is based on well-
established concepts widely used in spatial planning [24, 25]and enables
realistic manufacturability analysis with geometrically complex tools and
fixtures.

We also propose an automated support removal planning algorithm based on IMF,
where a sequence of actions is provided in terms of the fixturing device,
cutting tool, and orientation of the tool at each step. In our approach, each
step is chosen based on the maximal volume that is removable by the
combination of tools while avoiding collision with the machining setup to
iteratively remove accessible support volume.

More specifically, the contributions of this paper are:

  1. 1.

extending the IMF definition to study accessibility of support structures in
the near-net shape generated by an additive process;

  2. 2.

generalizing the IMF for a multi-axis machining setup with multiple fixturing
devices/configurations; and

  3. 3.

developing a build orientation optimization for hybrid AM-then-SM processes
based on Pareto-optimality of the total support volume and the secluded
support volume.

##  2 Inaccessibility Measure Field

Here, we will briefly explain the accessibility analysis required for imposing
the support accessibility constraint for multi-axis machining. The objective
is to find regions of the support structure $S\subset{\mathds{R}}^{3}$ that
can be accessed by a cutting tool $T\subset{\mathds{R}}^{3}$ without colliding
with the workpiece $\Omega$, the platform $P\subset{\mathds{R}}^{3}$,
fixturing device $F\subset{\mathds{R}}^{3}$. Our approach is a generalization
of the IMF proposed in [2] for multiple fixturing devices. Let the tool
assembly be $T=(H\cup K)$, where $H$ and $K$ are the tool holder and the
cutter, respectively.

We assume that each tool assembly $T$ that can operate with six degrees of
freedom (three translations and three rotations) 111Note that if the tool is
axisymmetric, we need only two rotations to describe the tool orientation.
Hence, we would only have five degrees of freedom..

We define the IMF, $f_{\text{IMF}}:{\mathds{R}}^{3}\to{\mathds{R}}$, over the
3D design domain for each given tool assembly $T$ as the minimum collision
volume between the stationary and moving objects over all sampled rotations in
$\Theta_{T}\subset{\mathrm{SO}(3)}$ and sharp points $K\subseteq T$, where
${\mathrm{SO}(3)}$ is the group of different choices of sharp points and
available tool orientations $\Theta\subseteq{\mathrm{SO}(3)}$ [2]:

$f_{\text{IMF}}(\textbf{x};O,N,T,K):=\min_{R\in\Theta_{T}}\min_{\textbf{k}\in
K}~{}\mathsf{vol}\big{[}O\cap(R,\textbf{x})(T-\textbf{k})\big{]},$ (1)

where $R\in\Theta_{T}$ is a rotation matrix corresponding to an orientation,
and $\textbf{x}\in{\mathds{R}}^{3}$ is any query point inside, on the
boundary, or outside the near-net shape $N=\Omega\cup S$. $O=\Omega\cup(F\cup
P)$ stands for the region in 3D space that is not subject to machining and
must not be removed. There are two independent transformations in effect:

  * •

The shift $T\to(T-{\mathbf{k}})$ in (1) is to try different ways to register
the translation space with the design domain, by changing the local coordinate
system to bring different sharp points to the origin.

  * •

The rotation $(T-{\mathbf{k}})\to(RT-R{\mathbf{k}})$ followed by translation
$(RT-R{\mathbf{k}})\to(RT-R{\mathbf{k}})+{\mathbf{x}}$ bring the candidate
sharp point (new origin) to the query point ${\mathbf{x}}\in N$.

The same effect can be obtained by querying the convolution between the
indicator functions of the stationary obstacle pointset ${\mathbf{1}}_{O}$ and
(rotated and reflected) moving pointset $\tilde{{\mathbf{1}}}_{RT}$ at
$\textbf{t}:=(\textbf{x }-R{\mathbf{k}})$ so that the rigid transformation
$(R,\textbf{t})$ brings the sharp point in contact with the query point:
$(R,\textbf{
t}){\mathbf{k}}=R{\mathbf{k}}+\textbf{t}=R{\mathbf{k}}+(\textbf{x}-R{\mathbf{k}})=\textbf{x}$,
as explained in [2] in more detail.

$f_{\text{IMF}}({\mathbf{x}};O,N,T,K)=\min_{R\in\Theta_{T}}\min_{{\mathbf{k}}\in
K}~{}({\mathbf{1}}_{O}\ast\tilde{{\mathbf{1}}}_{RT})({\mathbf{x}}-R{\mathbf{k}}).$
(2)

where $\ast$ is the convolution operator and can be computed efficiently using
fast Fourier transforms (FFTs).
We can extend (2) to consider multiple machining tools. Given $n_{T}\geq 1$
available tool assemblies $T_{i}=(H_{i}\cup K_{i})$ for $1\leq i\leq n_{T}$,
we compute their combined IMF by applying another minimum operation over
different tools to identify the tool(s) with the smallest volumetric
interference at available orientations and sharp points:

$f_{\text{IMF}}(\textbf{x};N,O):=\min_{1\leq i\leq
n_{T}}f_{\text{IMF}}(\textbf{x};N,O,T_{i},K_{i})$ (3)

in which $f_{\text{IMF}}(\textbf{x};N,O,T_{i},K_{i})$ are computed from (2).
Finally, we can extend the IMF formulation of (3) to multiple fixturing
devices or configurations $F_{j}$ for $1\leq j\leq n_{F}$, where each fixture
results in a different obstacle $O_{j}=\Omega\cup(F_{j}\cup P)$. Thus, the
combined IMF for the entire machining setup can be computed as:

$f_{\text{IMF}}(\textbf{x};N):=\min_{1\leq j\leq
n_{F}}f_{\text{IMF}}(\textbf{x};N,O_{j})$ (4)

It is worthwhile noting that the $0-$level set of the IMF (i.e., the
accessible region) is sufficient to distinguish accessible and inaccessible
(i.e., secluded) support regions. However, the nonzero numerical values of the
IMF over the secluded support regions are useful to quantify the degree of
their inaccessibility. Such measures are useful to define continuous penalty
functions for design optimization [2], which is beyond the scope of this
paper.

Algorithm 1 describes the procedure for computing IMF for multiple tools and
fixtures using convolutions by FFT.

Algorithm 1 Compute $[{f}_{\text{IMF}}]$.

procedure
IMF($[{\mathbf{1}}_{\Omega}],[{\mathbf{1}}_{P}],[{\mathbf{1}}_{F_{j}}],[{\mathbf{1}}_{H_{i}}],[{\mathbf{1}}_{K_{i}}],\\{\Theta_{i}\\}$))

Initialize $[f_{\text{IMF}}]\leftarrow[0]$

for $j\leftarrow 1$ to $n_{F}$ do

Define
$[{\mathbf{1}}_{O_{j}}]\leftarrow[{\mathbf{1}}_{\Omega}]+[{\mathbf{1}}_{F_{j}}]+[{\mathbf{1}}_{P}]$
$\triangleright$ Union

Initialize $[f_{\text{IMF}}^{(j)}]\leftarrow 0$ $\triangleright$ IMF for all
the tools

for $i\leftarrow 1$ to $n_{T}$ do

Define
$[{\mathbf{1}}_{T_{i}}]\leftarrow[{\mathbf{1}}_{H_{i}}]+[{\mathbf{1}}_{K_{i}}]$
$\triangleright$ Implicit union

Define $V_{T_{i}}\leftarrow\textsc{Volume}([{\mathbf{1}}_{T_{i}}])$
$\triangleright$ Tool Vol.

Initialize $[\gamma_{i}]\leftarrow[0]$ $\triangleright$ IMF for the
$i^{\text{th}}$ tool

for all $R\in\\{\Theta_{i}\\}$ do

$[{\mathbf{1}}_{RT_{i}}]\leftarrow\textsc{Rotate}([{\mathbf{1}}_{T_{i}}],R)$

$[\tilde{{\mathbf{1}}}_{RT_{i}}]\leftarrow\textsc{Reflect}([{\mathbf{1}}_{RT_{i}}])$

$[g]\leftarrow\textsc{Convolve}([{\mathbf{1}}_{O_{j}}],[\tilde{{\mathbf{1}}}_{RT_{i}}])$

$[g]\leftarrow[g]/V_{T_{i}}$ $\triangleright$ Normalize

for all ${\mathbf{k}}\in\textsc{Support}([{\mathbf{1}}_{K_{i}}])$ do

$[h]\leftarrow\textsc{Translate}([g],-R{\mathbf{k}})$

$[\gamma_{i}]\leftarrow\min([\gamma_{i}],[h])$ $\triangleright$ Over sharp pts

end for

end for

$[f_{\text{IMF}}^{(j)}]\leftarrow\min([f_{\text{IMF}}^{(j)}],[\gamma_{i}])$
$\triangleright$ Over all tools

end for

$[f_{\text{IMF}}]\leftarrow\min([f_{\text{IMF}}],[f_{\text{IMF}}^{(j)}])$
$\triangleright$ Over all fixtures

end for

return ($[f_{\text{IMF}}]$)

end procedure

The accessibility analysis for the example of Fig. 2 with build direction
along Y axis, $\textbf{b}:=(0,+1)$, is illustrated in Fig. 3.
A general build direction in 2D is denoted by $\textbf{b}=R(\theta)(0,+1)$,
where $R(\theta)$ is the rotation matrix in 2D by an angle $\theta$. Figure 4
shows accessible and inaccessible supports at four different build directions
for overhang angle threshold $\alpha=45^{\circ}$.

Figure 2: Workpiece is fabricated by AM on a platform and is post-processed
for support removal by multi-axis machining given the cutting tool holder,
cutter, and orientations.

(a) Near-net shape at build orientation $\textbf{b}=(0,+1)$.

(b) IMF over the near-net shape.

(c) IMF over supports.

(d) Accessible (green) and Inaccessible (red) supports.

Figure 3: Accessibility analysis for supports at $\textbf{b}=(0,+1)$. Obstacle
is the union of the design and the platform.

(a) Build orientation with $\theta=0^{\circ}$.

(b) Build orientation with $\theta=30^{\circ}$.

(c) Build orientation with $\theta=135^{\circ}$.

(d) Build orientation with $\theta=200^{\circ}$.

Figure 4: Accessible and inaccessible support structures at different build
angles.

##  3 Build Orientation Optimization

In this section, we describe the build orientation optimization method w.r.t.
1) support volume and 2) removability of supports under the assumption that
the near net shape is fixturable in every orientation. In the proposed method,
we find the Pareto-optimal build orientation $\textbf{b}^{*}$ considering two
objectives, where volume of the entire support $V_{S}(\Omega)$ and the
secluded supports $V_{\Gamma}(\Omega)$ are to be minimized.

By definition, a Pareto-optimal solution gives the best trade-off between
multiple quantities of interest. In other words, further improvement of one
objective worsens at least one other. A set of Pareto-optimal solutions is
called a Pareto frontier, which can be quite useful in engineering
applications where multiple optimized designs can be explored so that the one
with the most suitable trade-off is chosen.

$V_{S}(\Omega)$ depends on the build orientation while $V_{\Gamma}(\Omega)$
depends on the machining setup and available fixturing configurations, tools
and orientations. Therefore, in many cases an orientation with less support
volume does not necessarily result in a smaller secluded support region. Thus,
we need to define a parameter that captures these objectives according to some
user-specified level of importance for each. To this end, we define $\xi$ at
the $m^{th}$ build orientation $\textbf{b}_{m}$ as weighted sum of the support
volume $V_{S}(\Omega,\textbf{b}_{m})$ and secluded support volume
$V_{\Gamma}(\Omega,\textbf{b}_{m})$:

$\xi=(1-w_{acc})\dfrac{V_{S}(\Omega,\textbf{b}_{m})}{V_{{S}_{max}}}+w_{acc}\dfrac{V_{\Gamma}(\Omega,\textbf{b}_{m})}{V_{\Gamma_{max}}}$
(5)

where $0\leq w_{acc}\leq 1$ is the user-specified weight for considering
accessibility. $V_{S}(\Omega)$ and $V_{\Gamma}(\Omega)$ in (5) are normalized
w.r.t. $V_{{S}_{max}}$ and $V_{\Gamma_{max}}$ denoting the maximum values of
support volume and secluded volume over all given build orientations,
respectively. In this paper, we sample the 3D rotation group
${\mathrm{SO}(3)}$ to obtain the set of candidate build orientations. However,
there are many gradient-free or stochastic optimization methods [26] such as
simulated annealing [27] that can be used to sample ${\mathrm{SO}(3)}$ more
efficiently [28] or converge to global optimum.

Algorithm 2 describes the build direction optimization w.r.t. support volume
and support accessibility.

Algorithm 2 Optimize Build Orientations $B^{*}$.

procedure
Optimize($w_{acc},\Omega,P,[{\mathbf{1}}_{F}],[{\mathbf{1}}_{H}],[{\mathbf{1}}_{K}],n_{b},n_{b^{*}},\lambda$)

$B\leftarrow\textsc{Sample}(n_{b})$ $\triangleright$ Sampling of
${\mathrm{SO}(3)}$

Initialize $\\{V_{S_{m}}\\},\\{V_{\Gamma_{m}}\\},\\{\xi_{m}\\}$
$\triangleright$ Vectors of size $m$

for $m\leftarrow 1$ to $n_{b}$ do

$\Omega_{m}\leftarrow\textsc{Rotate}(\Omega,b_{m})$

$S\leftarrow\textsc{SuppGen}(\Omega_{m})$ $\triangleright$ Generate support

$[{f}_{\text{IMF}}]\leftarrow\textsc{IMF}({\mathbf{1}}_{\Omega_{m}},\cdots)$
$\triangleright$ Compute IMF

${\mathbf{1}}_{\Gamma}\leftarrow[{\mathbf{1}}_{S}]\cdot[{f}_{\text{IMF}}>\lambda]$
$\triangleright$ Secluded supports

$V_{S_{m}}\leftarrow\textsc{Volume}(S)$ $\triangleright$ Compute volume

$V_{\Gamma_{m}}\leftarrow\textsc{Volume}(\Gamma)$

end for

$V_{{S}_{max}}\leftarrow\textsc{Max}([V_{S_{m}}])$ $\triangleright$ Find
maximum value

$V_{\Gamma_{max}}\leftarrow\textsc{Max}([V_{\Gamma_{m}}])$

for $m\leftarrow 1$ to $n_{b}$ do

$\xi_{m}\leftarrow
w_{acc}\dfrac{V_{S_{m}}}{V_{{S}_{max}}}+(1-w_{acc})\dfrac{V_{\Gamma_{m}}}{V_{\Gamma_{max}}}$

end for

$B^{*}\leftarrow\textsc{Sort}([\xi_{m}],n_{b^{*}})$ $\triangleright$ Get top
$n_{b^{*}}$ solutions

return ($B^{*}$)

end procedure

###  3.1 Benchmark in 2D: Impact of Overhang Angle

(a) Sampled build orientations with corresponding support volume, secluded
volume, and weighted Pareto-optimality value.

(b) An optimized build orientation at a conservative $90^{\circ}$ overhang
angle.

Figure 5: Optimizing build orientation with overhang angle $\alpha=90^{\circ}$
and Pareto accessibility weight $w_{acc}=0.95$. There are no sampled build
orientations with fully removable support structures and the Pareto-optimal
build orientation is $\textbf{b}^{*}=295^{\circ}$.

(a) Sampled build orientations with corresponding support volume, secluded
volume, and weighted Pareto-optimality value.

(b) An optimized build orientation at $45^{\circ}$ overhang angle.

Figure 6: Optimizing build orientation with overhang angle $\alpha=45^{\circ}$
and Pareto accessibility weight $w_{acc}=0.95$. There are 3 build orientations
with fully removable structures, the Pareto-optimal solution is at the build
angle $135^{\circ}$.

Overhang angle $\alpha$ is an important factor in optimizing the build
orientation and can have a significant impact on both support volume and
location of supports. In this section, we consider the part of Fig. 2 as a
benchmark example in 2D, where optimized build orientations for two typical
overhang angles $\alpha=90^{\circ}$ and $\alpha=45^{\circ}$ are considered.
The set of build orientations $B\subset{\mathds{R}}^{2}$ with 72 sampled
orientations $\theta\in{\mathrm{SO}(2)}$ are:

$B=\\{R(\theta)(0,+1)~{}|~{}\theta=2\pi
i/72~{}\text{for}~{}i=0,1,\ldots,71\\}$ (6)

where $R(\theta)$ represents a planar rotation matrix corresponding to
rotation angle of $\theta$.

The multi-axis machining tool used for support removal is shown in Fig. 2. The
set of tool directions with 36 sampled orientations is:

$\Theta=\\{R(\theta)~{}|~{}\theta=2\pi i/36~{}\text{for}~{}i=0,1,\ldots,35\\}$
(7)

The accessibility analysis, support generation, and optimization are performed
at $256\times 256$ grid resolution. For this example, we choose $w_{acc}=0.95$
to find the best build orientation w.r.t. support removability.

Figure 5(a) shows the volume of support and inaccessible supports at different
build orientations for the conservative overhang angle of $\alpha=90^{\circ}$
and $\lambda=0.01$. There are no orientations with fully accessible/removable
support structures. The orientation with minimum inaccessible support volume
is $\textbf{b}^{*}=R(295^{\circ})(0,+1)$ as shown in Fig. 5(b) with
${V_{S}(\Omega,\textbf{b}_{m})}/{V_{{S}_{max}}}=0.76$ and
${V_{\Gamma}(\Omega,\textbf{b}_{m})}/{V_{\Gamma_{max}}}=0.06$. The Pareto-
optimality value $\xi$ minimized is $0.088$.

To highlight the impact of overhang angle $\alpha$ on the optimized build
orientation, Fig. 6(a) shows the volume of support and inaccessible supports
at different build orientations. There are no inaccessible support volumes at
build angles $45^{\circ},135^{\circ},315^{\circ}$. Among them, the Pareto-
optimal solution is $\textbf{b}^{*}=R(135^{\circ})(0,+1)$ as shown in Fig.
6(b) with ${V_{S}(\Omega,\textbf{b}_{m})}/{V_{{S}_{max}}}=0.007$ and
${V_{\Gamma}(\Omega,\textbf{b}_{m})}/{V_{\Gamma_{max}}}=0.0$. The Pareto-
optimality value is very close to zero, $\xi=0.0004$.

###  3.2 Support Bracket: Impact of Accessibility Weight

Next, let us consider the 3D example of Fig. 7, which is a topologically
optimized support bracket [2]. We aim to find an optimized build orientation
for the support bracket given the 4 fixturing configurations of Fig. 8 and the
3 machining tools at different sizes shown in Fig. 9. Each tool has 18
orientations available, specifically given each tool is originally along
$(0,1,0)$:

$\displaystyle\Theta=\\{$ $\displaystyle
R_{(1,0,0)}(0),R_{(1,0,0)}(\pi),R_{(1,0,0)}(\pi/2),R_{(1,0,0)}(3\pi/2),$
$\displaystyle R_{(1,0,0)}(\pi/4),R_{(1,0,0)}(3\pi/4),R_{(1,0,0)}(5\pi/4),$
$\displaystyle R_{(1,0,0)}(7\pi/4),R_{(0,0,1)}(\pi/2),R_{(0,0,1)}(3\pi/2),$
$\displaystyle R_{(0,0,1)}(\pi/4),R_{(0,0,1)}(3\pi/4),R_{(0,0,1)}(5\pi/4),$
$\displaystyle R_{(0,0,1)}(7\pi/4),R_{(1,0,1)}(\pi/2),R_{(1,0,1)}(3\pi/2),$
$\displaystyle R_{(1,0,-1)}(\pi/2),R_{(1,0,-1)}(3\pi/2)\\}$

where $R_{\mathbf{a}}(\theta)$ denotes the rotation matrix in 3D by angle
$\theta$ about axis $\mathbf{a}$. The resolution is chosen such that there are
about 100,000 voxels in the workpiece, i.e., the support bracket. For each
cutter, we choose ten sharp points ${\mathbf{k}}$ ($n_{{\mathbf{K}}}=10$). For
each case, we uniformly sample 100 build orientations ($n_{\textbf{b}}=100$)
to approximate ${\mathrm{SO}(3)}$ and select 5 build orientations
($n_{\textbf{b}^{*}}=5$) with the lowest weighted Pareto-optimality value
$\xi$. To identify secluded supports, we use $\lambda=0.001$. The reason
behind providing multiple (here 5) optimized orientations is : 1) there may be
other factors besides support volume and support accessibility that engineers
need to consider but are not modeled in the optimization process and 2) to
clearly demonstrate the impact of $w_{acc}$ as in some cases the “best”
orientation is not affected by a slight change in $w_{acc}$, but the
subsequent optimized orientations do change. In general, since finding an
optimized build orientation is a multi-objective optimization where not all
aspects of the problem are modeled, it is better to provide multiple options
to engineers to choose from. For all examples, $V_{{S}_{max}}=1302.53$ (cm3)
and $V_{\Gamma_{max}}=47.61$ (cm3).

Figure 7: Topologically optimized support bracket [2].

(a) Fixture 1.

(b) Fixture 2.

(c) Fixture 3.

(d) Fixture 4.

Figure 8: Four fixturing configurations.

(a) 3 different machining tools.

(b) Tool 1.

(c) Tool 2.

(d) Tool 3.

Figure 9: Three machining tools and their corresponding orientations.

Figure 15a shows the normalized total support volume, normalized secluded
support volume, and the weighted values ($\\{\xi_{i}\\}$) indicating Pareto-
optimality of each sampled build orientation $\textbf{b}_{m}$. Observe that
since $w_{acc}=0$, the weighted is the same as total support volume. Figure
15b illustrates the sampled ${\mathrm{SO}(3)}$, where the edge length and
radius of each ball reflects the level of optimality within the sampled
orientations. Figure 10 illustrates the near-net shapes for the 5 best build
orientations w.r.t. total support volume. The best build orientation in this
case is the canonical direction along +Z , where the support volume is 394
cm3and secluded support volume is 31.49 cm3. Values for other optimized
solutions with $w_{acc}=0$ are summarized in Table 1.

Table 1: Summary of results for $w_{acc}=0$. | $\textbf{b}^{*}$ |  $V_{S}$ (cm3) |  $V_{\Gamma}$ (cm3) | $\xi$
---|---|---|---|---
1 | $(0,0,1)$ | 394 | 31.49 | 0.38
2 | $(-0.59,-0.81,-0.05)$ | 672 | 39.50 | 0.516
3 | $(0,-1,0)$ | 674 | 31.44 | 0.517
4 | $(0,1,0)$ | 678 | 31.22 | 0.521
5 | $(-0.05,-1,0.03)$ | 685 | 29.91 | 0.527

(a) $\textbf{b}^{*}_{1}=(0,0,1)$.

(b) $\textbf{b}^{*}_{2}=(-0.59,-0.81,-0.05)$.

(c) $\textbf{b}^{*}_{3}=(0,-1,0)$.

(d) $\textbf{b}^{*}_{4}=(0,1,0)$.

(e) $\textbf{b}^{*}_{5}=(-0.05,-1,0.03)$.

Figure 10: 5 Pareto-optimal directions with $w_{acc}=0$.

Figure 16a shows the normalized support volumes and the weighted Pareto-
optimality values for $w_{acc}=0.25$. In this case, the optimality of each
orientation mostly relies on support volume and removability is of secondary
concern. Figure 16b illustrates the sampled ${\mathrm{SO}(3)}$ for
$w_{acc}=0.25$.

Figure 11 illustrates the near-net shapes for the 5 best build orientations
w.r.t. the weighted Pareto-optimality criteria. Similar to the previous case,
the first optimized orientation is (0,0,1), however the $\xi$ has increased
from 0.38 to 0.45; in other words, its level of Pareto-optimality has reduced.
Further, according to Table 2, other orientations have changed, indicating
that the two objectives are in many cases competing.

Table 2: Summary of results for $w_{acc}=0.25$. | $\textbf{b}^{*}$ |  $V_{S}$ (cm3) |  $V_{\Gamma}$ (cm3) | $\xi$
---|---|---|---|---
1 | $(0,0,1)$ | 394 | 31.49 | 0.453
2 | $(-0.97,-0.13,-0.20)$ | 772 | 17.22 | 0.5352
3 | $(0.01,0.14,0.99)$ | 701 | 25.05 | 0.5353
4 | $(-0.08,-0.88,0.47)$ | 690 | 26.37 | 0.5357
5 | $(-0.15,0.38,-0.91)$ | 767 | 17.99 | 0.5364

(a) $\textbf{b}^{*}_{1}=(0,0,1)$

(b) $\textbf{b}^{*}_{2}=(-0.97,-0.13,-0.20)$

(c) $\textbf{b}^{*}_{3}=(0.01,0.14,0.99)$

(d) $\textbf{b}^{*}_{4}=(-0.08,-0.88,0.47)$

(e) $\textbf{b}^{*}_{5}=(-0.15,0.38,-0.91)$

Figure 11:  5 Pareto-optimal directions with $w=0.25$.

Figure 17 shows the normalized support volumes and $\\{\xi_{i}\\}$ over the
sampled ${\mathrm{SO}(3)}$ for $w_{acc}=0.5$. Figure 12 illustrates the
selected optimized build orientations. The first optimized is
$\textbf{b}_{1}=(-0.97,-0.13,-0.20)$ with support volume of 772 cm3and
secluded volume of 17.22 cm3. Observe that compared to the previous cases,
total support volume is significantly higher, however the reduction in
secluded volume has made it the Pareto-optimal orientation for $w_{acc}=0.5$.
The values for other selected build orientations are presented in Table 3.

Table 3: Summary of results for $w_{acc}=0.50$. | $\textbf{b}^{*}$ |  $V_{S}$ (cm3) |  $V_{\Gamma}$ (cm3) | $\xi$
---|---|---|---|---
1 | $(-0.97,-0.13,-0.20)$ | 772 | 17.22 | 0.477
2 | $(-0.15,0.38,-0.91)$ | 767 | 17.99 | 0.483
3 | $(0,0,1)$ | 394 | 31.49 | 0.522
4 | $(0.01,0.14,0.99)$ | 701 | 25.05 | 0.532
5 | $(-0.08,-0.88,0.47)$ | 690 | 26.37 | 0.542

(a) $\textbf{b}^{*}_{1}=(-0.97,-0.13,-0.20)$

(b) $\textbf{b}^{*}_{2}=(-0.15,0.38,-0.91)$

(c) $\textbf{b}^{*}_{3}=(0,0,1)$

(d) $\textbf{b}^{*}_{4}=(0.01,0.14,0.99)$

(e) $\textbf{b}^{*}_{5}=(-0.08,-0.88,0.47)$

Figure 12: 5 Pareto-optimal directions with $w=0.50$.

As shown in Fig. 13 and indicated in Table 4, the optimized build orientation
for $w_{acc}=0.75$ is similar to the one obtained for $w_{acc}=0.50$ with
$\textbf{b}_{1}=(-0.97,-0.13,-0.20)$. In this case, since the optimality is
mainly due to low secluded volume, increasing $w_{acc}$ results in a decrease
in $\xi$ from 0.47 to 0.42. Figure 18 illustrates the sampled orientation
space and values for quantities of interest.

Table 4: Summary of results for $w_{acc}=0.75$. | $\textbf{b}^{*}$ |  $V_{S}$ (cm3) |  $V_{\Gamma}$ (cm3) | $\xi$
---|---|---|---|---
1 | $(-0.97,-0.13,-0.20)$ | 772 | 17.22 | 0.42
2 | $(-0.15,0.38,-0.91)$ | 767 | 17.99 | 0.43
3 | $(-0.02,-0.53,0.84)$ | 810 | 22.57 | 0.51
4 | $(-0.95,-0.29,0.06)$ | 958 | 21.68 | 0.52
5 | $(-0.35,0.08,0.93)$ | 883 | 22.75 | 0.53

(a) $\textbf{b}^{*}_{1}=(-0.97,-0.13,-0.20)$

(b) $\textbf{b}^{*}_{2}=(-0.15,0.39,0.91)$.

(c) $\textbf{b}^{*}_{3}=(-0.02,-0.53,0.84)$

(d) $\textbf{b}^{*}_{4}=(-0.95,-0.29,0.06)$

(e) $\textbf{b}^{*}_{5}=(-0.35,0.08,0.93)$

Figure 13:  5 Pareto-optimal directions with $w=0.75$.

Finally, by increasing the value of $w_{acc}$ to 1.0 we are essentially
ignoring support volume and only optimizing w.r.t. removability of the
sacrificial support structure as illustrated in Fig. 19. Compared to the
previous case the first optimized build orientation has remained the same,
however the value of $\xi$ has reduced to 0.36 and the other orientations have
either swapped places or have been replaced as shown in Figure 14. Table 5
summarizes the results $w_{acc}=1$.

Table 5: Summary of results for $w_{acc}=1.0$. | $\textbf{b}^{*}$ |  $V_{S}$ (cm3) |  $V_{\Gamma}$ (cm3) | $\xi$
---|---|---|---|---
1 | $(-0.97,-0.13,-0.20)$ | 772 | 17.22 | 0.36
2 | $(-0.15,0.38,-0.91)$ | 767 | 17.99 | 0.38
3 | $(-0.71,-0.20,0.67)$ | 1170 | 19.95 | 0.42
4 | $(-0.95,-0.29,0.05)$ | 958 | 21.68 | 0.45
5 | $(0.73,-0.38,0.57)$ | 1085 | 22.12 | 0.46

(a) $\textbf{b}^{*}_{1}=(-0.97,-0.13,-0.20)$

(b) $\textbf{b}^{*}_{2}=(-0.15,0.38,-0.91)$

(c) $\textbf{b}^{*}_{3}=(-0.71,-0.20,0.67)$.

(d) $\textbf{b}^{*}_{4}=(-0.95,-0.29,0.05)$.

(e) $\textbf{b}^{*}_{5}=(0.73,-0.38,0.57)$.

Figure 14: 5 Pareto-optimal directions with $w=1.0$.

(a) Sampled orientations and values.

(b) Sampled SO3.

Figure 15: Sampled orientations and support volumes for $w_{acc}=0$. The edge
length and radius of each ball reflects the level of optimality within the
sampled orientations. Selected build orientations are indicated in green.

(a) Sampled orientations and values.

(b) Sampled SO3.

Figure 16: Sampled orientations and support volumes for $w=0.25$.

(a) Sampled orientations and values.

(b) Sampled SO3.

Figure 17: Sampled orientations and support volumes for $w=0.50$.

(a) Sampled orientations and values.

(b) Sampled SO3.

Figure 18: Sampled orientations and support volumes for $w=0.75$.

(a) Sampled orientations and values.

(b) Sampled SO3.

Figure 19: Sampled orientations and support volumes for $w=1.0$.

##  4 Support Removal Planning

In this section, we describe an automated support removal plan based on the
IMF described in Section 2. The underlying assumption is that the entirety of
the support region (of arbitrary shape) need to be machined. This is in
contrast with a previous approach presented in [22], where we made restrictive
assumptions on the shape of the support structure; namely, a finite collection
of support beams (e.g., vertical beams) attached at small ‘dislocation
features’ modeled as singular attachment points. The main drawback of this
approach is the restrictive assumptions on both tool and support column
shapes, and the inability to cut through the middle of columns to reach deeper
columns, leading to unnecessary spirals around the part to remove support in
“rings” of support columns.

The proposed greedy algorithm finds a sequence of actions in terms of
fixturing, cutting tool and its orientation based on maximal removable volume.
As described in Algorithm 3, at each step the maximum accessible support
volume for a single oriented tool and fixturing configuration is determined as
explained in Algorithm 4. Subsequently, the near-net shape is updated and the
process is repeated until the entirety of accessible support regions are
removed. In practice, we halt the planning once the maximum removed volume is
less than some threshold, here 0.5% of support volume.

Algorithm 3 Support Removal Planning.

procedure Plan(${\mathbf{1}}_{\Omega},\textbf{b}$)

${\mathbf{1}}_{\Omega_{\textbf{b}}}\leftarrow\textsc{Rotate}({\mathbf{1}}_{\Omega},\textbf{b})$

${\mathbf{1}}_{S^{(0)}}\leftarrow\textsc{SuppGen}({\mathbf{1}}_{\Omega_{\textbf{b}}})$
$\triangleright$ Generate support

$V_{S}\leftarrow\textsc{Volume}({\mathbf{1}}_{S^{(0)}})$ $\triangleright$
Compute support volume

${\mathbf{1}}_{N^{(0)}}\leftarrow{\mathbf{1}}_{\Omega_{\textbf{b}}}+{\mathbf{1}}_{S^{(0)}}$
$\triangleright$ Near-net shape

$s\leftarrow 1$ $\triangleright$ Initialize planning step

while $V_{S}>\epsilon$ do

$({\mathbf{1}}_{S_{\text{rem}}^{(s)}},\cdots)\leftarrow\textsc{Remove}({\mathbf{1}}_{\Omega_{\textbf{b}}},\cdots)$

${\mathbf{1}}_{S^{(s)}}\leftarrow{\mathbf{1}}_{S_{\text{rem}}^{(s)}}-{\mathbf{1}}_{S^{(s-1)}}$

${\mathbf{1}}_{N^{(s)}}\leftarrow{\mathbf{1}}_{\Omega_{\textbf{b}}}+{\mathbf{1}}_{S^{(s)}}$
$\triangleright$ Implicit difference

$V_{S}\leftarrow\textsc{Volume}({\mathbf{1}}_{S^{(s)}})$ $\triangleright$
Update Near-net shape

$s\leftarrow s+1$ $\triangleright$ Next step

end while

return
(${\mathbf{1}}_{N^{(s)}},{\mathbf{1}}_{T^{(s)}},{\mathbf{1}}_{F^{(s)}}$)

end procedure

Algorithm 4 Find Maximum Removable Support.

procedure
Remove($[{\mathbf{1}}_{\Omega}],[{\mathbf{1}}_{S}],[{\mathbf{1}}_{P}],[{\mathbf{1}}_{F}],[{\mathbf{1}}_{H}],[{\mathbf{1}}_{K}],\\{\Theta\\}$))

Initialize $V_{\text{max}}\leftarrow 0$

for $j\leftarrow 1$ to $n_{F}$ do

Define
$[{\mathbf{1}}_{O_{j}}]\leftarrow[{\mathbf{1}}_{\Omega}]+[{\mathbf{1}}_{F_{j}}]+[{\mathbf{1}}_{P}]$
$\triangleright$ Union

Initialize $[f_{\text{IMF}}^{(j)}]\leftarrow 0$

for $i\leftarrow 1$ to $n_{T}$ do

Define
$[{\mathbf{1}}_{T_{i}}]\leftarrow[{\mathbf{1}}_{H_{i}}]+[{\mathbf{1}}_{K_{i}}]$
$\triangleright$ Implicit union

Initialize $[\gamma_{i}]\leftarrow[0]$ $\triangleright$ IMF for the
$i^{\text{th}}$ tool

for all $R\in\Theta_{i}$ do

$[{\mathbf{1}}_{RT_{i}}]\leftarrow\textsc{Rotate}([{\mathbf{1}}_{T_{i}}],R)$

$[\tilde{{\mathbf{1}}}_{RT_{i}}]\leftarrow\textsc{Reflect}([{\mathbf{1}}_{RT_{i}}])$

$[g]\leftarrow\textsc{Convolve}([{\mathbf{1}}_{O_{j}}],[\tilde{{\mathbf{1}}}_{RT_{i}}])$

for all ${\mathbf{k}}\in\textsc{Support}([{\mathbf{1}}_{K_{i}}])$ do

$[h]\leftarrow\textsc{Translate}([g],-R{\mathbf{k}})$

$[\gamma_{i}]\leftarrow\min([\gamma_{i}],[h])$

end for

${\mathbf{1}}_{S_{\text{rem}}}\leftarrow[{\mathbf{1}}_{S}]\cdot[\gamma_{i}>\lambda]$

$V_{\text{rem}}\leftarrow\textsc{Volume}({\mathbf{1}}_{S_{\text{rem}}})$

if $V_{\text{rem}}>V_{\text{max}}$ then

$V_{\text{max}}\leftarrow V_{\text{rem}}$

${\mathbf{1}}_{S_{\text{max}}}\leftarrow{\mathbf{1}}_{S_{\text{rem}}}$,
${\mathbf{1}}_{T_{\text{max}}}\leftarrow{\mathbf{1}}_{T_{i}}$

${\mathbf{1}}_{R_{\text{max}}}\leftarrow{\mathbf{1}}_{R}$,
${\mathbf{1}}_{F_{\text{max}}}\leftarrow{\mathbf{1}}_{F_{j}}$

end if

end for

end for

end for

return
(${\mathbf{1}}_{S_{\text{max}}},{\mathbf{1}}_{T_{\text{max}}},{\mathbf{1}}_{R_{\text{max}}},{\mathbf{1}}_{F_{\text{max}}}$)

end procedure

Figure 20 illustrates an 11-step support removal plan for the optimized build
orientation $\textbf{b}^{*}_{1}=(0,0,1)$ obtained for $w_{acc}=0$ and
$w_{acc}=0.25$. Table 6 summarizes the removed volume fraction at each step as
well as fixturing device, tool and its approach direction. Overall, 87% of the
supports are removed.

Figure 20: 11-step support removal plan for an optimized orientation with $w_{acc}=0$ where about 87 % of supports can be removed. Table 6: Summary of results for plan for the optimized build orientation $\textbf{b}^{*}_{1}=(0,0,1)$ at $w_{acc}=0$ with 93% removable supports. Step | Vol. Frac. (%) | Fixture | Tool | Direction
---|---|---|---|---
1 | 52.47 | 4 | 2 | (1,0,0)
2 | 13.92 | 3 | 2 | (-1,0,0)
3 | 7.29 | 3 | 3 | (0,1,-1)
4 | 3.99 | 3 | 3 | (0,-1,-1)
5 | 2.61 | 4 | 3 | (0,1,1)
6 | 2.39 | 3 | 2 | (1,0,-1)
7 | 1.66 | 3 | 2 | (-1,-1,0)
8 | 0.85 | 1 | 2 | (0,0,-1)
9 | 0.76 | 1 | 1 | (1,0,-1)
10 | 0.66 | 3 | 3 | (0,-1,1)
11 | 0.59 | 3 | 3 | (-1,1,0)

Figure 21 illustrates an 8-step support removal plan for the optimized build
orientation $\textbf{b}^{*}_{1}=(-0.97,-0.13,-0.20)$ obtained for
$w_{acc}=0.5$, $w_{acc}=0.75$, and $w_{acc}=1.0$. Table 7 summarizes the plan
where different combinations of fixtures 2,3, and 4 and tools 1, 2, and 3 are
utilized. As expected, increasing $w_{acc}$ results in a near-net shape with
higher more support removability, i.e., lower discrepancy between the as-
designed and as-manufactured model. For this build orientation, 90% of the
supports have been removed.

Figure 21: 8-step support removal plan for an optimized orientation with $w_{acc}=0.5$ where about 90 % of supports can be removed. Table 7: Summary of results for plan for the optimized build orientation $\textbf{b}^{*}_{1}=(-0.97,-0.13,-0.20)$ at $w_{acc}=0.50$ with 90% removable supports. Step | Vol. Frac. (%) | Fixture | Tool | Direction
---|---|---|---|---
1 | 64.52 | 4 | 2 | (1,0,0)
2 | 13.17 | 4 | 1 | (-1,1,0)
3 | 6.14 | 3 | 3 | (-1,0,-1)
4 | 1.80 | 4 | 2 | (0,-1,-1)
5 | 1.67 | 2 | 3 | (1,1,0)
6 | 1.14 | 4 | 3 | (1,0,1)
7 | 0.92 | 3 | 2 | (0,1,-1)
8 | 0.87 | 3 | 2 | (-1,0,0)

##  5 Conclusion

We presented a framework to find the optimal build direction for a special
case of hybrid manufacturing – additive manufacturing followed by machining
processes, where the additive process fabricates a near-net shape comprising
the final part and the sacrificial support structures. Assuming the supports
need to be removed using multi-axis machining, we need to ensure that the
build orientation is chosen such that the support are “accessible”. Our
methodology is based on the IMF, which incorporates well-established concepts
from spatial planning and robotics to define a continuous field that measures
minimum collision possible between an obstacle and cutting tools to come in
contact with a given query point in the Euclidean space. We have extended IMF
to near-net shapes (part and support) to find accessible and secluded regions
of support for a given build orientation. Further, we have generalized IMF
definition to multiple fixturing devices and configurations which enables more
accurate analysis for real-world industrial applications.

In this paper, we focused on finding the best build orientation w.r.t. total
support volume and secluded support volume. Since the total support volume
depends on the build orientation and the secluded support volume depends on
the given multi-axis machining setup, lower support volume does not
necessarily result in lower secluded volume. In other words, the two
objectives are often competing, thus the proposed algorithm finds the Pareto-
optimal orientation to minimize both volumes, the former reducing the cost of
materials and AM build time while the latter reduces the cost and time of SM
post-processing. The global optimum will depend on the cost model for AM and
SM (not considered in this paper) and the Pareto frontier provides the
engineers with the flexibility to select it based on their use-cases.

We have also proposed an automated support removal planning algorithm based on
IMF, where a sequence of actions for iteratively machining support volumes is
provided. The planning algorithm is based on the maximal removable volume,
where at each step we find a combination of fixturing device, tool and
orientation that remove as much material as possible in a greedy fashion.

For ease of implementation we chose to sample the 3D orientation space and
selected the Pareto-optimal solution without any further optimization.
However, it is possible to improve the current framework through various
optimization methods, such as gradient-free or stochastic methods. In
practical applications, the optimal plan must also take contact forces into
account and considering maximal removable volume may not yield the best
sequence of actions.

The efficacy of the proposed method has been demonstrated through 2D and 3D
examples. However, it has also been shown that considering the support removal
solely at the post-processing stage is inherently limited and can pose many
challenges where there might not exist a build orientation at which all
supports are removable. In such cases, a time consuming and costly trial-and-
error cycle must be repeated to modify the design. Future work will focus on
incorporating support accessibility constraint upfront in the early stage of
design and coupling design optimization with the build orientation
optimization proposed in this paper.

## References

  * [1] A. M. Mirzendehdel, M. Behandish, S. Nelaturi, Exploring feasible design spaces for heterogeneous constraints, Computer-Aided Design 115 (2019) 323–347.
  * [2] A. M. Mirzendehdel, M. Behandish, S. Nelaturi, Topology optimization with accessibility constraint for multi-axis machining, Computer-Aided Design 122 (2020) 102825.
  * [3] P. M. Pandey, K. Thrimurthulu, N. V. Reddy*, Optimal part deposition orientation in fdm by using a multicriteria genetic algorithm, International Journal of Production Research 42 (19) (2004) 4069–4089.
  * [4] Z. Jibin, Determination of optimal build orientation based on satisfactory degree theory for rpt, in: Ninth International Conference on Computer Aided Design and Computer Graphics (CAD-CG’05), IEEE, 2005, pp. 6–pp.
  * [5] A. S. Nezhad, F. Barazandeh, A. Rahimi, M. Vatani, Pareto-based optimization of part orientation in stereolithography, Proceedings of the Institution of Mechanical Engineers, Part B: Journal of Engineering Manufacture 224 (10) (2010) 1591–1598.
  * [6] R. Paul, S. Anand, Optimization of layered manufacturing process for reducing form errors with minimal support structures, Journal of Manufacturing Systems 36 (2015) 231–243.
  * [7] P. Das, R. Chandran, R. Samant, S. Anand, Optimum part build orientation in additive manufacturing for minimizing part errors and support structures, Procedia Manufacturing 1 (2015) 343–354.
  * [8] N. Umetani, R. Schmidt, Cross-sectional structural analysis for 3d printing optimization., in: SIGGRAPH Asia Technical Briefs, Citeseer, 2013, pp. 5–1.
  * [9] H. Morgan, J. Cherry, S. Jonnalagadda, D. Ewing, J. Sienz, Part orientation optimisation for the additive layer manufacture of metal components, The International Journal of Advanced Manufacturing Technology 86 (5-8) (2016) 1679–1687.
  * [10] P. Delfs, M. Tows, H.-J. Schmid, Optimized build orientation of additive manufactured parts for improved surface quality and build time, Additive Manufacturing 12 (2016) 314–320.
  * [11] J. Vanek, J. A. G. Galicia, B. Benes, Clever support: Efficient support structure generation for digital fabrication, in: Computer graphics forum, Vol. 33, Wiley Online Library, 2014, pp. 117–125.
  * [12] J. Dumas, J. Hergel, S. Lefebvre, Bridging the gap: Automated steady scaffoldings for 3d printing, ACM Transactions on Graphics (TOG) 33 (4) (2014) 1–10.
  * [13] G. Allaire, M. Bihr, B. Bogosel, Support optimization in additive manufacturing for geometric and thermo-mechanical constraints, Structural and Multidisciplinary Optimization 61 (6) (2020) 2377–2399.
  * [14] C. Wang, X. Qian, Optimizing support for heat dissipation in additive manufacturing, in: ASME 2020 International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, American Society of Mechanical Engineers Digital Collection, 2020.
  * [15] M. Langelaar, Topology optimization of 3d self-supporting structures for additive manufacturing, Additive Manufacturing 12 (2016) 60–70.
  * [16] X. Guo, J. Zhou, W. Zhang, Z. Du, C. Liu, Y. Liu, Self-supporting structure design in additive manufacturing through explicit topology optimization, Computer Methods in Applied Mechanics and Engineering 323 (2017) 27–63.
  * [17] X. Qian, Undercut and overhang angle control in topology optimization: a density gradient based integral approach, International Journal for Numerical Methods in Engineering 111 (3) (2017) 247–272.
  * [18] W. Zhang, L. Zhou, Topology optimization of self-supporting structures with polygon features for additive manufacturing, Computer Methods in Applied Mechanics and Engineering 334 (2018) 56–78.
  * [19] A. M. Mirzendehdel, K. Suresh, Support structure constrained topology optimization for additive manufacturing, Computer-Aided Design 81 (2016) 1–13.
  * [20] M. Langelaar, Combined optimization of part topology, support structure layout and build orientation for additive manufacturing, Structural and Multidisciplinary Optimization 57 (5) (2018) 1985–2004.
  * [21] C. Wang, X. Qian, Simultaneous optimization of build orientation and topology for additive manufacturing, Additive Manufacturing 34 (2020) 101246.
  * [22] S. Nelaturi, M. Behandish, A. M. Mirzendehdel, J. de Kleer, Automatic support removal for additive manufacturing post processing, Computer-Aided Design 115 (2019) 135–146.
  * [23] K. L. Hoffman, M. Padberg, G. Rinaldi, et al., Traveling salesman problem, Encyclopedia of operations research and management science 1 (2013) 1573–1578.
  * [24] T. Lozano-Perez, Spatial planning: A configuration space approach, in: Autonomous robot vehicles, Springer, 1990, pp. 259–271.
  * [25] S. Nelaturi, G. Burton, C. Fritz, T. Kurtoglu, Automatic spatial planning for machining operations, in: 2015 IEEE International Conference on Automation Science and Engineering (CASE), IEEE, 2015, pp. 677–682.
  * [26] L. Davis, Genetic algorithms and simulated annealing (1987).
  * [27] S. W. Mahfoud, D. E. Goldberg, Parallel recombinative simulated annealing: A genetic algorithm, Parallel computing 21 (1) (1995) 1–28.
  * [28] S. Nelaturi, V. Shapiro, Solving inverse configuration space problems by adaptive sampling, Computer-Aided Design 45 (2) (2013) 373–382.