a topological hierarchy-based approach to toolpath planning for multi-material layered manufacturing
TRANSCRIPT
A topological hierarchy-based approach to toolpath planning
for multi-material layered manufacturing
S.H. Choi *, H.H. Cheung
Department of Industrial and Manufacturing Systems Engineering, The University of Hong Kong, Pokfulam Road, Hong Kong
Received 6 January 2005; accepted 29 August 2005
Abstract
This paper proposes a topological hierarchy-based approach to toolpath planning for multi-material layered manufacturing (MMLM) of
heterogeneous prototypes. The approach facilitates control of MMLM and increases the fabrication efficiency of complex objects by generating
multi-toolpaths that avoid redundant tool movements and potential collisions. It uses a topological hierarchy-sorting algorithm to group complex
multi-material slice contours into families connected by a parent-and-child relationship. Subsequently, a sequential toolpath planning algorithm
generates multi-toolpaths for sequential deposition of materials without redundant tool movements. To reduce build time further, a concurrent
toolpath planning algorithm generates collision-free multi-toolpaths to control the tools that deposit materials concurrently. It uses parametric
polygons to construct tool envelopes for contour families of the same material property to simplify detection of tool collisions. The tightness of
polygons can be controlled to suit the processing speed and the optimality of the resulting concurrent toolpaths. The proposed approach has been
implemented as an integral part of a multi-material virtual prototyping (MMVP) system that can process complex slice contours for planning,
stereoscopic simulation, and validation of multi-toolpaths. It may be adapted for subsequent control of MMLM processes.
q 2005 Elsevier Ltd. All rights reserved.
Keywords: Multi-material layered manufacturing; Topological hierarchy; Sequential and concurrent toolpath planning; Virtual prototyping
1. Introduction
Multi-material prototypes may be made of materials that
change gradually from one type to another, or of a collection of
heterogeneous materials. In comparison with single-material
prototypes, multi-material prototypes can differentiate clearly
one part from others, or tissues from blood vessels of a human
organ; and they perform better in rigorous environments [1]. As
high value-added products now often involve complex designs
while surgical operations become more complicated, multi-
material prototypes are especially useful for advanced product
development and biomedical applications. It is therefore
desirable and timely to develop the multi-material layered
manufacturing (MMLM) technology for fabrication of multi-
material prototypes [2].
In general, an MMLM machine may consist of two main
sub-systems, namely (i) a hardware material-depositing
mechanism, and (ii) a computer software system for processing
0010-4485//$ - see front matter q 2005 Elsevier Ltd. All rights reserved.
doi:10.1016/j.cad.2005.08.005
* Corresponding author. Tel.: C852 2859 7054; fax: C852 2858 6535.
E-mail address: [email protected] (S.H. Choi).
complex slice contours to plan multi-toolpaths for effective
control of the material-depositing mechanism.
Some researchers have developed experimental MMLM
machines for relatively simple objects. [3] developed a discrete
multiple material selective laser sintering (M2SLS) machine
for fabrication of prototypes with discrete multiple materials.
[2] proposed a multi-component powder-dispensing device for
selective laser sintering (SLS) to make parts of 3D functional
gradients. [4] extended the fused deposition modelling (FDM)
hardware mechanism to form a fused deposition of multiple
ceramics (FDMC) machine that could deposit up to four
different materials in a layer of a multi-material ceramic part.
However, further development of the control software system
would be required to deposit more materials. [5] reported a 3D
printing (3DP) machine developed in the Massachusetts
Institute of Technology (MIT) that contained a multiple nozzle
print-head mechanism for fabrication of objects with local
composition control (LCC), such as drug delivery devices and
gradient index lenses. For biomedical products, a Multi-nozzle
Deposition Manufacturing (MDM) system was proposed for
direct fabrication of tissue-engineering scaffold with gradient
3D structure [6]. Some companies have also attempted to
produce commercial MMLM machines. Examples include
FDMM and MP [7] for electroceramic components, and
Computer-Aided Design 38 (2006) 143–156
www.elsevier.com/locate/cad
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156144
DMDe [8] and LENSe [9] for tooling parts and mould
cavities. These systems are among the pioneering work.
Though they were more suitable for relatively simple parts of
a limited variety of materials, they can be adapted for further
development of the hardware material-depositing mechanism.
However, the main software issue remains to be tackled.
Indeed, a toolpath planning algorithm for effective and efficient
control of MMLM, particularly for complex objects, has yet to
be developed.
Toolpath planning for layered manufacturing is mainly
concerned with (i) contour filling strategy, and (ii) tool
sequencing strategy. Two common approaches to contour
filling strategy are the zigzag toolpaths parallel to a specific
direction, and the spiral toolpaths by inward offsetting of
contours. Indeed, contour-filling strategy has been well studied
[10,11,12]. However, few researchers have attempted to
develop tool-sequencing strategy. An obstacle is how to sort
and group complex slice contours into an appropriate sequence.
[13] introduced a maximum linear intersection algorithm to
link a set of contours for minimising non-cutting laser motion
of the laminated object modelling (LOM) system. This
approach enhanced the efficiency of single-material LOM.
However, it might not be suitable for toolpath planning for
layered manufacturing of multi-material prototypes.
In comparison, toolpath planning for MMLM is much more
complicated, in that it is necessary to process material
information for sequencing an array of tools to deposit specific
materials on the appropriate contours. Without efficient multi-
toolpaths, redundant back-and-forth movements and potential
collisions of tools may occur.
Toolpath planning for MMLM is normally based on 2D
slice contours, which are generally very complex and random.
For each tool to deposit a specific material on the related
contours, it is necessary to identify and relate specific contours
of a slice to a particular tool, such that the area is properly
deposited with the desired material, and at the same time to
detect and avoid possible collisions of tools, which move
otherwise independently to increase efficiency. This is a
complicated task because high value-added products and
biomedical models, such a necklace and a human skull in
Fig. 1, tend to be complex and their slice contours are random
in nature with no explicit topological hierarchy relationship.
1.1. Topological hierarchy of slice contours
As shown in Fig. 2(a), a slice of an object may contain
groups of contours, each of which may have multiple external
(solid) and internal (void or cavity) contours. Medical imaging,
in particular, often involves complex human structures
surrounded by tissues and blood vessels, or test specimens
with lots of internal cavities.
Due to the complexity and a lack of topological hierarchy
information, the slice contours to be made of a particular
material cannot be easily identified and linked up accordingly.
Consequently, it is extremely difficult to generate multi-
toolpaths to control an array of nozzles or tools for efficient
fabrication of such layers, because it is necessary to identify
and relate contours to a particular nozzle one-by-one. This is
particularly tedious if potential tool collisions are to be
detected and avoided when the tools deposit materials
concurrently to reduce build time.
The relationship of any two contours of a slice can be either
(1) external-and-external, or (2) external-and-internal, or (3)
internal-and-internal. On the one hand, it can be seen in
Fig. 2(a) that contours C1 and C7 illustrate an external-and-
external case as they are independent of each other, while
contours C1 and C5 give an external-and-internal case with C5
being an internal contour of C1. On the other hand, internal-
and-internal contours should be isolated by at least one external
contour in the slice.
In Fig. 2(b), C1 and C7 are the two outermost contours of the
slice. These two contours are at Level 0, meaning that they
have no parent and are therefore not contained in any contours.
Similarly, a Level 1 contour, such as C4, C5, C2, and C3, has
one and only one parent, although a parent may have multiple
children. Further, C6 is a Level 2 contour for it is contained in
both C3 and C7. Hence, according to the parent-and-child
relationship that defines the contour containment, the slice
contours can be grouped into two contour entities, namely
Isolating the contours of one generation of parent-and-child
relationship, the contour entities can be regarded as containing
three contour families, namely
It can be seen that a contour family may contain (1) one or
more than one pair of external-internal contours, and/or (2) one
or more than one external contour. A contour family is indeed a
solid area of a specific material property; and contour families
of the same material property can be linked together and
treated as a single solid area.
Based on such topological hierarchy, groups of related
external and internal contours can be linked to form contour
entities or families, as shown in Fig. 2(c), to simplify the
complexity of the slice contours. Subsequently, toolpath
planning for MMLM becomes straightforward because it is
no longer necessary to identify and relate individual contours
one-by-one to a particular tool. It can be concluded that
topological hierarchy of slice contours is of vital importance to
toolpath planning for MMLM. For this purpose, the author has
developed a topological hierarchy-sorting algorithm [14],
based on which an intelligent approach to toolpath planning
for MMLM of heterogeneous multi-material objects is
proposed. It includes a sequential toolpath planning algorithm
that generates multi-toolpaths for sequential deposition of
materials without redundant tool movements, and a concurrent
toolpath planning algorithm to generate collision-free
Fig. 1. (a) A slice of a necklace; (b) a slice of a human skull.
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156 145
multi-toolpaths for control of tools that deposit materials
concurrently. The following sections first describe the
topological hierarchy-sorting algorithm briefly to help under-
stand the concept, and then discuss the proposed approach to
toolpath planning for MMLM in detail.
2. The topological hierarchy-sorting algorithm
Hierarchy sorting is based on containment tests of contours,
with which a parent-and-child list is established to define the
hierarchy relationship of slice contours. The traditional
Fig. 2. (a) A slice of a machine part with external and internal contours; (b) topological hierarchy based on parent-and-child relationship; (c) slice contours may
be treated as two contours external entities containing three families.
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156146
ray-shooting technique is used to test whether one contour is
contained in another. For a pair of contours, Cx and Cy, an
arbitrary point in Cx is tested with Cy. If Cy contains this point,
then Cy must contain Cx, and hence Cy is on the parent list of Cx.
Otherwise, the process is reversed and an arbitrary point in Cy is
tested with Cx. Similarly, if Cx contains this point, then Cx must
contain Cy, and hence Cx is on the parent list of Cy. These two
cases are mutually exclusive since valid contours do not intersect.
If both cases return false, they are ignored and the process
proceeds to the next pair of contours. Subsequently, all contours
of each layer are tested to build their own parent lists. Moreover,
each contour is assigned a level number, which indicates its
number of parents. Thus, slice contours may be grouped based on
the level numbers to avoid time-consuming sequential searching.
The level numbers and the parent lists obtained may now be
used to generate the topological hierarchy sequence. Firstly, all
contours are grouped according to their level numbers. Each
group contains all the contours of the current layer with the
respective level number. For instance, a Level 0 contour is a
member of Group 0, and Group 0 contains all Level 0 contours
of the layer. The maximum group number and the number of
members of each group determine how complex the slice
contours are. The algorithm starts from a Level 0 contour from
Group 0, and puts it to the hierarchy sequence. It then searches
for Level 1 contours among Group 1 for child contours. If a
child is found, it is attached to the hierarchy sequence and the
level number is increased by 1, and
(1) if there exists any contour in the new level, the algorithm
continues to search for children in the new level;
(2) if there are not contours in the new level or if no child is
found in (1), the algorithm goes back to the previous level
Fig. 3. Topological hierarchy relationship of the necklace slice contours.
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156 147
by decreasing the level number by 1 and repeats the
process till the end of the contour list.
Otherwise, the algorithm is repeated with another Level 0
contour until the end of Group 0 is reached.
At this instant, the algorithm has arranged the multiple-level
contours in an appropriate sequence. However, for the contours
at the same level, they are still random in nature. Hence, the
contours with the same level number are further sorted using
their bounding boxes. They are arranged according to the
minimum and maximum x and y values of their bounding
boxes. Subsequently, the contours at the same level belonging
to the same parent are re-ordered from the outermost inwards
accordingly.
After the process above, all slice contours are sorted into an
appropriate hierarchy sequence suitable for toolpath planning.
Fig. 3 shows the topological hierarchy relationship of the slice
contours of a necklace layer sorted by the algorithm.
To facilitate both recording and retrieval of the hierarchy
information along with the slice contours, the Modified-
Common Layer Interface format (MLI) [14] is adopted. It is an
ASCII file type based on the common layer interface (CLI)
[15], which is a simple universal file format for exchange of
geometry data for the LM technology. The MLI file format is
the addition of a HIERARCHY data line per layer, similar to
the POLYLINE structure in the standard CLI format. The
syntax of HIERARCHY data line is as follows:
Command: start hierarchy
Syntax: $$HIERARCHY/id,n,Cmax,[C1x,C1L],[C2x,C2L],
.,[Cnx,CnL]
All Parameters are INTEGER
id: identifier to allow more than one model information in
one file. It refers to the parameter id of command $$LABEL
(HEADER-section)
n: total number of contours of the layer
Cmax: maximum number of levels
C1x.CnL: sequence of the contours with reference to the
CLI sequence and the corresponding level number
With MLI, contour hierarchy can be stored along with the
contour data, so that for the contours of each layer there is a
corresponding hierarchy information list.
3. Topological hierarchy-based toolpath planning
for MMLM
Based on the established topological hierarchy relationship,
the proposed toolpath planning algorithm can generate both
sequential and concurrent multi-toolpaths for MMLM. It first
arranges slice contours in an appropriate sequence, and then
generates multi-toolpaths that can avoid redundant movements
and potential collisions of tools.
Given the topological hierarchy and material information,
the slice contours with the same material property are sorted
and grouped into contour families that serve as basic units for
planning multi-toolpaths. To safeguard collision-free concur-
rent toolpaths, a parametric polygonal approach is adopted to
approximate the envelopes within which specific tools can
work safely. The accuracy or tightness of the polygons can be
controlled with a parameter to suit the requirements of
processing speed and optimality of the resulting concurrent
toolpaths. In the following sections, a layer of a gearbox is used
as an example to elaborate the proposed algorithm.
Fig. 4. A layer of a multi-material gearbox assembly.
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156148
Fig. 4 shows a gearbox, together with a layer to be made of
four kinds of materials represented in blue, purple, brown, and
green. Multi-toolpaths generated from the raw, random
contours may result in redundant tool movements. To shorten
build time, four nozzles, N1, N2, N3, and N4, should be
appropriately controlled to deposit blue, purple, brown, and
green materials, respectively, on the related contours without
redundant movements and collisions.
For this purpose, the topological hierarchy relationship of
the contours, as shown in Fig. 5, is established to construct the
connectivity of the external contours and the internal cavities.
Based on this, the contours are grouped into six entities,
namely C3, C8, C4, C5/C7/C1, C6, and C2. Furthermore,
according to the relationship of external contours and internal
contours, the contour entities are sorted into seven contour
families, namely, C3 (Family 1), C8 (Family 2), C4 (Family 3),
C5/C7 (Family 4), C1 (Family 5), C6 (Family 6), and C2
(Family 7). Such grouping significantly simplifies toolpath
Fig. 5. Topological hierarchy relations
planning for MMLM, for it will not be necessary to identify
and relate the contours one-by-one to a particular nozzle.
Instead, only grouping of the outermost contours is required.
Hence, the query time for collision detection is reduced
substantially.
3.1. Sequential toolpath planning based
on topological hierarchy
Based on the topological hierarchy relationship above, the
seven contour families can be conveniently processed to
generate hatch vectors that define the toolpaths. Thus, seven
toolpaths (PC3, PC8, PC4, PC5,7, PC1, PC6, and PC2) for the tools
to deposit the respective materials are generated. In order to
avoid redundant tool movements, the seven toolpaths should be
further arranged based on the specific geometric and material
information of each contour. As shown in Fig. 6, PC3, PC4, and
PC2 are grouped into a toolpath-set {S1(PC3/PC4/PC2)},
hip of the gearbox slice contours.
Fig. 6. Generation of toolpath-sets for the gearbox slice contours.
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156 149
which is associated with nozzle N1 because contour families 1,
3, and 7 are of blue material. In the same way, PC8, PC5,7 and
PC6, and PC1 are grouped into {S2(PC8)}, {S3(PC5,7/PC6)},
and {S4(PC1)}, which are associated with N2, N3, and N4,
respectively. After associating the toolpath-sets with the
related nozzles, the toolpath-sets are arranged in a sequence
of S1/S2/S3/S4 according to the hierarchy levels of the
contours. As a result, practical sequential multi-toolpaths can
be conveniently generated, and the movement sequence of the
nozzles is given as:
N1fS1ðPC3/PC4/PC2Þg0N2fS2ðPC8Þg
0N3fS3ðPC5;7/PC6Þg0N4fS4ðPC1Þg:
3.2. Concurrent toolpath planning based
on topological hierarchy
The fabrication efficiency of relatively large and complex
products can be further enhanced if the tools deposit materials
concurrently. However, planning of concurrent multi-toolpaths
requires detection of tool collisions, which may occur when the
tools move simultaneously. For efficient detection and
avoidance of tool collisions, the proposed algorithm mainly
consists of the following steps:
(i) a parametric polygonal approach is adopted to
approximate the envelopes in which specific tools can
fabricate contour families of the same material proper-
ties;
(ii) overlap tests are performed among all pairs of such
envelopes in each layer;
(iii) based on the result of the overlap tests, collision-free
concurrent toolpaths are efficiently planned.
With the parametric polygonal approach, a polygon is
constructed around each contour family by selecting and
linking a limited number of dominant points along the exterior
of the contour family. The polygon is then offset outward a
distance of the tool-holder radius; and polygons of the same
material property are linked to form an envelope for the tool. A
tool envelope is an area in which only the related tool or nozzle
is allowed.
The number of dominant points defining a tool envelope
polygon is proportional to the value of t, in the range of 0–1.
The accuracy or tightness of the polygon can be controlled by
choosing the value of t to suit the requirements of the
processing speed and the optimality of the resulting concurrent
toolpaths. On the one extreme when tZ0, the polygon is
reduced to only four points, forming an axis-aligned bounding
box which is the simplest possible for detection of tool
collisions but is less optimal for the resulting toolpaths. On the
other extreme for tZ1, the polygon is an exact offset of the
exterior of a contour family, resulting in relatively slow
collision detections but good optimality of the toolpaths. In
general, a value of tZ0.3 is a good compromise.
Having constructed all tool envelopes, potential tool
collisions may now be detected by overlap tests, which are
achieved by calculating the minimum separation distance
between all pairs of envelopes. If the minimum separation
distance between two envelopes is larger than zero, the two
tools can move concurrently in their respective envelopes
without collisions. Hence, the number of overlap queries is
given by O((1/2)n(nK1)), where n is the number of toolpath-
sets in a layer. In comparison, the number of queries without
topological hierarchy relationship is O((1/2)m(mK1)), where
m is the total number of individual contours of a layer. Since, n
is generally much smaller than m, the proposed algorithm
simplifies collision detection considerably.
For simplicity of explanation, axis-aligned bounding box
approximation of tool envelopes by setting tZ0 is used below
to illustrate the proposed algorithm for concurrent toolpath
planning. The effect of polygonal tool envelopes with tO0 is
demonstrated in the case study in Section 4.
Referring to the example above, four axis-aligned
bounding boxes (B1, B2, B3, and B4) for the toolpath-
sets, and four tool envelopes E1, E2, E3, and E4 for four
nozzles (N1, N2, N3, and N4), are constructed, respectively,
as shown Fig. 7. It can be seen that nozzles N1, N2, and
N3 can move concurrently without collision in envelopes
E1, E2, and E3, respectively, for E1, E2, and E3 do not
overlap. On the other hand, nozzles N3 and N4 cannot
move concurrently since E3 encloses E4, because contours
C5, C7, and C1 belong to the same contour entity, as
shown in Fig. 5. For such cases, however, it is not
necessary to test overlapping of E3 and E4, since their
containment relationship, C5/C7/C1, has already been
established in the topological hierarchy. Hence, the number
of overlap queries, O((1/2)n(nK1)), can be further
reduced.
Table 1
Result of overlap tests for tool envelopes in Fig. 7(b)
Column envelope, Ej
E2 E3 E4
Row envel-
ope, Ei
E1 Non-overlap Non-overlap Non-overlap
E2 Non-overlap Non-overlap
E3 Overlap
Result of overlap test, OT(Ei, Ej)
Fig. 7. (a) Four bounding boxes for the contours in Fig. 4; (b) tool envelopes of nozzles.
Table 2
Sequence of concurrent nozzle movements
Tool movement for envelopes, Ei (Nozzle, Ni)
E1 (N1) E2 (N2) E3 (N3) E4 (N4)
Sequence Yes Yes Yes No
No No No Yes
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156150
Table 1 shows the result of overlap tests, OT(Ei, Ej), for the
pairwise combinations of the four envelopes in Fig. 7(b). The
value of OT(Ei, Ej) indicates whether or not concurrent
movements can be planned for nozzles Ni and Nj to deposit
materials in the contours bounded by envelopes Ei and Ej,
respectively. If OT(Ei, Ej)Znon-overlap, the envelope pair (Ei,
Ej) do not overlap and concurrent movements can be planned
for nozzles Ni and Nj; otherwise the envelope pair overlap and
concurrent tool movements cannot be planned. Based on the
result of envelope overlap tests, the proposed algorithm plans
concurrent toolpaths as follows:
Define:
nZtotal number of envelopes of a layer;
iZenvelope number in a row;
jZenvelope number in a column.
Steps:
1. set the status of all envelopes to ‘NOT DONE’;
2. set the values of i and j to 1 and 2, respectively;
3. for envelope Ei in a row, if its status is ‘DONE’, go to step 8;
4. check the OT(Ei, Ej) values in the column corresponding to
envelope Ej. If ALL these values are non-overlap, then
check:
(a) the status of envelopes Ei. If it is ‘NOT DONE’, set it to
‘READY’;
(b) the status of envelopes Ej. If it is ‘NOT DONE’, set it to
‘READY’;
5. increase the value of j by 1. If j%n, repeat from Step 4;
6. if NO envelope has been set to ‘READY’ status in the above
steps and the status of envelope Ei equals ‘NOT DONE’, set
it to ‘READY’;
7. generate concurrent toolpath-sets of all nozzles for the
contours in the corresponding envelopes with ‘READY’
status; set the status of these envelopes to ‘DONE’;
8. delete row i; increase the value of i by 1 and set the value of j
to iC1. If i%nK1, repeat from Step 3;
9. if there exists an envelope with ‘NOT DONE’, then set the
envelope to ‘READY’, generate toolpath-sets for the related
nozzle, and set it to ‘DONE’;
10. repeat from Step 1 for the next layer until all layers are
completed.
Fig. 8. Concurrent movements of nozzles for depositing materials on the related contours.
Fig. 9. A toy excavator.
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156 151
The result of overlap tests for the four envelopes in
Table 1 is used to demonstrate the above algorithm. In this
case, the total number of envelopes in a layer is nZ4. The
following steps illustrate how the proposed algorithm
generates concurrent toolpaths for the slice contours in
Fig. 4:
1. the status of all the envelopes are set to ‘NOT
DONE’;
2. the envelope number in a row, i, and in a column, j,
are set to 1 and 2, respectively;
3. for envelope Ei for iZ1; i.e. the envelope in the first
row for the first iteration;
4. the OT( ) values in the column corresponding to
envelope E2 are checked. For example, the OT(E1, E2)
value in the column corresponding to envelope E2 is
non-overlap, and then check the status of envelope E1
and E2. Since, they are ‘NOT DONE’, their status is
set to ‘READY’;
5. the value of j is increased by 1. Repeat Step 4 until
the value of j is equal to 4;
6. the envelopes E1, E2, and E3 have been set to
‘READY’ status in the above steps;
7. thus, concurrent toolpath-sets for nozzles N1, N2, and
N3 are generated for concurrent deposition of the
desired materials on the contours in the corresponding
envelopes E1, E2, and E3, with ‘READY’ status,
respectively. These envelopes are set to ‘DONE’
status;
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156152
8. the value of i is increased to 2 and the value of j is
set to 3. As i!3, repeat from Step 3;
9. after processing all the rows, all the envelopes have
been set to ‘DONE’ status except E4. Envelope E4
remains ‘NOT DONE’, and it is therefore set to
‘READY’. Hence, concurrent toolpath-set of nozzle
N4 is generated, and then the status of envelope E4 is
set to ‘DONE’;
10. the algorithm repeats all the above steps for the next
layer until all layers are completed.
Fig. 10. (a) A layer of a multi-material toy excavator; (b) topological hierarchy relati
toy excavator slice contours.
The resulting sequence of concurrent nozzle movements is
given in Table 2. The status ‘YES’ represents that a nozzle
can deposit a material, while ‘NO’ otherwise. It can be seen
that the nozzle movements are sequenced into two steps. In
the first step, nozzles N1, N2, and N3 can move concurrently to
deposit the contours in envelopes E1, E2, and E3, respectively.
After this, nozzle N4 deposits contours in Envelope E4. The
details of the concurrent nozzle movements are as follows, while
Fig. 8 illustrates the resulting sequence of concurrent nozzle
movements.
onship of the toy excavator slice contours; (c) generation of toolpath-sets for the
Fig. 11. Tool envelopes of the nozzles constructed with parametric polygons.
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156 153
4. Case study
The proposed algorithm was implemented as an integral
part of an MMVP system for visualisation and optimisation
of MMLM processes [16]. The system was developed with
CCC and WorldToolKit Release 9. A toy excavator is used
to demonstrate its possible applications for product
development.
4.1. A toy excavator
Hong Kong is a major exporter of high-quality toys,
despite keen competition in global markets. In order to reduce
operation costs and to enhance competitiveness, most toy
manufacturers have set up production facilities on mainland
China, while shifting their roles in Hong Kong to marketing,
product design, quality control, and production management.
To shorten product development cycles of toys, they have
adopted CAD/CAM and LM for toy design and prototype
fabrication. Hence, the proposed MMVP system will be
particularly useful for the toy industry. Fig. 9 shows an
example of a toy excavator comprising a number of
components with different materials.
Table 3
Result of overlap test for tool envelopes with parametric polygons (tZ0.3)
Column envelope, Ej
E2 E3
Row Envelope, Ei E1 Non-overlap Non-overlap
E2 Overlap
E3
E4
E5
Result of overlap
test, OT (Ei, Ej)
Fig. 10(a) shows a layer of the toy excavator. It
contains 24 contours to be made of six kinds of materials,
namely from m1 to m6. Each of six nozzles, namely from
N1 to N6, is assigned to deposit a specific material from
m1 to m6, respectively. Fig. 10(b) shows the topological
hierarchy relationship of the contours in Fig. 10(a). Twelve
toolpaths (PC1, PC2,3, PC4,5,6,7,8,9, PC10, PC11, PC12, PC13,
PC14,15, PC16,17,18,19,20,21, PC22, PC23, and PC24) are
generated according to the contour families in Fig. 10(c).
The toolpaths are further grouped into six toolpath-sets,
namely from S1 to S6, according to the material
information. The toolpath-sets from S1 to S6 are associated
with the nozzles from N1 to N6, respectively.
To demonstrate the effect of tightness of parametric
polygonal tool envelopes on the optimality of concurrent
toolpaths, a value of 0.3 is set for the parameter t. In
Fig. 11, twelve polygons, namely from P1 to P12,
approximate the tool envelopes of the twelve contour
families. The polygons of the related contour families with
the same material property are linked to form six sets of
tool envelopes, namely E1(P1), E2 (P2 and P8), E3(P3 and
P9), E4(P4 and P10), E5(P5 and P6), and E6(P7, P11, and
P12) for the nozzles from N1 to N6, respectively. To detect
potential tool collisions, overlap of the envelopes is tested,
E4 E5 E6
Non-overlap Non-overlap Non-overlap
Overlap Overlap Non-overlap
Overlap Non-overlap Non-overlap
Non-overlap Non-overlap
Non-overlap
Table 4
Sequence of concurrent nozzle movements with parametric polygons for tool envelopes (tZ0.3)
Tool movement for envelopes, Ei (Nozzle, Ni)
E1 (N1) E2 (N2) E3 (N3) E4 (N4) E5 (N5) E6 (N6)
Sequence Yes Yes No No No Yes
No No Yes No Yes No
No No No Yes No No
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156154
as shown in Table 3. The sequence of concurrent nozzle
movements is given in Table 4.
Fig. 12 shows the details and simulation of the concurrent
nozzle movements for digital fabrication of the slice contours
in Fig. 10. It can be seen that the layer can be completed in
three steps.
To assess the effectiveness of this concurrent toolpath
sequence, it is compared with those obtained using axis-
aligned bounding boxes (for tZ0) and using the sequential
toolpath planning. For tZ0, there is one more overlap
of the bounding boxes corresponding to (P2 and P8) and
(P7, P11, and P12), resulting in four steps as shown in
Fig. 13.
Fig. 12. (a) Details of concurrent nozzle movements with parametric polygons for
For the sequential toolpath planning, six steps are required
and the tool sequence is
N1fS1ðPC1Þg0N2fS2ðPC2;3/PC14;15Þg0N3fS3ðPC4;5;6;7;8;9
/PC16;17;18;19;20;21Þg0N4fS4ðPC10/PC22Þg0N5fS5ðPC11
/PC12Þg0N6fS6ðPC13/PC23/PC24Þg:
On the other hand, it may not be advantageous to set
tO0.3 to increase the tightness of the tool envelope
polygons for this layer, because this will not reduce the
number of steps below three without excessively increasing
the processing time.
tool envelopes (tZ0.3); (b) digital fabrication of a layer of the toy excavator.
Fig. 13. Details of concurrent nozzle movements with axis-aligned bounding boxes for tool envelopes (tZ0).
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156 155
The digital fabrication process of different layers of the
multi-material virtual prototype is shown in Fig. 14. The
prototype can be superimposed on the excavator model with
which designers can study the excessive materials. Besides,
the system can calculate the average and maximum cusp
heights of the prototype to facilitate evaluation of the overall
Fig. 14. Digital fabrication process of a multi
accuracy of the prototype. Its average and maximum cusp
heights are 0.268 and 0.598 mm, respectively. The designers
can therefore repeat digital fabrication of the excavator
prototype until a satisfactory one is obtained. Hence, an
optimal combination of process parameters can be obtained
for subsequent fabrication of physical excavator prototypes of
-material prototype of the toy excavator.
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156156
satisfactory quality without incurring much cost and time.
Hence, the MMVP system is useful for shortening develop-
ment cycle of toys.
4.2. Limitation of the proposed algorithm
The case study above shows that the proposed algorithm
is simple and effective for planning toolpaths for practical
control of multi-material layered manufacturing processes.
Nevertheless, it should be pointed out that the resulting
concurrent toolpaths may not be perfectly optimal, because
the tools in overlapping envelopes are not allowed to move
simultaneously. Indeed, this rule may be relaxed in some
situations to improve the efficiency of concurrent multi--
toolpaths by allowing the tools to deposit specific contours
without collision in relatively large overlapping envelopes.
For this purpose, it requires further research effort to
enhance the algorithm such that overlapping envelopes can
be suitably sub-divided for detailed detection of possible
tool collisions.
5. Conclusion
This paper proposes a practical approach to toolpath
planning for multi-material layered manufacturing of
complex heterogeneous objects. It adopts a topological
hierarchy-sorting algorithm to construct a topological
hierarchy relationship that simplifies the complexity of
slice contours for subsequent generation of multi-toolpaths.
To balance the processing speed and the optimality of
concurrent toolpaths, parametric polygons with controllable
tightness are used to approximate tool envelopes for
related contour families. Such envelopes facilitate detec-
tion and avoidance of potential collisions of tools that
deposit materials concurrently. This approach is flexible
and effective for generation of multi-toolpaths without
redundant tool movements and collisions. It has been
implemented to form an integral part of a multi-material
virtual prototyping system for planning, stereoscopic
simulation, and validation of multi-toolpaths of multi-
material prototyping processes.
Acknowledgements
The authors would like to acknowledge the Research Grant
Council of the Hong Kong SAR Government and the CRCG
of the University of Hong Kong for their financial support for
this project.
References
[1] Samanta K, Koc B. Feature-based and material blending for free-form
heterogeneous object modelling. Comput Aided Des 2005;37(3):
287–305.
[2] Yang SF, Evans JRG. A multi-component powder dispensing system for
three dimensional functional gradients. Mater Sci Eng 2004;379(1–2):
351–9.
[3] Lappo K, Jackson B, Wood K, Bourell D, Beaman JJ. Discrete
multiple material selective laser sintering (M2SLS): experimental
study of part processing. In: Bourell DL, et al., editor. Solid
freeform fabrication symposium. Austin, TX: The University of
Texas; 2003. p. 109–19.
[4] Jafari MA, Han W, Mohammadi F, Safari A, Danforth SC,
Langrana N. A novel system for fused deposition of advanced
multiple ceramics. Rapid Prototyping J 2000;6(3):161–75.
[5] Cho WJ, Sachs EM, Patrikalakis NM, Troxel DE. A dithering algorithm
for local composition control with three-dimensional printing. Comput
Aided Des 2003;35(9):851–67.
[6] Yan YN, Xiong Z, Hu YY, Wang SG, Zhang RJ, Zhang C. Layered
manufacturing of tissue engineering scaffolds via multi-nozzle
deposition. Mater Lett 2003;57(18):2623–8.
[7] Bremnan RE, Turcu S, Hall A, Hagh NM, Safari A. Fabrication of
electroceramic components by layered manufacturing (LM). Ferro-
electrics 2003;293(1):3–17.
[8] DMDTM. http://www.pom.net/; 2004.
[9] LENSTM. http://mfgshop.sandia.gov/1400_ext/1400_ext_LENS.htm; 2004.
[10] Kao JH, Prinz FB. Optimal motion planning for deposition in layered
manufacturing. Proceedings of ASME design engineering technical
conferences, Atlanta, GA; 1998. p. 1–10.
[11] Yang Y, Fuh JYH, Loh HT. An efficient scanning pattern for layered
manufacturing processes. Proceedings of the IEEE international
conference on robotic and automation, Seoul, Korea; 2001. p. 1340–45.
[12] Liang JS, Lin AC. System development of adaptive spraying paths for
rapid prototyping. Rapid Prototyping J 2003;9(5):289–300.
[13] Tang K, Pang A. Optimal connection of loops in laminated object
manufacturing. Comput Aided Des 2003;35(11):1011–22.
[14] Choi SH, Kwok KT. A topological hierarchy-sorting algorithm for
layered manufacturing. Rapid Prototyping J 2004;10(2):98–113.
[15] CLI version 2.0. http://129.69.86.144/raptec/general/cli/cli_v20.html;
2004.
[16] Choi SH, Cheung HH. A multi-material virtual prototyping system.
Comput Aided Des 2005;37(1):123–36.
S.H. Choi is associate professor in the IMSE
Department at the University of Hong Kong. He
obtained both his B.Sc. and Ph.D degrees at the
University of Birmingham. He worked in
computer industry as CADCAM consultant
before joining the University of Hong Kong.
His current research interests include CADCAM,
advanced manufacturing systems and virtual
prototyping technology.
H.H. Cheung gained his B.Eng. degree from
the IMSE Department at the University of
Hong Kong. He continued his postgraduate
research study in the Department, and his
research interest is in virtual prototyping
technology.