Isomizer – Reconstruction of static 3D objects using 2D views
MAE_550fall2015- Group#1Final
1. Proceedings of ASME 2016 International Design Engineering Technical Conferences &
Computers and information in Engineering Conference
IDETC/CIE 2016
Aug 21-24, Charlotte, North Carolina, USA
DETC 2016-DRAFT
Optimal Path Planning for Functionally Graded Material Slice: 3-D
Printing
Arvind Ravi Satish kasilingam Sri Sadhan Jujjavarappu Jens Christian Hoeffer Larsen
University at Buffalo-SUNY University at Buffalo-SUNY University at Buffalo-SUNY University at Buffalo- SUNY
Buffalo, New York 14260 Buffalo, New York 14260 Buffalo, New York 14260 Buffalo, New York 14260
Email: aravi@buffalo.edu Email: skasilin@buffalo.edu Email: srisadha@buffalo.edu Email: jenschri@buffalo.edu
ABSTRACT
Additive manufacturing is the process by which the
3D design data is used to build up a component by
depositing materials layer by layer. One such process
of deposition under computer control is Layer
manufacturing or Solid Freeform Fabrication. The
increasing demand of SFF or layered manufacturing
has created an emphasis on efficient way to
fabricate the functionally graded material slice.
However, currently, many researchers have focused
on path planning of homogeneous objects thereby
creating a challenge in this field for functionally
graded material slice with varying material
composition. This paper deals with an approach of
splitting the FGM into sub regions and minimizing
the time taken for the tool to 3D print the
functionally graded material objects (FGM objects).
The properties of FGM changes gradually. Many
researchers have focused on path planning of
homogeneous objects, this project deals with
deciding on the number of contours in order to
minimize the time taken by the tool and reducing the
variation of the material composition of the 3D
printed material from the actual material.
Keywords: Functionally Graded material slice,
layered manufacturing or SFF, path planning.
Figure 1: An example of cementless artificial hip
joint with a homogeneous composition and 2D slice
of a functionally graded material slice[2][3].
1. INTRODUCTION
Functionally graded material are heterogeneous
materials which are engineered to be having a
continuously varying material spatial composition.
The functionally graded materials can solve practical
problems due to production and problems arising
from the application of a new type of composite
material. FGM are used in many applications such as
space-crafts and space shuttles and it consists of 2
2. types of graded structures, continuous and
stepwise. The functionally graded material slice can
be manufactured using layered manufacturing or
solid freeform fabrication. Solid freeform
fabrication is an additive manufacturing process
which has the ability to produce complex shapes.
Steps in SFF involves a CAD model to be generated
and converted into STL data which is further sliced
into 2-D cross-sectional profiles thereby building
layer by layer components. There is an increasing
demand of SFF in biomaterial related applications.
Extensive work has been carried out in optimizing
the tool path. Tool path planning requires
challenges in determining the optimum sequence in
which the tool must be traversed for a given set of
curves on a layer and time required to change the
material composition inside the nozzle. The tool
path depends on how the domain is split into sub-
regions of homogeneous composition in a discrete
stepwise manner. One such approach is the Equal-
distant approach which deals with discretizing the
domain into homogeneous regions based on equal
angular division within 360° dependent on material
gradient and machine resolution.
Figure 2: Equal-distant approach of discretizing the
domain[3].
The study represented in this paper mainly lays out
a primary foundation for representation of
functionally graded material slice in terms of
material information and discretization. Pixel based
discretization of the domain enables us to optimize
the time taken for the tool with respect to the
number of sub-regions or iso-contours and material
gradient information. The objective of the project is
to minimize the time taken as a function of number
of contours and minimize the variation of the
material composition of the 3D printed material
from the actual material.
2. Related Work
In this section we will review on some key areas
related to research (1) Fabrication of Functionally
graded Material Slice (2) Equal-Distant offset
Approach (3) Tool Path Planning (4) Adaptive
process planning
2.1.Fabrication of Functionally Graded
material Slice
Powder metallurgy is a prominently used method
for producing FGM materials. The materials are
weighed and mixed according to their compositions
and layer by layer the powder is deposited.
Functionally graded materials can have a continuous
microstructure or a discretized step wise
microstructure. Powder metallurgy results in a
discretized step wise micro structure whereas 3D
printing or Solid freeform fabrication will result in a
continuous or gradually varying microstructure.
Previous research papers have focused on dividing
the spatial region into several contours having
homogeneous composition. The functionally graded
material composition gradient can either be a linear
or higher order polynomial. Figure (3) shows the
quadratic distribution of material composition
gradient.
Figure 3: MATLAB generated quadratic distribution
of FGM
3. 2.2 Equal-Distant offset approach
“Equal distance offset approach to representing and
process planning for solid freeform fabrication of
functionally graded materials“, Anping Xu, Leon L. Shaw.
CAD models should contain material composition
information in a standardized format which can be
used for fabrication of FGM material. Methods
which are incapable of storing material information
are Constructive Solid Geometry (CSG), Boundary
Representation (B-Rep), Decomposition
Representation (D-Rep) or a combination of these
schemes. Pegna and Sali suggested a model that
used material composition as an element of a set of
data that contains Cartesian coordinates for each
point. Jackson et al used an approach of dividing the
3-dimensional region into sub-regions of
tetrahedrons. Many approaches have been
suggested, but the common problem was the
storage space required. Storing material data in the
form of functions based on distance from a
reference or a set of references reduces the
memory required. The equal distance offset
approach involves slicing the object based on Z
directional local slope. On each slice equally offset
sub regions are constructed by dividing the region
based on spatial resolution of the machine and
material gradient. This study is based on an
extrusion based freeform fabrication machine. The
quality of the part depends on the starting and
ending point of the contours and the offsets
between contours. Low memory is required if the
information is stored in the form of lines and iso-
contours. Since the material delivery is along the
contours, there is no staircase effect change of
material composition. There are varieties of
contours like growth, tooth like and fiber like. The
equal distance offset approach can be applied to
complex functionally gradient models with linear or
higher order gradients.
2.3 Tool Path planning
The contours obtained by equal distance offset
method act as boundaries to separate the sub
regions. Each sub region is then filled using a multi-
material composition specified at that location.
There are several tool path patterns such as zigzag,
contour, spiral and space filling to fill the material in
each sub region with different considerations of
build time, cost, warpage, surface quality and
strength.
Figure 4: Different tool path patterns (a) Zig-Zag
traverse of the nozzle (b) Contours forming sub-
regions of homogeneous composition (c) Space
filling (d) Spiral
Zigzag: This approach is easy to implement as it is
used to fill the region along X, Y or a specific
direction. The drawbacks of the zigzag approach are
(1) poor build quality when a complex shape is
considered as the nozzle has to be turned
frequently; (2) Warpage problem as the tool follows
the same direction to build the whole model.
Contour: The approach is easy to implement as the
tool head has to travel along the contour and offset
curves following the boundary of the model and can
address the geometric quality issue and the
warpage problem mentioned above as the tool-path
direction is changed constantly. It ensures good
geometrical quality but takes longer time to build
the model as compared to the time taken by zigzag
tool-path generation. It is difficult to handle
complex shapes as the computation becomes
complicated.
Recursive Hilbert’s curve: This approach is also
known as space filling approach. It is more suitable
for special geometric models and space filling at
regular boundaries. This approach can reduce the
4. shrinkage during fabrication process, but the build
time of this algorithm is more than that of the
conventional tool-path generation methods.
Spiral: This approach is only suitable for some
special geometric models.
2.4 Adaptive Process Planning
The various tool-path patterns in rapid prototyping
are zigzag, contour, spiral and some space filling
curves. STL files have gaps, holes and missing voids.
An envelope box is used to enclose the whole
model. Planes on the envelope box are used to
obtain the curves that represent the outer most
shapes of the objects. This project uses NURBS
representation for curves to split homogeneous
composition regions. The splines have
discontinuities that define up to which length the
adaptive speed time calculation is used. Two types
of paths are discussed in this paper. The contour
tool path is used to trace the regions where the
material change occurs and the zig-zag contours are
used to fill the iso-composition regions. The zig zag
paths are oriented in all directions and the length of
the tool path is optimized to be the minimum. The
adaptive speed algorithms and the uniform speed
algorithm are used and it has been found that the
adaptive speed algorithm results in 30 % decreased
tool path times. There are two types of errors to be
considered, one along the boundary of each layer
and the other between two layers in the
perpendicular directions. Optimization is based on
both types of the errors and the orientation of the
object that influences the zig zag path generation.
This approach also leads to higher accuracy[1].
3 Technical Approach
In the study carried out, we optimize the number of
contours considering the time taken to trace the
tool path generated by the material pixel based
approach and minimize the variation due to linear
or higher degree polynomial distribution of material
composition. Thereby the objective, a function of
number of contours, is to minimize the total time
taken and error as a function of number of contours
(n).
3.1 Pixel Based Approach
A Pixel based approach is used to represent the FGM
material slice. Considering the cross-section of a
functionally graded material, it has varying material
composition at different places. Each layer of the
material is considered as an image with the material
data at each point mapped to a color value at each
pixel. This image can be processed in MATLAB® and
the pixel data is fed into a material matrix. This
material matrix is used to divide the material into
sub regions having the same material composition.
Considering low strength of the 3D printed materials
with very high material resolution in the adjacent
sub regions, it is decided to split into sub regions
having a considerable variation in material
resolution and contours represent the boundaries
between the sub regions. Moving from a reference,
an average data value is assigned to the adjacent
points in the material matrix and then it is split into
sub regions. Doing this will introduce an error
(difference between the original composition and
the average value assigned at each point) in the
material matrix. Decreasing the time taken by the
tool head to print the material will result in the
increase of error so, both the time taken and the
error are to be decreased. Once the number of
contours are decided, zig zag tool pattern is used to
fill the material in each sub region.
Figure 5: Quadratic variation of material from the
center using pixel based approach
5. The figure (5) represents the variation of the
functionally graded material quadratically.
F(d) = αd2 (1)
A quadratic continuous distribution of material is
considered which varies with respect to distance
from a reference position having complete
dominance of one material.
Figure 6: Discrete material distribution using pixel
based approach
To start with, an assumption is made in selecting the
number of contours ‘n’. Then ‘n’ is updated to the
final value after the time and error are minimized.
The various parameters considered for calculating
the tool path time are Vmax (maximum velocity for
traversing the zig-zag pattern), Vmin (minimum
velocity to traverse the end point of zig-zag lines), β
is the acceleration or deceleration of tool path while
traversing through zig-zag line, L is the length of the
zig-zag line to be traversed.
3.1.1 Time Calculations for different
Cases- Pixel based Approach
There are three different cases for the nozzle to
move on a segment:
Case 1: The nozzle head’s or the tool speed reaches
the maximum velocity Vmax before the middle
segment.
𝑉𝑚𝑎𝑥
2
− 𝑉 𝑚𝑖𝑛
2
= 2𝛽𝐿 (2)
𝐿 =
𝑉 𝑚𝑎𝑥
2 −𝑉 𝑚𝑖𝑛
2
2𝛽
(3)
From Eqn (3) we infer that when L is greater than the
determined value then the tool speed reaches the
maximum velocity before the middle segment.
𝐿 >
𝑉 𝑚𝑎𝑥
2 −𝑉 𝑚𝑖𝑛
2
2𝛽
(4)
𝑉𝑚𝑎𝑥 = 𝑉 𝑚𝑖𝑛 + 2𝛽𝑡 (5)
𝑡1 =
𝑉 𝑚𝑎𝑥−𝑉 𝑚𝑖𝑛
2𝛽
(6)
𝑡2 =
𝐿
𝑉 𝑚𝑎𝑥
−
𝑉 𝑚𝑎𝑥
2 −𝑉 𝑚𝑖𝑛
2
2𝛽𝑉 𝑚𝑎𝑥
(7)
𝑡3 = 𝑡1
The overall time taken to traverse a zig-zag line is
summation of t1+t2+t3. The distance velocity graph is
shown below.
Figure 7: Distance- speed relationship for Case 1 to
calculate the time.
Case 2: The nozzle’s head or tool speed just reaches
the maximum velocity in the middle of the segment
of length L as stated In Eqn (3)
So the overall time taken is summation of t1 and t2.
The distance versus speed graph is sown below.
6. Figure 8: Distance-speed relationship for case 2 to
calculate the time.
Case 3: The Nozzle head’s or tool speed could not
reach maximum velocity Vmax.
The value of the time taken is shown In the Eqn (8)
below.
𝑡 =
−2𝑉 𝑚𝑖𝑛
𝛽
+ √
4𝑉 𝑚𝑖𝑛
2
𝛽2 +
4𝐿
𝛽
(8)
Figure 9: Distance-speed graph for case 3 to calculate
the time
Figure 10: MATLAB generated Approximation of Zig-Zag
time
To fill the sub region using zig zag pattern, first step
is to calculate the length. Length is the distance
calculated between the starting and the ending pixel
that should be traversed before there is a change in
the tool head direction. After length is calculated, it
has to be categorized depending upon the
maximum, minimum velocity and the acceleration
of the tool head. Each category has time calculation
and the resultant time is the summation of all the
times. After each sub region is filled, before moving
to the next sub region some time is taken to mix the
material in the printing head and this is added as a
penalty to the time taken at each sub region.
Figure 10: Time calculation algorithm using Pixel
based approach
7. 3.2 Variation in Material Composition
of 3D printed Material
All the pixels in a particular sub region are
considered and at each pixel the difference between
the original value of the material composition and
the average value assigned is calculated and is
assigned to error. Moving from one sub region to
other, the error is calculated and the total error is
the summation of all the errors at each sub region.
Time and error are of different dimensions, if
minimized they will result in different values of the
number of contours. This is taken care by
introduction of a weighted function where weights
are assigned to time and error and the summation
can be treated as a single function. Depending upon
user preference the values of the weights can be
decided, the summation of the weights is equal to
one.
Figure 11: MATLAB generated Error calculation- plot
for material density function
The function is minimized using the population
based optimization techniques because the
weighted function is not continuous as the number
of contours can only be integers.
The values of both the error and time are used to
calculate the number of contours from the objective
function.
3.3 Formulation of Multi-Objective
function and calculations
The study actually deals with minimizing the total
time taken to traverse and also minimize the
variation in composition of the 3D printed material.
The total time taken by tool is the summation of
time taken to travel the zigzag lines for n sub-regions
and time taken to change the material composition
inside nozzle for n sub-regions.
𝒇𝒕𝒊𝒎𝒆(𝒏) = ∑
(𝑻𝒊𝒎𝒆 𝒕𝒂𝒌𝒆𝒏 𝒕𝒐 𝒇𝒊𝒍𝒍 𝒂
𝒊𝒔𝒐𝒓𝒆𝒈𝒊𝒐𝒏
𝒘𝒊𝒕𝒉
𝒛𝒊𝒈 − 𝒛𝒂𝒈 𝒄𝒐𝒏𝒕𝒐𝒖𝒓𝒔)
+ 𝒏 ∗ (𝑬𝒓𝒓𝒐𝒓)𝒏
𝟏 (9)
Where,
Error= Change in 3D material composition
𝒇 𝒆𝒓𝒓𝒐𝒓 (𝒏) =
∑
(𝑫𝒊𝒇𝒇𝒆𝒓𝒆𝒏𝒄𝒆 𝒃𝒆𝒕𝒘𝒆𝒆𝒏 𝒐𝒓𝒊𝒈𝒊𝒏𝒂𝒍 𝒄𝒐𝒎𝒑𝒐𝒔𝒊𝒕𝒊𝒐𝒏
𝒂𝒏𝒅 𝒄𝒐𝒎𝒑𝒐𝒔𝒊𝒕𝒊𝒐𝒏 𝒂𝒇𝒕𝒆𝒓 𝒊𝒕 𝒉𝒂𝒔 𝒃𝒆𝒆𝒏 𝒔𝒑𝒍𝒊𝒕)
𝒏𝒐 𝒐𝒇 𝒑𝒊𝒙𝒆𝒍𝒔
𝟏
(10)
The goal of our study is to minimize both Eqn (9) &
(10). This can be done using some multi-objective
optimization techniques like multi-utility theory and
Pareto chart. The design variable is the number of
contours or sub-regions. There are two constraints
to the objective functions which are given below.
n > 1 (11)
Minimum width of the sub-region > filament
diameter (12)
The multi-objective functions can be represented
using weights. Different weights are added and a
Pareto is plotted for the user to choose between the
error and time to determine the number of
contours.
𝑀𝑖𝑛𝑖𝑚𝑖𝑧𝑒 𝐹(𝑛) = 𝑤 𝑇 ∙ 𝑓𝑡𝑖𝑚𝑒(𝑛) + 𝑤 𝐸 ∙ 𝑓𝑒𝑟𝑟𝑜𝑟(𝑛) (13)
Where,
𝑤 𝐸 =
𝑢 𝐸
max(𝑓𝑒𝑟𝑟𝑜𝑟(𝑛))
(14)
8. 𝑤 𝑇 =
𝑢 𝑇
max(𝑓 𝑡𝑖𝑚𝑒(𝑛))
(15)
𝑢 𝐸 = user specified
𝑢 𝑇 = 1 − 𝑢 𝐸
The Pareto front for the multi-objective function
stated in Eqn (13) is shown below.
Figure 12: Pareto front – Error versus Time
A circle is obtained by slicing a cylinder. A circular
geometry (Fig.5) is constructed and a second order
equation (Fig.6) is used to build a material matrix
taking the center of circle as reference and the
material composition varying along the radius of the
circle. Assuming the number of contours, total time
and error is calculated and using the user specified
value for the preference towards error, a weighted
function is deduced and is passed to Broyden–
Fletcher–Goldfarb–Shanno algorithm in MATLAB®.
The algorithm returns the minimum number of
contours into which the material has to be divided.
A Pareto front representing the minimum values
corresponding to each user preference is given in
figure (12).
The results from the Pareto front are used to
determine the optimal value of n by using different
non-gradient based optimization techniques. The
table (1) represents the optimal value of n by using
the BFGS method. The table (1) states some values
like elapsed time and number of iterations for the
user to compute.
Table 1: Optimized values using BFGS method
Solving using fminbnd() and BFGS
uE 0.5
Optimal n 8
Elapsed time 15.23 seconds
Iterations 11
Function evaluations 12
n lower 2
n upper 50
Any slice with two material compositions can be
represented as a grey scale image therefore, a
greyscale image of gradient (Figure-13) is imported
and the corresponding material matrix (Figure-13) is
constructed. Using Broyden–Fletcher–Goldfarb–
Shanno algorithm in MATLAB® the optimum value is
obtained and is displayed in table (2). A Pareto front
representing the minimum values corresponding to
each user preference is given below.
Figure 13: MATLAB Generated discretization of
materials from a gray scale image.
From the figure (13) we can see the discretized
image from a gray scale image. The Pareto front for
the discretized image is shown below.
9. Figure 14: Pareto front- Error versus time for
gradient image
A grey scale image of an arbitrary shape (Figure-15)
is imported into the code and the corresponding
material matrix (Figure-15) is generated. The
weighted function corresponding to the material
matrix is passed to the Broyden–Fletcher–Goldfarb–
Shanno algorithm in MATLAB® and the optimum
value is tabulated in the table (2).
Figure 15: MATLAB generated discretized image for
an arbitrary shape
From the figure (15) we can see the discretized
image from a gray scale image. The Pareto front for
the discretized image is shown in figure (16). The
weighted function corresponding to each shape is
optimized using Particle swarm optimization,
Broyden–Fletcher–Goldfarb–Shanno algorithm and
genetic algorithm and it is observed that all of them
return the same optimum values.
Figure 16: Pareto front- Error versus time for
arbitrary shape.
Table 2: Optimized values using BFGS method for
other shapes.
Solving using fminbnd() and BFGS
Parameters Gradient
Arbitrary
shape
uE 0.5 0.5
Optimal n 13 5
Elapsed time 4.13 seconds 5.89 seconds
Iterations 17 16
Function
evaluations
18 17
n lower 2 2
n upper 50 50
4 Conclusions and Future Work
Currently, the study of modelling FGM by 3D
printing involves optimization of the number of
contours or sub-regions depending on the user
preference. In this study the computation is
restricted to two materials, whereas the algorithm
will work for more than two materials by just
assigning different weights to different materials
and determine the optimized value of (n) from the
Pareto front. After determining time and error, we
use non-gradient based optimization techniques like
BFGS, Particle swam and genetic algorithm for
determining the number of contours or sub-regions.
Future research must be done to deal with complex
shapes and a true tool path planning algorithm
rather than approximate path planning should be
implemented.
10. REFERENCES
[1].Jin.G, (2012), “Adaptive process planning of
rapid prototyping and manufacturing for
complex biomedical models” Thesis.
Coventry: Coventry University.
[2].SH Choi and HH Cheung, (2011), “Digital
Fabrication of Multi-Material Objects for
Biomedical Applications” Biomedical
Engineering, Trends in Materials Science
[3].Anping Xua, Leon L. Shaw, (2005), “Equal
distance offset approach to representing
and process planning for solid freeform
fabrication of functionally graded materials”
Computer-Aided Design 37, 1308–1318
[4].Xiaoping Qian, Debasish Dutta “Features in
Layered Manufacturing of Heterogeneous
Objects” The University of Michigan
[5].G Udupa, S Shrikantha Rao, (2014),“
Functionally Graded composite Materials:
an overview” International conference on
Advances in Manufacturing and Materials
Engineering, Procedia Materials Science 5,
1291-1299
[6].J.Y. Hascoet, P. Muller and P. Mognol,
(2011) “Manufacturing Of Complex Parts
With Continuous Functionally Graded
Materials “Institut de Recherche en
Communications et Cybernetique de
Nantes, 557-569
[7].Ahasan Habib, Nazmul Ahsan and Bashir
Khoda, (2015), “Optimizing Material
Deposition direction for functional Internal
Architecture in Additive manufacturing
Processes” 43rd Proceedings of the North
American Manufacturing Research
Institution of SME, Procedia manufacturing,
1-15
[8].B. Kieback a, A. Neubrand , H. Riedel, (2003)
, “Processing techniques for functionally
graded materials” Materials Science and
Engineering A362 81–105
[9].S Danjou and P Köhler, (2009),
“Determination of optimal build direction
for different rapid prototyping
applications.” In Proceedings of the 14th
European Forum on Rapid Prototyping
[10]. SH Masood, W Rattanawong, and P
Lovenitti, (2000) “Part build orientations
based on volumetric error in fused
deposition modelling.” The International
Journal of Advanced Manufacturing
Technology.
[11]. Yu-an Jin, Yong He, Jian-zhong Fu, Wen-feng
Gan, and Zhi-wei Lin. (2014) “Optimization
of tool-path generation for material
extrusion-based additive manufacturing
technology.” Additive Manufacturing, 1:32–
47
[12]. S.H. Choi and H.H. Cheung. (2006) “A
topological hierarchy-based approach to
toolpath planning for multi-material layered
manufacturing.” Computer-Aided Design,
38(2).
[13]. Kenneth Castelino and Paul K. Wright.
(2004) “Tool-path optimization for
minimizing airtime during machining.”
Journal of Computing and Information
Science in Engineering.
[14]. Jean Hergel and Sylvain Lefebvre. (2014)
“Clean color: Improving multi-filament 3D
prints.” In Computer Graphics Forum,
volume 33, pages 469–478.
[15]. Anthony Pang, Ajay Joneja, (2002) “Tool
path optimization in layered
manufacturing” Article In IIE Transactions.
[16]. Chang, W.R. (1997) “CAD/CAM for the
selective laser sintering process.” MS
Thesis. University of Texas, Austin, USA.
[17]. Genesan, M. and Fadel, G. (1994)
“Hollowing rapid prototyping parts using
offsetting techniques.” Proceedings of the
5th International conference on Rapid
Prototyping. p. 241- 251.
[18]. Bertoldi, M., Yardimci, M.A., Pistor, C.M.
and Guceri, S.I. (1998) “Domain
decomposition and space filling curves in
toolpath planning and generation”.
Proceedings of the 1998 Solid Freeform
Fabrication Symposium. P. 267-274.
[19]. Luo, M., Zhang, D.H., Wu, B.H. and Zhang, Y.
(2010) “Optimisation of spiral tool path for
five-axis milling of freeform surface blade”.
International Journal of Machining and
Machinability of Materials, 8(3/4): 266-282.