Computer-Aided Design 38 (2006) 143–156 www.elsevier.com/locate/cad
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, multimaterial 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 multimaterial 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
* Corresponding author. Tel.: C852 2859 7054; fax: C852 2858 6535. E-mail address:
[email protected] (S.H. Choi).
0010-4485//$ - see front matter q 2005 Elsevier Ltd. All rights reserved. doi:10.1016/j.cad.2005.08.005
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
144
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156
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 multitoolpaths, 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 multitoolpaths 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-andexternal 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, internaland-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
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156
145
Fig. 1. (a) A slice of a necklace; (b) a slice of a human skull.
multi-toolpaths for control of tools that deposit materials concurrently. The following sections first describe the topological hierarchy-sorting algorithm briefly to help understand 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
146
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156
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.
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
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156
147
Fig. 3. Topological hierarchy relationship of the necklace slice contours.
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 ModifiedCommon 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 concurrent 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.
148
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156
Fig. 4. A layer of a multi-material gearbox assembly.
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
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)},
Fig. 5. Topological hierarchy relationship of the gearbox slice contours.
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156
149
Fig. 6. Generation of toolpath-sets for the gearbox slice contours.
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: N1 fS1 ðPC3 / PC4 / PC2 Þg0 N2 fS2 ðPC8 Þg 0 N3 fS3 ðPC5;7 / PC6 Þg0 N4 fS4 ð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 properties; (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 toolpathsets 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 toolpathsets, 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.
150
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156
Fig. 7. (a) Four bounding boxes for the contours in Fig. 4; (b) tool envelopes of nozzles.
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.
7.
8. 9.
10.
steps and the status of envelope Ei equals ‘NOT DONE’, set it to ‘READY’; 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’; 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; 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’; repeat from Step 1 for the next layer until all layers are completed.
Table 1 Result of overlap tests for tool envelopes in Fig. 7(b) Column envelope, Ej
Steps: 1. 2. 3. 4.
set the status of all envelopes to ‘NOT DONE’; set the values of i and j to 1 and 2, respectively; for envelope Ei in a row, if its status is ‘DONE’, go to step 8; 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
Row envelope, Ei
E1 E2 E3
E2
E3
E4
Non-overlap
Non-overlap Non-overlap
Non-overlap Non-overlap Overlap
Result of overlap test, OT(Ei, Ej)
Table 2 Sequence of concurrent nozzle movements Tool movement for envelopes, Ei (Nozzle, Ni) Sequence
E1 (N1)
E2 (N2)
E3 (N3)
E4 (N4)
Yes No
Yes No
Yes No
No Yes
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156
151
Fig. 8. Concurrent movements of nozzles for depositing materials on the related contours.
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;
Fig. 9. A toy excavator.
152
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156
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.
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.
Fig. 10. (a) A layer of a multi-material toy excavator; (b) topological hierarchy relationship of the toy excavator slice contours; (c) generation of toolpath-sets for the toy excavator slice contours.
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156
153
Fig. 11. Tool envelopes of the nozzles constructed with parametric polygons.
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.
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, P C14,15 , P C16,17,18,19,20,21 , P C22 , P C23 , and P C24 ) are generated according to the contour families in Fig. 10(c). The toolpaths are further grouped into six toolpath-sets, namely from S 1 to S 6 , 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,
Table 3 Result of overlap test for tool envelopes with parametric polygons (tZ0.3) Column envelope, Ej Row Envelope, Ei
E1 E2 E3 E4 E5
E2
E3
E4
E5
E6
Non-overlap
Non-overlap Overlap
Non-overlap Overlap Overlap
Non-overlap Overlap Non-overlap Non-overlap
Non-overlap Non-overlap Non-overlap Non-overlap Non-overlap
Result of overlap test, OT (Ei, Ej)
154
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156
Table 4 Sequence of concurrent nozzle movements with parametric polygons for tool envelopes (tZ0.3) Tool movement for envelopes, Ei (Nozzle, Ni) Sequence
E1 (N1)
E2 (N2)
E3 (N3)
E4 (N4)
E5 (N5)
E6 (N6)
Yes No No
Yes No No
No Yes No
No No Yes
No Yes No
Yes No No
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 axisaligned 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.
For the sequential toolpath planning, six steps are required and the tool sequence is N1 fS1 ðPC1 Þg0 N2 fS2 ðPC2;3 / PC14;15 Þg0 N3 fS3 ðPC4;5;6;7;8;9 / PC16;17;18;19;20;21 Þg0 N4 fS4 ðPC10 / PC22 Þg0 N5 fS5 ðPC11 / PC12 Þg0 N6 fS6 ð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.
Fig. 12. (a) Details of concurrent nozzle movements with parametric polygons for tool envelopes (tZ0.3); (b) digital fabrication of a layer of the toy excavator.
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156
155
Fig. 13. Details of concurrent nozzle movements with axis-aligned bounding boxes for tool envelopes (tZ0).
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
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
Fig. 14. Digital fabrication process of a multi-material prototype of the toy excavator.
156
S.H. Choi, H.H. Cheung / Computer-Aided Design 38 (2006) 143–156
satisfactory quality without incurring much cost and time. Hence, the MMVP system is useful for shortening development 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 detection 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 multimaterial prototyping processes.
[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). Ferroelectrics 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.
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.
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.