1 s2.0 S0010448515000263 Main PDF
1 s2.0 S0010448515000263 Main PDF
Computer-Aided Design
journal homepage: www.elsevier.com/locate/cad
graphical abstract
highlights
• Optimize the shape of a designed model into a ‘self-supported’ state for AM.
• Global shape of a model is preserved by minimizing the energy of rigidity.
• A closed-form solution for minimal rotation to drive the optimization.
• Tackle the shape optimization problem for reducing supporting structures.
1. Introduction
Fig. 1. An orientation-driven shape optimization approach is presented in this paper to show how a given model can be deformed so that the usage of the support structure
is significantly reduced in AM with a single material. Layered fabrication based on the FDM method (middle left) and on the SLA method (middle right) can both benefit from
this work to improve the efficiency of the manufacturing and the quality of the finished models.
the support is separated from the main object by being torn away
at the top of the columns. This step is always performed manually.
More seriously, the surface of the main object is easily damaged
by the visual artifacts which are left on its surface (see Fig. 2 for
an example). Note that although the process of drop-on-powder
based AM and Selective Laser Sintering (SLS) is self-supported by
the powders, a large group of machines using FDM and SLA suffer
from the problem of support.
E (CTnew , CTo ) = w
wt ∥Vne
t − Lt Vot ∥2F , (3)
t ∈T
Fig. 6. Rotation analysis on the Gauss sphere to enforce the condition of self-
supporting: (a) a rotation to move n̂1 and n̂2 into the feasible region Hp (in cyan) Fig. 7. Case I—there is only one surface face on a risky tetrahedron.
w.r.t. the printing direction d̂p , and (b) dual-feasible-regions of n̂1 and n̂2 , Hn̂1 and
Hn̂2 , form a target region as Ht = Hn̂1 ∩ Hn̂2 to inversely rotate d̂p into. a result, the minimal angle can be determined by rotating d̂p into
the DFR of n̂. Specifically, for a surface tetrahedron t with m surface
4. Computation of minimal rotation faces (m > 1), we can inversely rotate d̂p into the common area
defined by the DFRs of these faces—that is Ht = Hn̂1 ∩ · · · ∩ Hn̂m
Served as the core of our shape optimization approach, the (see Fig. 6(b)).
computation of minimal rotation is formulated in a closed-form in Methods for determining the minimal angle (by inverse
this section. rotation) in different configurations are presented below. Cases of
Problem Definition: Given a tetrahedron t ∈ T s with four faces tetrahedra with one and two surface faces are discussed. We found
{fi } (i = 1, . . . , 4) and their corresponding normals as {n̂i }, the only a very few cases with three surface faces in our tests. For such
minimal rotation is defined as cases, the configuration space on the Gauss sphere is divided into
eight regions. This makes the closed-form formulation of minimal
arg min ∥R(r̂, θ ) − I∥2g rotation very tedious. To have an easy-to-implement approach, a
r̂,θ (4) tetrahedron t with more than two surface faces is split into four
s.t ., ∀fi ∈ F s , (R(r̂, θ )n̂i ) · d̂p ≥ −τ tetrahedra by inserting a new vertex at the middle of t, and this
where ∥ · ∥g is a general matrix norm to measure how significantly will not affect t’s neighboring tetrahedra.
R(r̂, θ ) deviates from I.
Directly solving this problem by constrained nonlinear opti- 4.2. Case I: one surface face
mization is tedious and time-consuming. The problem is a pure ro-
tation issue. Therefore, we analyze it on the Gauss sphere to find a For the case of a tetrahedron t with only one surface face f
compact solution. whose normal is n̂, if the self-supporting condition (Eq. (1)) is not
satisfied on f , the point d̂p must fall outside the feasible region Hn̂ .
4.1. Analysis on Gauss sphere
The minimal inverse rotation that moves d̂p back into Hn̂ can be
For a risky tetrahedron in R3 , the unit normal vectors of its determined by projecting d̂p onto the plane of Hn̂ and then nor-
four faces can be considered as four points on the Gauss sphere malizing it to the unit vector d̂′p . Here d̂′p is the closest point to d̂p
S2 . Meanwhile, the unit vector d̂p of the printing direction is also in Hn̂ . Thus, the minimal rotation axis is r = d̂′p × d̂p and the rota-
mapped to a point on S2 . Without a loss of generality, d̂p is as- tion angle θ = arccos(d̂p · d̂′p ). (See Fig. 7.)
sumed to be the top point of the Gauss sphere (i.e., d̂p = (0, 0, 1)).
Now the condition of self-supporting for a surface face (Eq. (1)) can
4.3. Case II: two surface faces
be interpreted as that the normal n̂ must be located at the half-
space Hp above/on the plane z = −τ . As illustrated in Fig. 6(a), a
For the case that a tetrahedron t has two surface faces f1 and f2
risky tetrahedron may have a few surface faces that are not self-
(with n̂1 and n̂2 as their normals respectively), we present a closed-
supported. When this situation occurs, we can apply a rotation on
form solution of the minimal rotation below. Again, the analysis
the normal vectors to move them into the safe region (i.e., inside
is performed with the help of the DFRs and the inverse rotation.
Hp ). The rotation is actually R(r̂, θ ) used in Eq. (4), where a mini-
Specifically, the Gauss sphere is decomposed into five regions with
mal rotation angle θ is demanded.
respect to Hn̂1 and Hn̂2 , where different regions lead to different
When there is more than one risky face on a tetrahedron, de-
termining a minimal rotation to move all points (corresponding configurations of minimal rotation. The yellow part is the feasible
to the normals on risky faces) into the feasible region Hp is not region Ht . The boundaries of the configuration regions are formed
straightforward—see Fig. 6(a). To solve this problem, a dual repre- by five planes (see the illustration in Fig. 8). Two planes, P⊥n̂1 and
sentation of Hp is defined as follows. P⊥n̂2 passing through the corner points of Ht are perpendicular to
Pn̂1 and Pn̂2 respectively. The plane PAC passing through the origin
Dual-Feasible-Region (DFR): The self-supporting condition for a ˆ which splits the region into two
is perpendicular to the vector ca,
surface face with normal n̂ (i.e., Eq. (1)) can be considered as halves. Equations of the five planes help to define five half-spaces,
requesting d̂p to be located at the same side of n̂ with reference as follows:
to the plane: xn̂x + yn̂y + z n̂z + τ = 0. Therefore, a DFR of d̂p for
n̂ can be defined by the half-space Hn̂1 = {p | ∀p ∈ S2 , n̂1 · p + τ ≥ 0}
Hn̂2 = {p | ∀p ∈ S2 , n̂2 · p + τ ≥ 0}
Hn̂ = {p | ∀p ∈ S2 , p · n̂ + τ ≥ 0}. (5) HAC = {p | ∀p ∈ S2 , caˆ · p ≥ 0} (6)
Thus, the self-supporting condition becomes d̂p ∈ Hn̂ . H⊥n̂1 = {p | ∀p ∈ S2 , (caˆ × n̂1 ) · p + d ≥ 0}
H⊥n̂2 = {p | ∀p ∈ S2 , (n̂2 × caˆ ) · p + d ≥ 0}
Inverse Rotation: Rotating n̂ by θ around the axis r̂ is equivalent to
inversely rotating d̂p with the angle (−θ ) around the same axis. As ˆ = (n̂1 × n̂2 )/∥n̂1 × n̂2 ∥ and d = τ ∥n̂1 × n̂2 ∥/(1 + n̂1 · n̂2 ).
where ca
6 K. Hu et al. / Computer-Aided Design 65 (2015) 1–10
Fig. 8. Case II—there are two surface faces on a risky tetrahedron. The Gauss sphere
is decomposed into five regions corresponding to the five different configurations of
minimal rotation. (For interpretation of the references to color in this figure legend,
the reader is referred to the web version of this article.)
Fig. 10. Example of support slimming on the Armadillo model and the comparison
of AM results before vs. after the shape optimization in both MIP-SLA (bottom-left)
and FDM (bottom-right). The optimization ‘raises up’ the arms and ‘pulls down’ the
tail. In the pictures of MIP-SLA, the bottom row shows the optimized result; in the
pictures of FDM, the right model has been optimized.
Fig. 9. When d̂p falls in different regions, it has different targets for the minimal 5. Results and discussion
rotation: (a)–(d) the configurations for regions I–IV, respectively. (For interpretation
of the references to color in this figure legend, the reader is referred to the web
version of this article.) The approach proposed in this paper has been implemented by
C++ together with the Eigen library [29] as the numerical solver.
All the tests below are taken on an Intel Core i7-3770 3.40 GHz
Configuration I: When d̂p ∈ Hn̂1 ∩ H⊥n̂1 , the minimal inverse
computer with 8 GB RAM. Our current implementation does not
rotation moves d̂p onto the arc ADC
(see the blue region in Fig. 9(a)).
use the multi-core acceleration. The approach has been tested with
Here, H denotes a complementary set of H . To realize that, we several models, and all the results are encouraging.
project d̂p onto the plane Pn̂1 and normalize it to a unit vector d̂′p .
As a result, the rotation axis for turning risky faces safe is r =
5.1. Experimental results
d̂′p × d̂p with the angle θ = arccos(d̂′p · d̂p ). Note that, in all the
configurations below, r and θ can be determined in the same way Our first example is the Dino model which was shown in Fig. 1.
after obtaining d̂′p . In this optimization, we set the maximal self-supported angle
αmax = 0. As a result of shape optimization, the Dino ‘raises up’
Configuration II: This configuration occurs when d̂p ∈ Hn̂2 ∩ H⊥n̂2
its head and arms. Local details of the bone structures are well-
(i.e., falling in the green region shown in Fig. 9(b)). We then project
preserved. The original and optimized models have been tested on
d̂p onto the plane Pn̂2 and normalize it to d̂′p , which actually moves
two different types of AM machines – the MIP-SLA and the For-
d̂p onto the arc ABC
. tus 360mc FDM – where the supporting structures for MIP-SLA are
Configuration III: The respective region of this configuration is generated by the region subtraction method [2] and the support for
FDM is generated by the software delivered together with the For-
HAC ∩ H⊥n̂1 ∩ H⊥n̂2 (the red region shown in Fig. 9(c)). If d̂p falls
tus machine. The second example is the Armadillo model. Fig. 10
in this configuration, the closest point in the feasible region Ht is
shows the result of shape optimization on this example, where Ar-
the point A. The position of A can be computed by the planes. We
madillo ‘raises up’ its arms and ‘pulls down’ its tail. Quantitative
then assign the position of A to d̂′p .
measurements of these two examples are given in Table 1 for the
Configuration IV: This is d̂p ∈ HAC ∩ H⊥n̂1 ∩ H⊥n̂2 (the purple purpose of comparison.
In both MIP-SLA and FDM, the material usage for the support
region in Fig. 9(d)). In Ht , the closest point to d̂p is point C . Thus,
has been greatly reduced. Because the fabrication time of FDM is
its position is assigned as d̂′p to compute the minimal rotation along proportional to the total materials usage, slimming down the sup-
the axis r = d̂′p × d̂p with the angle θ = arccos(d̂′p · d̂p ). port will significantly improve the efficiency of the fabrication as
K. Hu et al. / Computer-Aided Design 65 (2015) 1–10 7
Fig. 11. Examples of support slimming on more models: Dinosaurus (top), Bunny (middle) and Pig (bottom). The supporting structure can be effectively reduced by applying
our shape optimization approach to all of these models.
Table 1
Comparison of fabrication cost.
Printer Material usagea Layer num Fab time (min)b
Main Support
Dino— Fig. 1
Input MIP-SLA 11.2 g 3.2 g 717 127 m
Optm MIP-SLA 10.9 g 0.5 g 865 153 m
Input FDM 1.30 in3 2.12 in3 408 428 m
Optm FDM 1.21 in3 1.07 in3 491 281 m
Armadillo— Fig. 10
Input MIP-SLA 26.4 g 2.9 g 692 117 m
Optm MIP-SLA 25.6 g 0.2 g 785 133 m
Input FDM 1.47 in3 2.57 in3 389 483 m
Optm FDM 1.38 in3 1.23 in3 440 322 m
a
The material used in MIP-SLA is measured by the weight of resin and in FDM is measured by the volume of filaments.
b
The time of fabrication is reported in the unit of minutes.
Table 2 of 100 iterations is reported. Note that the majority of the time is
Statistics of computational performance.
spent on the local steps for computing SVD and minimal rotation.
Model Fig. Volumetric mesh αmax Time(s)a The equation system of the global blending step needs only to be
Ver. # Tet. # factorized in the first step, and the factorization can be reused in
Dino 1 974 3 299 0° 4.151 the subsequent steps where the substitution can be computed very
Armadillo 10 2373 8 189 0° 10.717 efficiently. To further investigate the convergency of our shape op-
Dinosaurus 11 4345 16 803 10° 22.525 timization algorithm, we track the number of risky faces during the
Bunny 11 439 1 536 0° 1.899
computation. As shown in Fig. 12, the number of risky faces keeps
Pig 11 1046 4 045 10° 5.133
a
dropping in all the examples (although this may not be monoton-
The time reported in this column is the total time of 100 iterations in the unit
of seconds. We assume different materials are used in the fabrication—therefore,
ically).
different maximal self-supported angles, αmax , are used. It is obvious that having more vertices on the volumetric mesh
leads to longer computing time. On the other hand, a volumetric
well. Note that this will benefit not only the FDM printing with sin- mesh with too coarse a resolution will give a large shape approxi-
gle material but also the advanced FDM using dissolvable mate- mation error. Therefore, we usually employ a mesh with less than
rial in supports. The time of fabrication in MIP-SLA depends on the 5k vertices, and this results in a good trade-off between speed and
number of total layers of a model. Therefore, slimming down the quality.
support will not speed up the MIP-SLA printing. However, another
important aspect of MIP-SLA benefited by this work is the surface 5.2. Extensions
quality of finished model. The supporting structures and the main
model are linked by a few anchor points (AP). After removing the
Our optimization approach provides a basic tool for realizing
supports in a post-process, in place of the APs some artifacts usu-
the more interesting applications. Two examples, (1) support
ally appear (Fig. 2). The number of APs on the optimized Dino is
slimming with shape control and (2) searching for the optimal
reduced from 61 to 18, and the number of APs on the optimized
printing direction, are presented in this section.
Armadillo model is reduced to 1/16 of the original input with 32
APs. Three more examples are shown in Fig. 11. Shape Control in Optimization
We also study the performance and the convergency of the In many cases, the designers may not wish to change the shape
shape optimization algorithm. The statistics about the computa- of a model too much during the optimization for support slimming.
tion of different models are given in Table 2, where the total time This can be realized by adding a penalty factor β , which is an angle
8 K. Hu et al. / Computer-Aided Design 65 (2015) 1–10
Fig. 12. A chart to show the percentage of risky faces compared to the number of
risky faces on the input models.
Fig. 14. Our approach can be computed efficiently on freeform models. As a result, it can be used as a tool to compute the optimal shape for each printing direction. The
number of APs linking supports to the main model can be used as a criterion for selecting the printing direction. Smaller AP leads to less surface damage when removing the
supports in the post-process of printing. We have used the MIP-SLA to print the original model and the model with optimal direction circled by the dashed lines—see the
left column of the fabricated models. Note that, in each orientation, optimization is also taken to further deform the model into an optimal shape. This is different from what
can be obtained by searching with rigid transformations.
volumetric mesh may have more risky faces before computation. a factorization of the normal equation system that can be reused
We prevent such cases by checking the number of risky faces after in the subsequent iterations. As a result, the optimization can be
each iteration, and always store the best result among the past conducted very efficiently. Experimental tests shown at the end of
steps of iteration. How to generate a volumetric mesh bounding the the paper have verified the effectiveness of this approach. The op-
input model more tightly has been beyond the scope of this paper. timized models can serve as useful references for designers when
We consider it to be a work which needs to be taken in the future. self-supportness is an important factor to be considered.
Because the computational domain of our optimization frame-
work is a coarse volumetric mesh, local/global self-intersection Acknowledgments
may be introduced into the volumetric mesh. A post-processing
step needs to be applied to remove self-intersections in such cases The research work reported in this paper was supported by
(e.g., [31]). the Hong Kong Innovative Technology Fund (ITS/247/11 and
In our current formulation, one interior vertex (i.e., v4 ) is chosen ITS/060/13). Ka-chun Chan built the machine for the mask-image-
as the origin of local rotation based on a heuristic consideration. projection based SLA, Yuen-shan Leung implemented the support
The effectiveness of selecting different origins of local rotation can generation algorithm, and the cage-generation program was
be released by using the mean-subtraction strategy in global blend- provided by Chuhua Xian. The authors would like to acknowledge
ing (Ref. [32]). However, in all of our tests, the current implemen- their contribution in this work.
tation converges well when we use one of the interior vertices as
the origin of local rotation. References
[1] Huang P, Wang CCL, Chen Y. Algorithms for layered manufacturing in image
6. Conclusion space. In: ASME advances in computers and information in engineering
research. 2014.
[2] Chen Y, Li K, Qian X. Direct geometry processing for tele-fabrication. ASME J
This paper presents a method for optimizing the shape of a de- Comput Inf Sci Eng 2013;13:041002.
signed model to be fabricated by layer-based AM. When only a sin- [3] Chilson L. Printing with support—extreme overhangs. 2012.
[4] Swift KG, Booker JD. Manufacturing process selection handbook. Elsevier Ltd.;
gle material can be used during the fabrication, two widely used 2013.
types of AM machines, FDM and SLA, both suffer from the problems [5] Pan Y, Zhou C, Chen Y. Rapid manufacturing in minutes: The development
of a mask projection stereolithography process for high-speed fabrication,
caused by the additionally inserted supporting structures. We de- In: Proceedings of ASME 2012 international manufacturing science and
velop an optimization approach based on a local minimal rotation engineering conference. 2012. p. 405–14.
and a global blending. A closed-form formulation is derived in the [6] Bendsoe MP, Sigmund O. Topology optimization: Theory, methods and
applications. Springer; 2003.
local step to determine the minimal rotations in different config- [7] Haslinger J, Mäkinen RAE. Introduction to shape optimization: Theory,
urations. The computation of global blending can be offloaded to approximation, and computation. SIAM; 2003.
10 K. Hu et al. / Computer-Aided Design 65 (2015) 1–10
[8] Prévost R, Whiting E, Lefebvre S, Sorkine-Hornung O. Make it stand: Balancing [20] Botsch M, Kobbelt L, Pauly M, Alliez P, Levy B. Polygon mesh processing.
shapes for 3d fabrication. ACM Trans Graph 2013;32(4):81:1–10. AK Peters; 2010.
[9] Bacher M, Whiting E, Bickel B, Sorkine-Hornung O. Spin-it: Optimizing [21] Igarashi T, Moscovich T, Hughes JF. As-rigid-as-possible shape manipulation.
moment of inertia for spinnable objects, ACM Trans Graph 33 (4). ACM Trans Graph 2005;24(3):1134–41.
[10] Telea A, Jalba A. Voxel-based assessment of printability of 3d shapes. [22] Sorkine O, Alexa M. As-rigid-as-possible surface modeling, In: Proceedings
In: Proceedings of the 10th international conference on mathematical of the fifth eurographics symposium on geometry processing (SGP’07). 2007.
morphology and its applications to image and signal processing. Springer- p. 109–116.
Verlag; 2011. p. 393–404. [23] Liu L, Zhang L, Xu Y, Gotsman C, Gortler SJ. A local/global approach to mesh
[11] Stava O, Vanek J, Benes B, Carr N, Měch R. Stress relief: Improving structural parameterization. Compu Graph Forum 2008;27(5):1495–504.
strength of 3d printable objects. ACM Trans Graph 2012;31(4):48:1–11. [24] Kwok T-H, Wang C. Shape optimization for human-centric products with
[12] Wang W, Wang TY, Yang Z, Liu L, Tong X, Tong W, Deng J, Chen F, Liu X. Cost- standardized component. Comput-Aided Design 2014;52:51–63.
effective printing of 3d objects with skin-frame structures. ACM Trans Graph [25] Xian C, Lin H, Gao S. Automatic cage generation by improved obbs for mesh
2013;32(6):177:1–10. deformation. Vis Comput 2012;28(1):21–33.
[13] Zhou Q, Panetta J, Zorin D. Worst-case structural analysis. ACM Trans Graph [26] Markosian L, Cohen JM, Crulli T, Hughes J. Skin: A constructive approach to
2013;32(4):137:1–12. modeling free-form shapes, In: Proceedings of the 26th annual conference
[14] Umetani N, Schmidt R. Cross-sectional structural analysis for 3d printing on computer graphics and interactive techniques, SIGGRAPH ’99. 1999.
optimization. In: SIGGRAPH Asia 2013 technical briefs. 2013. p. 5:1–4. p. 393–400.
[15] Lu L, Sharf A, Zhao H, Wei Y, Fan Q, Chen X, Savoye Y, Tu C, Cohen-Or D, Chen B. [27] Si H. Tetgen 1.5.0, http://www.tetgen.org. 2013.
Build-to-last: Strength to weight 3d printed objects, ACM Trans Graph 33 (4). [28] Taylor CJ, Taylor CJ, Kriegman DJ, Kriegman DJ. Minimization on the Lie group
[16] Chen Y. Determining parting direction based on minimum bounding box and so(3) and related manifolds, Tech. rep. Yale University; 1994.
fuzzy logics. Int J Mach Tools Manuf 1997;37(9):1189–99. [29] Guennebaud G, Jacob. et al. B. Eigen 3.2, http://eigen.tuxfamily.org. 2013.
[17] Priyadarshi AK, Gupta SK. Finding mold-piece regions using computer graphics [30] Vouga E, Höbinger M, Wallner J, Pottmann H. Design of self-supporting
hardware. In: Geometric modeling and processing. Lecture notes in computer surfaces. ACM Trans Graph 2012;31(4):87:1–11.
science, vol. 2006. 2006. p. 655–62. [31] Wang CCL, Manocha D. Efficient boundary extraction of BSP solids based on
[18] Khardekar R, Burton G, McMains S. Finding feasible mold parting directions clipping operations. IEEE Trans Vis Comput 2013;19(1):16–29.
using graphics hardware. Comput-Aided Des 2006;38(4):327–41. [32] Bouaziz S, Deuss M, Schwartzburg Y, Weise T, Pauly M. Shape-up: Shaping
[19] Li W, Martin R, Langbein F. Molds for meshes: Computing smooth parting lines discrete geometry with projections. Comput Graph Forum 2012;31(5):
and undercut removal. IEEE Trans Autom Sci Eng 2009;6(3):423–32. 1657–67.