Uploaded by Αλέξανδρος Λίνας

CAD

advertisement
Computer-Aided Design 45 (2013) 875–886
Contents lists available at SciVerse ScienceDirect
Computer-Aided Design
journal homepage: www.elsevier.com/locate/cad
Efficient parts nesting schemes for improving stereolithography utilization
Vassilios Canellidis, John Giannatsis, Vassilis Dedoussis ∗
Center for Product Development and Rapid Prototyping, Laboratory of Advanced Manufacturing Technologies & Testing, Department of Industrial Management & Technology,
University of Piraeus, 80 Karaoli & Dimitriou str., 18534 Piraeus, Greece
article
info
Article history:
Received 24 April 2012
Accepted 4 December 2012
Keywords:
Stereolithography
Nesting problem
2D packing
Genetic algorithm
Additive manufacturing
abstract
In the present paper, the platform layout optimization problem for the simultaneous fabrication of
different parts, which is addressed in the batch planning of Stereolithography Additive Manufacturing
technology, is studied. The methodology proposed in the paper employs a Genetic Algorithm technique
for the 2D nesting of parts on the platform of the stereolithography machine. The build orientation
of the parts is assumed fixed and is decided prior to layout optimization, according to part-specific
quality and cost requirements. Three placement schemes, appropriately adapted to the problem, are
considered for the parts nesting and fabrication layout definition. The algorithms and placement schemes
developed are evaluated in several test cases/benchmarks involving parts with both simple and complex
geometries. The computational results included in the paper indicate that the proposed methodology can
lead to satisfactory layout/packing–nesting arrangements in a time efficient manner, leading, therefore,
to substantial improvement of stereolithography machine utilization.
© 2012 Elsevier Ltd. All rights reserved.
1. Introduction
Since their introduction, Additive Manufacturing (AM) technologies have been mainly employed as methods for the production of models and prototypes for new product development;
hence the term Rapid Prototyping has been associated to them.
In AM, parts are fabricated by the controlled addition of material,
usually in the form of thin layers. Some of the most well known
AM technologies are Stereolithography (SL), Selective Laser Sintering, 3D Printing (3DP), Multi-jet Modeling (MJM) and Fused Deposition Modeling (FDM). In recent years the capabilities of AM
technologies with respect to reliability and materials have significantly improved, to the point that they are increasingly employed
for the production of actual end-use products or their components
[1,2]. The main applications of this sort include the production
of geometrically complex and/or highly customized or specialized
products in small numbers. Compared with other manufacturing
methods, AM methods have significant advantages, namely the
capability to fabricate parts of almost any geometry in relatively
short times. On the other hand, the cost per part associated with
AM methods is relatively high. For the successful implementation
of AM in the industrial manufacturing setting, therefore, it is crucial
to achieve cost-effective utilization of the associated equipment
and full exploitation of their capabilities in terms of time and geometrical flexibility. Under this new perspective, the study of process planning problems in AM gains further importance, because
∗
Corresponding author. Tel.: +30 210 414 2320; fax: +30 210 414 2454.
E-mail address: vdedo@unipi.gr (V. Dedoussis).
0010-4485/$ – see front matter © 2012 Elsevier Ltd. All rights reserved.
doi:10.1016/j.cad.2012.12.002
the corresponding decisions of the user/operator of the AM system
significantly affect the perceived production time, cost and quality.
From the applications point of view, the selection of build parameters such as build orientation and layer thickness/pattern, and
the efficient utilization of the machine time and workspace have
been recognized as two of the most important problems in AM process planning [3]. The selection of build parameters concerns the
fabrication of a single part and it is essentially a multi-objective optimization problem, in which the optimum compromise between
fabrication cost and quality under specific constraints is sought. In
this context, several tools have been proposed during the last few
years, in order to aid the operator in the selection of build orientation and layering strategy [4–6]. Efficient utilization of the machine
time and workspace, on the other hand, concerns the simultaneous
production of different (or geometrically similar/identical) parts, in
a time and cost-efficient manner. AM equipment is capable of fabricating various different parts concurrently, in the so-called fabrication jobs, without human supervision. Job setup is performed by
the operator, who chooses and places the parts/products to be built
in a manner that will efficiently utilize the machine workspace,
usually through the maximization of the number of parts per job
or of the corresponding build volume. This way significant cost and
time savings may be gained, because the number of labor intensive and time consuming job setups is reduced, and in some cases
a more efficient use of the AM machine is achieved. The machine
utilization is relatively more important in technologies like SL or
SLS, where the ‘dead’ time associated with the necessary layer recoating or material spreading step, is allocated in as many parts as
possible. Further gains can also be expected in some cases through
876
V. Canellidis et al. / Computer-Aided Design 45 (2013) 875–886
the minimization of the amount of unused or secondary raw material that is discarded after production (e.g. supports and/or trapped
material).
In this paper we concentrate on SL, which is perhaps the most
mature and widely used of all AM technologies. The relevant
problem of raising the degree of utilization of the SL machine is
addressed by determining the optimum placement layout of different parts on the SL machine platform/workspace. The problem is
tackled employing a Genetic Algorithm (GA) approach in conjunction with three different placement schemes, which are based on
established nesting and 2D packing methodologies appropriately
adapted to the SL case. The feasibility and efficiency of the developed schemes is investigated via a series of case studies involving standard benchmark tests and a representative test case with
‘‘real-world’’ parts of quite general free-form geometry.
2. Proposed methodology and problem formulation
The packing or layout planning problem in SL has been the
subject of relatively few studies. Most of the works reported in the
literature concern other AM technologies and address in most of
the cases the fully 3D packing problem using heuristic optimization
schemes, mainly different variations of GA [7–10]. Contrary to
most of the problems investigated in the previous literature, where
the placement of parts to be fabricated on top of others is permitted
(as is the case in powder-based technologies like SLS), in the case
of SL this is not generally advisable because of the adverse effects
of support structures.
In order to be effective, in any optimization approach the specific characteristics and constraints of the particular technology
under investigation should be first considered. These characteristics should then be reflected in the problem formulation and the
construction of the optimization objective function. The most basic
relevant ‘‘constraint’’ in the context of SL seems to be the requirement for support structures which are fabricated concurrently and
by the same material as the part and which are necessary in order
to prevent part/layer drifting and deformations. If a part is placed
over another (along the build direction) the support structure of
the top part will interfere with or ‘‘touch’’ the geometry of the
bottom part, at its top surfaces. This interference can significantly
deteriorate the surface quality (increase the corresponding roughness) and possibly the dimensional accuracy of the bottom part,
as well as increase the required post-processing time (manual polishing/finishing). Due to this, parts in SL are usually placed alongside each other, after of course a proper build orientation for each
one is chosen; hence the packing problem essentially becomes
two-dimensional (2D packing). An alternative approach to resolving this issue and formulating a more holistic approach can be to
construct a weighted multi-criteria objective function that incorporates the technology specific constraints [11], but this approach
seems to be sensitive to the selection of criteria weight values.
Another methodological concern is the apparent trade-off between the quality of the optimization solution and the required
computational time, which is a very important parameter in the
manufacturing environment. For the problem under investigation
significant parameters that affect the quality/time trade-off, besides the choice of a specific optimization technique, are the number of orientations allowed per part and the selection/construction
of a specific placement and interference checking strategy. The
choice of a free orientation scheme, that considers rotations of the
parts about all three axes, will probably lead to significantly better results in terms of packing density than those obtained with a
fixed build orientation per part, where only rotations about the Z
axis are permitted. This approach, on the other hand, significantly
increases the associated complexity and does not guarantee that
specific part quality/cost constraints are satisfied. This is the reason that the middle road, i.e. the examination of a limited set of
acceptable orientations, is proposed in several studies [12,11,13].
Due to the possible adverse effects of support structures in SL
and the need for relatively low computational times, the approach
followed in the present paper examines placement layouts with
parts alongside each other (no part is placed beneath another)
and assumes a fixed build orientation/direction per part. The build
orientation of a part is selected according to part-specific quality, cost and time requirements and constraints, which are defined
by the SL machine operator according to the part’s geometry and
its intended use. Casting patterns and final products, for example,
require high dimensional accuracy and surface finish, while for
concept models low fabrication cost is more significant. For the
purposes of the present study, orientation evaluation is performed
automatically following a methodology proposed by the authors
in [6]. The adopted methodology incorporates a multi-objective
function for the representation of the SL operator’s preferences
regarding the relative importance of build quality, as expressed
by mean part surface roughness due to stair-stepping and contact with supports, and build-time/-cost. According to these preferences, as well as constraints regarding the minimum acceptable
quality and maximum acceptable cost, a GA technique is employed
for the automatic identification of the optimum build orientation
among the many possible. Build-time/-cost and part surface roughness per orientation are evaluated from the STL file according to
experimentally derived formulas described in [14]. Following the
orientation selection for each part and if it is quite obvious that
the parts cannot be fitted in one fabrication job, a sub-grouping
of parts may take place. In this case the operator should try and
group parts by their respective build height (Z dimension) in order
to avoid inefficient packing solutions where ‘‘high’’ parts, with a
relatively high number of layers, are fabricated concurrently with
‘‘low’’ parts, with relatively lower numbers of layers, which sometimes require considerably lower fabrication times.
Subsequently the layout planning or platform packing phase
takes place, where the already oriented parts are positioned on
the platform of the machine alongside each other, trying to fit as
many as possible and exploit the available area. In this step the
problem could be said to reside in the dense packing/nesting of
the parts’ projections on the platform plane. The latter polygonal
projection of each part can be computed from the Boolean union of
all the slices that are obtained after slicing the corresponding STL
file (Fig. 1). Having derived the parts projections on the platform
of the SL machine, the sole optimization objective can be defined,
therefore, as that of maximizing the area of the platform that is
covered by the non-overlapping projections of, say n, parts:
n

f =
Projection_Area_of_the_ith_part
i =1
Fabrication_Platform_Area
.
(1)
Under this definition of the objective function, the packing
problem in SL can be considered as a 2D nesting problem [15]. The
2D irregular parts nesting problem is a widely-addressed subject in
various manufacturing sectors such as that of metal products, textiles, footwear and furniture, as well as ship building. Particularly
in the field of metal processing and manufacturing, and especially
in the area of sheet-metal cutting, shearing and stamping, various
problem-solving approaches have been proposed in order to minimize waste material and efficiently automate the part layout planning process.
One of the earliest proposed approaches is that of employing a
sliding algorithm for the optimum nesting of two blanks in sheet
metal stamping [16]. Another approach is proposed by Lamousin
and Waggenspack [17] who employ a heuristic technique for
the progressive nesting of parts through the matching between
V. Canellidis et al. / Computer-Aided Design 45 (2013) 875–886
90
80
70
60
Z 50
40
30
20
10
0
80
60
Y
40
20
0 10
20
30
40
50
60
70
80
90
X
Fig. 1. STL model and its projection on the build platform (XY plane).
complementary features of the parts and the stock material. A
similar boundary nesting approach that employs evolutionary
heuristic techniques is adopted in a study by Tay et al. [18]. In
order to increase the efficiency of the heuristic employed for the
nesting of irregular-shaped polygons a hybrid approach has also
been proposed by Mahanty et al. [19].
Algorithms that optimize the orientation and layout of identical polygonal blanks in a strip for minimum material usage have
been also proposed by Nye [20], Cui and Huang [21], and Licari and
Valvo [22]. The problem of optimum nesting of a large number of
copies of an irregularly shaped part in a limited sheet is investigated by Costa et al. in [23], as well as in a study by Martins and
Tsuzuki [24]. The problem of optimum part layout arrangement in
multiple sheets is addressed in studies by Babu and Babu [25] and
Lee et al. [26]. The nesting problem has also been investigated in
the context of combined manufacturing processes such as sheet
metal cutting and punching [27,28], laser cutting and bending [29]
and the design of progressive dies [30,31]. Integrated computeraided systems that employ nesting algorithms have also been proposed by Rao et al. [32] and Xie et al. [33].
The study of the relevant literature shows that there are two
important methodological decisions that have to be made in order
to address any specific instance of the 2D nesting problem, namely
the selection of an optimization scheme, i.e. how an exploration of
the space of all possible layouts/solutions is performed, and that
of a placement scheme, i.e. how a specific layout is constructed
through the placement of the various parts. The characteristics
and details regarding the optimization and placement schemes
adopted in the present study are given in the following sections.
2.1. Optimization scheme
From an optimization point of view the parts nesting or layout planning problem in SL seems to share the most similarities
with the knapsack problem, according to the typology proposed
in [34]. In this context, the problem is considered as NP-complete
and its complexity is related to the size/shape variety of the parts
and the number of feasible placement positions for each part;
hence heuristic optimization algorithms, like Genetic Algorithms
(GA) and Simulated Annealing (SA), are often applied for solving it.
Heuristic approaches do not guarantee that the global optimum is
877
found, but they can provide ‘‘acceptably good’’ solutions, i.e. solutions close to the global optimum, with low computational effort.
For the problem under investigation GA, which is based on genetics
and evolution theory, has been adopted as the optimization technique. The basic concept behind GA is that the ‘‘genetic pool’’ of a
given set of problem solutions potentially contains traces of the
optimum solution, which can be discovered by controlled ‘‘evolution’’ of the initial population. GA maintains, therefore, a set of
potential solutions (population) that ‘‘evolves’’ in subsequent
‘generations’ towards hopefully better solutions, according to the
principles of ‘‘natural selection’’ and ‘‘survival of the fittest’’. This
evolution is carried out as potential solutions (individuals), represented by chromosomes, are combined in pairs (parents) in order
to produce new chromosomes (offsprings) thus providing a new
generation of individuals. Random changes in individuals (mutations) add a stochastic element to the evolution procedure in order to avoid premature convergence to a local optimum solution.
For a more detailed presentation of the various GA approaches/
variations the reader is referred to [35].
In the context of the present problem employing the GA approach means that a set of randomly-constructed packing layouts/solutions is allowed to ‘‘evolve’’ towards a set that contains
the optimum and/or near-optimum packing layouts. The chromosomal representation (genotype) of packing layouts/solutions utilizes a permutation coding scheme, for which individual solutions
are coded as sequences of integers (genes) that correspond to the
placement sequence of a set of parts. The packing layout π for the
jth chromosome, for example, πj = {5, 3, 7, 1, 2, 4, 6} can be interpreted as the consecutive placement of the projections of seven
parts on the fabrication platform, beginning with the projection of
part no. 5 then that of part no. 3, etc. The placement of each projection is carried out according to a prescribed placement strategy,
which is explained in the next section, thus constructing the corresponding nesting layout (phenotype).
The population evolution is performed following the generally applied GA process presented in Fig. 2. The first step in this
process consists of defining the initial population, i.e. a set of
possible packing layouts/solutions, which is constructed either at
random or by the operator. Then, an evaluation of the ‘‘fitness’’
value for each individual takes place. The fitness value of an individual/chromosome j corresponds to the respective value of the
objective function fj derived from Eq. (1), thus the higher the area
utilization percentage of a solution the higher its fitness. Subsequently, a test of convergence is performed, namely the evaluation
of the difference between the mean fitness value of the population and the fitness value of the best solution. If there is no difference between the two values (the population is homogeneous), it
is assumed that an optimum or near-optimum solution has been
reached and the algorithm terminates, otherwise the population is
allowed to evolve further. The next step in the algorithmic ‘‘evolution’’ involves the selection of layouts/solutions for reproduction,
through the use of specific selection operators. In the present paper the proportional selection approach proposed in [36] has been
adopted. According to this approach, the probability pi of an individual i to be selected for reproduction is proportional to its relative
fitness, as expressed by the following:
pi = 
fi
 >0
m

(2)
fj
j =1
where m is the number of chromosome/solutions of the population. Following the computation of the reproduction selection
probability for all chromosomes, the interval I = [0, 1) is divided into m sub-intervals, one for each chromosome, denoted by
878
V. Canellidis et al. / Computer-Aided Design 45 (2013) 875–886
for example, that the father-string is π1 = {1, 2, 3, 4, 5, 6, 7}, the
mother-string is π2 = {6, 4, 2, 5, 3, 1, 7}, p = 2 and q = 3. In
this case, the first three genes of the first offspring are selected
from the father-string (2, 3, 4) while the next four empty gene-slots
are filled by the remaining mother-genes, thus producing offspring
π3 = {2, 3, 4, 6, 5, 1, 7}. Similarly, for the construction of the second offspring, q consecutive genes, starting from the p-th gene, are
first selected from the mother-string, while the remaining empty
gene-slots are filled by the corresponding father-genes. The second
offspring, therefore, is π4 = {4, 2, 5, 1, 3, 6, 7}.
The mutation operator, on the other hand, aims at adding diversity to the population through the introduction of new traits that
are not present in the individuals/chromosomes. This operation reduces the probability of converging to a local optimum solution too
fast and before a sufficient amount of the solution space has been
searched, especially when several local optima may be expected. In
the present GA application, mutation is performed by simply swapping the location of two genes in a chromosome, which has been
selected randomly from the population according to the specified
mutation rate.
Following reproduction, the evolution strategy is applied. In this
step, the removal of a number of individuals from the population
is required in order to keep the population size constant. This is
performed by ranking the old and new individuals/chromosomes
according to their fitness value and removing the less-fit excessive
part of the list. The final step of the algorithm is to perform the
convergence test on the newly-created generation in order to
determine whether the termination criterion is satisfied or the
algorithmic evolution will continue.
Fig. 2. Flowchart of the GA employed in the study.
2.2. Placement scheme
Ai (πi , fi ), as follows:
A1 (π1 , f1 ) ↔ I1 = [0, p1 )
A2 (π2 , f2 ) ↔ I2 = [p1 , p1 + p2 )
Aj (πj , fj ) ↔ Ij = [p1 + · · · + pi−1 , p1 + · · · + pi )
Am (πm , fm ) ↔ Im = [1 − pm , 1).
After the association of each individual chromosome Ai (πi , fi ) to
a sub-interval, two random numbers αi ∈ [0, 1), i = 1, 2 are generated. The different intervals, in which the two random numbers
lie, represent the individual chromosomes on which crossover or
mutation operates. If the generated numbers lie within the same
interval, additional random numbers are considered.
In the following reproduction step, new children chromosomes
(‘‘offspring’’) representing new packing layouts/solutions are
‘‘bred’’. Breeding and offspring generation are carried out via two
operators, the crossover and the mutation operator. The crossover
operator aims at the preservation and improvement of promising
genetic material from one generation to the next by selecting two
chromosomes from the population (according to their respective
selection probability) and producing a new, possibly better, chromosome that combines features of both its parents. Currently there
are quite a few rules that could be followed in crossover operation,
but there is not a unique operator that performs well in all cases,
as its performance is usually problem specific [35]. For the permutation type of problems such as the present one, the SJX operator,
introduced by Jakobs [37], has been found to perform quite well
and has been adopted in this work. Given a father and a mother
string/permutation, as well as two integers p and q, the SJX operator produces two offspring. For the construction of the offspring the
operator selects q consecutive genes, starting from the pth gene,
from the first parent, and fills in the remaining offspring genes with
the corresponding different genes of the second. In order to clarify
the function of the operator an example is given in Fig. 3. Suppose,
The issue of placement strategies/rules and interference checks
in nesting is quite important, because it influences not only the
quality of the solution but also the required computational effort. Various part placement methods, such as the Left-Bottom, the
Pixel–Raster, the Direct Trigonometry, the No-fit polygon and the
Phi function methods, have been proposed in the nesting problems literature [15]. Each one of them has certain advantages and
disadvantages that make it appropriate for addressing different
variants of the nesting problem. Variations of the Left-Bottom
heuristic technique are usually easy to implement and provide
fast solutions, but are considered to be better suited for simple orthogonal geometries rather than for geometrically complex
arbitrary shapes. Raster/pixel methods are also relatively easily
implemented and are usually employed for non-convex pieces of
moderate geometrical complexity. For geometries of higher complexity and levels of detail, however, the memory requirements increase significantly and this may also lead to significantly higher
computational effort [15,38]. Direct trigonometry methods cope
better with geometrical complexity and highly irregular shapes
but they are also computational expensive [39]. The No-Fit Polygon technique is an efficient and commonly utilized method for
conducting intersection tests between pairs of polygons, but it has
not been widely applied in the context of nesting problems due
to the large number of degenerate cases, which can arise when
various forms of shapes are considered [15,38]. Finally, the phifunction method, which aims at the representation of all mutual
positions of two shapes through mathematical expressions, has not
been broadly adopted, as there is not currently any algorithmic
procedure for generating the required phi-function for arbitrary
shapes [40]. In the context of the present study, three different
placement schemes were examined, the first employing the LeftBottom/Down-Bottom (LBDB) method and the Ray Casting technique, the second employing the No-Fit Polygon method, while the
V. Canellidis et al. / Computer-Aided Design 45 (2013) 875–886
879
Fig. 3. Example of the SJX crossover operator.
18
16
14
12
10
8
6
4
2
0
0
2
4
6
8
10
12
14
16
18
Fig. 4. Schematic representation of the MBR of an arbitrary object.
third is a hybrid one, employing a combination of the previous two
methods.
The LBDB method incorporates rules that aim at placing objects
as close as possible to the platform origins, i.e. the left bottom
corner. In order to reduce the required computational effort, the
Minimum Bounding Rectangle (MBR) of the polygon that should
be placed and the corresponding MBRs of the already placed parts
are initially determined. The MBR is defined as the minimum area
rectangle that encapsulates the convex hull of a polygonal object
as illustrated in the example of Fig. 4.
The Left-Bottom/Down-Bottom rule, which employs vertical
and horizontal insertion lines defined by the borders of the platform and previous MBRs, are then applied in order to evaluate different placement positions for the incoming object. An example of
the LBDB method is presented in Fig. 5, where two possible placement positions for rectangle B are evaluated. The position chosen
for placement is the one that minimizes the distance of the MBR
origin to the platform origin (Fig. 5(c) or (d)). In this position, two
possible MBR orientations, the initial one and its 90° rotation about
the Z axis, are evaluated and the one that leads to the minimum
‘‘height’’ along the Y dimension is chosen.
In order to enhance further the nesting of the incoming polygon
to the previously placed adjacent polygons, a second densification
step involving horizontal and vertical movements is employed. The
extent of possible movements is determined employing casting
of rays from the vertices of the incoming polygon and evaluating
the corresponding distances until another polygon or the platform
boundaries are met (Fig. 6(a)). This procedure is also followed for
selected vertices of previously placed polygons (Fig. 6(b)) and the
minimum of the examined distances is determined. The evaluated
minimum distance and the corresponding vertex define the vector
of translation for the incoming polygon towards the already
placed polygons without interference. The ray-casting process is
performed for both the previously chosen MBR orientation, as well
as its mirror orientation (rotated 180° about the Z axis), and the
one leading to the closest to the platform origin placement is
chosen. In order to further illustrate the ray-casting densification
operation an animated example is presented in Animation 1 (see
the Appendix).
The second placement method is based on the concept of the
No-Fit Polygon (NFP) [15], which can be used to determine all
arrangements that two arbitrary polygons of standard orientation
may assume so that the two shapes touch. These arrangements are
the closest possible that can be defined between the two polygons
without intersection. An intuitively simple method to construct
the NFP of two polygons, say A and B, is to keep one (e.g. A) fixed
in position, while the other traverses around the fixed polygon’s
edges, ensuring that the polygons always touch but never intersect
(see Fig. 7). The corresponding NFP (NFPAB ) is thereby drawn as the
route trajectory of a chosen reference point of polygon B.
In previous studies, robust analytical methods for the construction of the NFP of two convex shapes have been presented [41,42].
However, in the case of concave shapes similar methods or algorithms are still under development. In order to overcome this difficulty in the case of concave shapes a method for obtaining an
estimation (as a point cloud) of the actual NFP boundary of two
highly irregular shapes has been devised. The method initially
computes the convex hull of the corresponding original concave
geometry, thus covering concave regions with dummy lines, as
presented in Fig. 8. An initial rough approximation of the NFP is
then constructed based on the convex hulls of the original polygons. The resulting NFPCONVEX shares common edges with the actual NFP, i.e. all edges that are determined employing the actual
880
V. Canellidis et al. / Computer-Aided Design 45 (2013) 875–886
Fig. 5. Schematic representation of the LBDB placement procedure.
a
b
Fig. 6. The ray-casting densification process.
edges of the original polygons, but differs from the actual one in the
areas composed of dummy edges, where a tighter arrangement of
the two polygons is possible. The dummy edges are then replaced
by approximations of the corresponding actual edges, which are
created by successive sliding moves of polygon B as close as possible towards the fixed polygon. The sliding movement is performed
at points on the dummy edge which are determined by a user
selected threshold value and the traveling distance is computed
through ray casting. The resulting points form an approximation of
the corresponding areas of the actual NFP, the accuracy of which is
determined by the threshold value.
In order to find the best possible arrangement between the two
polygons, polygon B is allowed to ‘‘slide’’ along the edges of the
approximated NFP (NFPESTIMATOR ), following a procedure similar to
that employed for the construction of the NFPESTIMATOR . The best
of the possible arrangements is the one that minimizes the ratio r
(Eq. (3)), which is defined as the sum of the areas of A and B divided
by the area of the convex hull of the A and B Boolean union (A ∪ B):
r =
Area of A + Area of B
Area of the A ∪ B Convex hull
.
(3)
Having placed the first two polygons their Boolean union is
constructed. This new polygon is then employed as the fixed
polygon for the insertion of the next polygon from the permutation
order and the NFP construction and placement process is repeated.
Compared with the LBDB method which gradually packs the
objects following the permutation sequence and filling the
platform from the bottom-left corner, the NFP method fills the
platform following a pattern from the platform center towards
its periphery. In order to better illustrate the NFP placement
process an animated example is presented in Animation 2 (see the
Appendix).
The required computational effort for the construction of the
NFP approximation of two polygonal objects can be quite big, and
increases significantly as the complexity of the polygons, i.e. the
V. Canellidis et al. / Computer-Aided Design 45 (2013) 875–886
881
Fig. 7. Illustration of the NFP construction process.
Fig. 9. Schematic representation of the combined LBDB/NFP placement process.
2.3. 2D packing/layout optimization process
Fig. 8. Schematic representation of the NFP estimation process for non-convex
polygons.
number of their edges, increases. In an effort to decrease the
computational time and exploit the advantages of both previous
methods a third placement scheme has been examined. In this
scheme the LBDB strategy is followed but instead of employing
the ray-casting technique in order to pack the nesting placement,
the NFP is employed. To better illustrate the placement process an
example is presented in Fig. 9, where the incoming object, polygon
B, has already been placed based on the MBRs of the objects and
following the LBDB rules.
In the specific arrangement there is unutilized space between
the two objects that can be minimized by a leftward movement of
polygon B. The corresponding travel distance is computed by casting a ray from a reference point of object B to the approximate NFP
of the two objects (NFPAB ), thus reducing the computational time
associated with ray-casting in the standard LBDB scheme. In order
to accelerate the packing process the NFPs of all pair combinations
of the available objects are computed prior to the initiation of the
GA heuristic process. An animated example illustrating the combined LBDB and NFP placement scheme is presented in Animation
3 (see the Appendix).
The 2D nesting/layout optimization process for all three
placement schemes follows three basic phases presented in Fig. 10.
In the first phase the orientation of each one of the parts to be
fabricated is defined according to the associated quality and cost
requirements and the corresponding projection on the platform
plane is evaluated. Next comes the initialization phase where preprocessing data operations that reduce the computational effort
associated with optimization are performed. The most basic of
these operations is that of simplifying the geometry of projections
by reducing the associated number of points of the parts employing
the Douglas–Peucker algorithm [43]. In order to avoid possible
intersections between parts due to this geometry simplification
a small offset of the original geometry by a certain threshold is
first applied. In the combined LBDB and NFP scheme a database
containing the NFPs or NFP estimates of all possible combinations
of parts in pairs is also constructed during the initialization phase.
Finally, in the third phase the GA is employed in order to search
the solution space and identify the optimum or near-optimum
parts layout arrangement on the platform of the machine. The
evaluated layouts are constructed employing one of the three
schemes presented in previous paragraphs.
3. Computational results and discussion
The efficiency of the proposed methodology and placement
strategies was investigated using four case studies; three involving
882
V. Canellidis et al. / Computer-Aided Design 45 (2013) 875–886
Fig. 10. Flowcharts of the packing optimization process for the three placement schemes under investigation.
sets of relatively simple 2D shapes presented in previous studies and one involving ‘‘real-world’’ SL parts. The software implementation of the proposed methodology has been carried out
employing Matlab R2008a. The parameters of the implemented
GA algorithm in all test cases were: population size of 50 chromosomes, crossover rate of 100% and mutation rate of 1.25%. The
GA terminated when the population became fully homogeneous,
i.e. the mean value of the fitness function (mean percentage of
platform area coverage) of the population reached the corresponding maximum fitness value (maximum percentage of platform area
coverage obtained by the best layout arrangement in a generation).
All test cases were run on a PC equipped with a Pentium 4 processor at 3.4 GHz and 2 GB of RAM.
Table 1
Results of benchmark test cases.
Platform area coverage (%)
No. parts packed
Albano set
Mean comput. time per packing
arrangement/generation (s)
Total computational time (s)
Mao set
Blaz set
3.1. Benchmark test cases
A series of three test cases was examined first. The data sets
for the three test cases were obtained from the ESICUP web site
(http://paginas.fe.up.pt/~esicup/tiki-index.php) which contains a
publicly available archive of data sets employed in previous
packing/nesting problem studies. The first data set (Albano set) has
been examined in a study by Albano and Sapuppo [44] and contains
24 instances of the shapes presented in Fig. 11(a), the second (Mao
set) has been proposed by Bounsaythip and Maouche in [45] and
contains 20 instances of the shapes presented in Fig. 11(b), while
the third (Blaz set) contains 20 instances of the shapes presented
in Fig. 11(c) that have been used by Blazewicz et al. in [46]. The
specific test cases were selected because of the irregular geometry
of the associated polygons which corresponds to what should be
expected for parts projections in SL practice.
The results of the test cases in terms of packing/nesting
efficiency, as measured by the percentage of platform area coverage and the number of parts placed, as well as the associated required time per placement scheme are presented in Table 1. The
corresponding layout arrangements of the shapes per placement
scheme and case are presented in Fig. 12. It should be noted that
Platform area coverage (%)
No. parts packed
Mean comput. time per packing
arrangement/generation (s)
Total computational time (s)
Platform area coverage (%)
No. parts packed
Mean comput. time per packing
arrangement/generation (s)
Total computational time (s)
LBDB
NFP
LBDB and NFP
82.2
24
1.30
71.6
23
6.00
82.2
24
0.60
11,554 19,017 5760
71
20
1.18
71
20
7.70
71
20
0.39
3115
19,455 928
71.4
20
0.98
71.4
20
5.23
71.4
20
0.40
2652
5230
1372
the three test cases were examined following the testing methodology proposed by the corresponding authors for comparative reasons; hence the packing areas are not square as is the case with the
SL platform. The obtained results do not show any significant differences between the three placement schemes in terms of packing
efficiency, since all three methods lead to the placement of all parts
and identical values of platform coverage, with the exception of the
results obtained by applying the NFP scheme in the Albano case.
The observed values of area coverage are also comparable to that
reported in the relevant literature. In terms of computational time,
however, it is evident that the combined use of LBDB and NFP techniques leads to significant time savings compared to the placement
schemes employing solely LBDB or NFP. This conclusion becomes
more evident if the mean computational time per layout arrangement or generation is examined, where the sole application of the
NFP or LBDB schemes leads to quite high computational time requirements compared to the corresponding ones, when the combination of both schemes is applied.
V. Canellidis et al. / Computer-Aided Design 45 (2013) 875–886
(a) Albano set.
883
(b) Mao set.
(c) Blaz set.
Fig. 11. Polygonal shapes examined in benchmark test cases.
3.2. ‘‘Real-world’’ stereolithography parts test case
Fig. 12. ‘‘Optimum’’/best layout arrangements for the benchmark cases using
different part placement schemes.
In order to further investigate the proposed approaches another
test case, comprising of 20 parts fabricated by SL in the context
of past projects and partnerships of the Center for Product
Development and Rapid Prototyping at the University of Piraeus,
was computed. The corresponding parts are of variable size and
geometrical complexity, as could be expected for a representative
‘‘real-world’’ case of a stereolithography build job in a RP/RM
service bureau (see Table 2 and Fig. 13). The orientation of the parts
was selected according to part-specific quality/cost requirements
following the procedure proposed by the present authors and
presented in detail in [6]. The platform dimensions were set at
250 mm × 250 mm, equal to that of the SL machine used for their
fabrication.
The projections of the parts on the platform were computed
after slicing the STL files and carrying out the Boolean union of
the corresponding slices. Due to the relatively high level of detail
and complexity of the STL files the obtained 2D projections had
a significantly higher number of points per polygon compared to
the benchmark test cases (see Table 2). A preliminary application
of the developed algorithms employing these original projections
showed that significant computational effort was required; hence
a reduction of the level of detail of the projected polygons was applied. Geometry simplification was achieved through the reduction
of the number of polygon points employing the Douglas–Peucker
algorithm [43], following an initial offset of the original geometry by a certain threshold, to avoid possible intersections between
parts due to the simplification procedure. The test case results are
884
V. Canellidis et al. / Computer-Aided Design 45 (2013) 875–886
Fig. 13. Parts examined in the SL test case.
z
y
y
z
x
x
y
z
x
Fig. 14. ‘‘Optimum’’/best layout arrangements for the SL test case using different part placement schemes.
presented in Table 3 while the corresponding packing/nesting arrangements are illustrated in Fig. 14.
From Table 3 it can be observed that the best layout arrangements are obtained employing the LBDB and NFP placement
schemes. In both cases only one part, the human jaw medical
model, is not present in the layout arrangement (see Fig. 14) probably due to the size and highly non-convex nature of the corresponding polygonal projection. To further illustrate the layout
construction process employing the LBDB and NFP scheme for a
single solution/individual an animated example is presented in Animation 4 (see the Appendix).
Employing solely the NFP technique, on the other hand, leads
to relatively worse results in terms of both packing efficiency and
computational time, as is also observed in the first test case. The
relatively high computational time of the NFP approach can be
attributed to the relatively high mean time that is required per
packing arrangement/generation (16 s) as well as to the relatively
high number of generations (700 generations) required for convergence, as can be seen in Fig. 14. The LBDB and NFP schemes on
the other hand converged significantly faster, in about 200 generations. Examining further the mean and best fitness plots (Fig. 15)
also shows that the optimum solution for all three schemes is discovered well before converging, in the range of 100–150 generations, an indication that, perhaps, the computational time can be
significantly reduced if another termination criterion, such as the
maximum number of generations or the average change in fitness
value, is applied. The computational results presented above indicate that the combined application of the LBDB packing procedure
and the NFP technique for pair-wise part arrangement is overall
superior.
Part name and
number
Hinge (16 & 19)
Washing machine
arm–left
component
(17 & 20)
Bishop (9)
Distributor (14)
Fliptop (1 & 2)
Gear (5 & 6)
Knight (8)
Washing machine
arm–central
component
(12 & 18)
Ship model (7)
Engine
model (11 & 15)
Jaw (4)
Caliper
model (3 & 13)
Cover (10)
STL
STL
triangles volume
(cm3 )
4,860 10.95
10,394 20.55
30,171 8.21
4,028 7.15
6,552 2.07
1,420 0.54
75,934 9.78
17,718 28.55
Projection’s Projection’s Projection
NoPoints
NoPoints
area
after
(mm2 )
reduction
157
340
439
39
450
256
430
120
20
25
519.5
4958.9
16
7
14
9
16
13
937.45
1893.06
1346.4
114.2
937.4
6236.5
828
0.23
4,427 38.60
231
292
27
19
255.8
3141.7
100,948 64.37
49,682 38.36
4119
894
43
25
3447.5
2105.9
12,300 19.78
735
13
7808.1
4.8
4.6
LBDB
4.4
4.2
4
3.8
0
78
19
1.95
15,493
LBDB and NFP
73
18
16
22,313
78
19
0.4
2600
4. Concluding remarks
In the present paper an investigation of the parts placement
problem encountered during the job process planning phase of the
SL fabrication procedure is presented. Taking into account the specific characteristics of the SL technology, maximization of the platform area coverage has been chosen as the primary optimization
objective that needs to be achieved, in order to reduce the number of machine setups and increase its utilization. A GA heuristic
technique and three distinct part placement schemes were applied
for the nesting of parts on the platform and the optimization of
their layout arrangement. In order to evaluate the efficiency of the
proposed methodology, algorithm and placement schemes, four
case studies were examined; the first three concerning relatively
simple geometrical forms whilst the fourth one had actual/‘‘realworld’’ parts fabricated using the SL technique. The test results indicate that employing the combined LBDB and NFP scheme for the
placement of parts and the associated layout arrangement in conjunction with the GA optimization technique leads to ‘‘good’’ 2D
packing/nesting solutions. Also, taking into account that the process planning in SL is performed on dedicated process-planning
computers and in parallel with SL machine operation, as is quite
often the case in actual practice, the computational time involved
is considered to be acceptable. Furthermore, the combined LBDB
and NFP approach seems to be able to handle 2D polygonal forms
of variable complexity, similar to those expected in SL fabrication
jobs, without significant problems in terms of part intersections
and degenerate cases. From the applications point of view it is
concluded, therefore, that the proposed methodology presents a
valuable tool for the automation of the job/layout planning task,
thereby reducing the cost and time of process planning and increasing the utilization of the SL systems. Obviously, the present
methodology could be also applied to any other AM technology
100
150
200
250
0.74
0.72
0.7
0.68
NFP
0.66
0.64
0.62
0.6
0.58
0
NFP
50
Number of Generations
Utilized Area of Manufacturing Platform (mm2)
Platform area coverage (%)
No. parts packed
Mean computational time per packing
arrangement/generation (s)
Total computational time (s)
× 104
5
Table 3
Results of the SL test case.
LBDB
885
3.6
Utilized Area of Manufacturing Platform (%)
Table 2
Data of parts examined in the SL test case.
Utilized Area of Manufacturing Platform (mm2)
V. Canellidis et al. / Computer-Aided Design 45 (2013) 875–886
5
100
200
300
400
500
600
700
800
Number of Generations
× 104
4.8
LBDB
&NFP
4.6
4.4
4.2
4
3.8
3.6
0
50
100
150
200
250
Number of Generations
Fig. 15. Convergence plots of mean and best fitness values per generation for the
SL test case using different parts placement schemes.
that shows the same predominant fabrication characteristic, i.e. requirement of support structures, such as the FDM process.
Appendix. Supplementary data
Supplementary material related to this article can be found
online at http://dx.doi.org/10.1016/j.cad.2012.12.002.
References
[1] Wohlers T. Wohlers report 2011—additive manufacturing and 3D printing
state of the industry. Oak Ridge-Colorado, USA: Wohlers Assoc. Inc.; 2011.
[2] The Economist 3D printing: the printed world. February 12th issue. Available
at: http://www.economist.com/node/18114221 (last accessed 07.02.11).
[3] Munguia J. Pursuing successful rapid manufacturing: a user’s best practices
approach. Rapid Prototyping J 2008;14(3):173–9.
[4] Pandey PM, Reddy NV, Dhande SG. Part deposition orientation studies in
layered manufacturing. J Mater Process Technol 2007;185:125–31.
[5] Byun HS, Lee KH. Determination of the optimal build direction for different
rapid prototyping processes using multi-criterion decision making. Robot
CIM-Int Manuf 2006;22(1):69–80.
[6] Canellidis V, Giannatsis J, Dedoussis V. Genetic algorithm based multiobjective optimization of the build orientation in stereolithography. Int J Adv
Manuf Technol 2009;45(7–8):714–30.
[7] Wodziak JR, Fadel GM, Kirschman C. A genetic algorithm for optimizing
multiple part placement to reduce build time. In: Proc. of the 5th international
conference on rapid prototyping. June 12–15, 1994, p. 201–10.
886
V. Canellidis et al. / Computer-Aided Design 45 (2013) 875–886
[8] Zhang X, Zhou B, Zeng Y, Gu P. Model layout optimization for solid ground
curing rapid prototyping processes. Robot CIM-Int Manuf 2002;18:41–51.
[9] Lewis JE, Ragade RK, Kumar A, Biles WE. A distributed chromosome genetic
algorithm for bin-packing. Robot CIM-Int Manuf 2005;21(4–5):486–95.
[10] Hur SM, Choi KH, Lee SH, Chang PK. Determination of fabricating orientation
and packing in SLS process. J Mater Process Technol 2001;112:236–43.
[11] Gogate S, Pande SS. Intelligent layout planning for rapid prototyping. Int J Prod
Res 2008;46(20):5607–31.
[12] Ikonen I, Biles W, Kumar A, Ragade RK, Wissel JC. A genetic algorithm for
packing three-dimensional non-convex objects having cavities and holes. In:
Proc. of 7th international conference on genetic algorithms, 1997, p. 591–98.
[13] Canellidis V, Dedoussis V, Mantzouratos N, Sofianopoulou S. Pre-processing
methodology for optimizing stereolithography apparatus build performance.
Comput Ind 2006;57:424–36.
[14] Giannatsis J, Dedoussis V. Decision support tool for selecting fabrication
parameters in Stereolithography. Int J Adv Manuf Technol 2007;33:706–18.
[15] Bennell J, Oliveira JF. The geometry of nesting problems: a tutorial. European J
Oper Res 2006;184:397–415.
[16] Prasad YKDV, Somasundaram S, Rao KP. A sliding algorithm for optimal nesting
of arbitrarily shaped sheet metal blanks. Int J Prod Res 1995;33(6):1505–20.
[17] Lamousin H, Waggenspack Jr WN. Nesting of two-dimensional irregular parts
using a shape reasoning heuristic. Comput Aided Des 1997;29(3):221–38.
[18] Tay FEH, Chong TY, Lee FC. Pattern nesting on irregular-shaped stock using
genetic algorithms. Eng Appl Artif Intell 2002;15(6):551–8.
[19] Mahanty B, Agrawal RK, Shrin S, Chakravarty S. Hybrid approach to optimal
packing using genetic algorithm and coulomb potential algorithm. Mater
Manuf Process 2007;22(5):668–77.
[20] Nye TJ. Optimal nesting of irregular convex blanks in strips via an exact
algorithm. Int J Mach Tools Manuf 2001;41(7):991–1002.
[21] Cui Y, Huang L. Dynamic programming algorithms for generating optimal strip
layouts. Comput Optim Appl 2006;33(2–3):287–301.
[22] Licari R, Lo Valvo E. Optimal positioning of irregular shapes in stamping die
strip. Int J Adv Manuf Technol 2011;52(5):497–505.
[23] Costa MT, Gomes AM, Oliveira JF. Heuristic approaches to large-scale periodic
packing of irregular shapes on a rectangular sheet. European J Oper Res 2009;
192(1):29–40.
[24] Martins TC, Tsuzuki MSG. Simulated annealing applied to the irregular
rotational placement of shapes over containers with fixed dimensions. Expert
Syst Appl 2010;37(3):1955–72.
[25] Babu R, Babu NR. A generic approach for nesting of 2-D parts in 2-D sheets
using genetic and heuristic algorithms. Comput Aided Des 2001;33(12):
879–91.
[26] Lee W-C, Ma H, Cheng B-W. A heuristic for nesting problems of irregular
shapes. Comput Aided Des 2008;40(5):625–33.
[27] Xie SQ, Tu YL, Liu JQ, Zhou ZD. Integrated and concurrent approach for
compound sheet metal cutting and punching. Int J Prod Res 2001;39(6):
1095–112.
[28] Pan M, Rao Y. An integrated knowledge based system for sheet metal cuttingpunching combination processing. Knowl -Based Syst 2009;22(5):368–75.
[29] Verlinden B, Cattrysse D, Van Oudheusden D. Integrated sheet-metal
production planning for laser cutting and bending. Int J Prod Res 2007;45(2):
369–83.
[30] Kumar S, Singh R. Automation of strip-layout design for sheet metal work on
progressive die. J Mater Process Technol 2008;195(1–3):94–100.
[31] Ghatrehnaby M, Arezoo B. A fully automated nesting and piloting system for
progressive dies. J Mater Process Technol 2009;209(1):525–35.
[32] Rao Y, Huang G, Li P, Shao X, Yu D. An integrated manufacturing information
system for mass sheet metal cutting. Int J Adv Manuf Technol 2007;33(5):
436–48.
[33] Xie SQ, Wang GG, Liu Y. Nesting of two-dimensional irregular parts: an
integrated approach. Int J Computer Integr Manuf 2007;20(8):741–56.
[34] Wäscher G, Haußner H, Schumann H. An improved typology of cutting and
packing problems. European J Oper Res 2007;183:1109–30.
[35] Dréo J, Pétrowski A, Siarry P, Taillard E. Metaheuristics for hard optimization.
Berlin, Heidelberg: Springer-Verlag; 2006.
[36] Holland JH. Adaptation in natural and artificial systems. 2nd ed. MIT Press;
1992.
[37] Jakobs S. On genetic algorithms for the packing of polygons. European J Oper
Res 1996;88:165–81.
[38] Whitwell G. Novel heuristic and metaheuristic approaches to cutting
and packing. Ph.D. Thesis. School of Computer Science and Information
Technology. Univ. of Nottingham. 2004.
[39] Hopper E. Two dimensional packing utilising evolutionary algorithms and
other meta-heuristic methods. Ph.D. Thesis. School of Engineering, Univ. of
Wales, Cardiff, 2000.
[40] Chernov N, Stoyan Yu, Romanova T. Mathematical model and efficient
algorithms for object packing problem. Comput Geom Theory Appl 2010;
43(5):535–53.
[41] Burke E, Hellier R, Kendall G, Whitwell G. Complete and robust no-fit polygon
generation for the irregular stock cutting problem. European J Oper Res 2007;
179(1):27–49.
[42] Bennell JA, Dowsland KA, Dowsland WB. The irregular cutting-stock problem a new procedure for deriving the no-fit polygon. Comput Oper Res 2001;28(3):
271–87.
[43] Douglas D, Peucker T. Algorithms for the reduction of the number of points
required to represent a digitized line or its caricature. Cartographica 1973;
10(2):112–22.
[44] Albano A, Sapuppo G. Optimal allocation of two-dimensional irregular shapes
using heuristic search methods. IEEE Trans Syst Man Cybern 1980;10(5):
242–8.
[45] Bounsaythip C, Maouche S. Irregular shape nesting and placing with
evolutionary approach. IEEE Trans Syst Man Cybern 1997;4:3425–30.
[46] Blazewicz J, Hawryluk P, Walkowiak R. Using a tabu search approach for
solving the two-dimensional irregular cutting problem. Ann Oper Res 1993;
41:313–25.
Vassilios Canellidis received his undergraduate degree
(ptychion) in industrial management and technology
(2002) from the Department of Industrial Management &
Technology in the University of Piraeus. He carried out
postgraduate studies at the School of Electrical and Computer Engineering in the National Technical University
of Athens and at the Department of Industrial Management & Technology in the University of Piraeus, where
he received the M.Sc. (2006) and Ph.D. (2011) degrees in
techno-economic systems and optimization methods for
advanced manufacturing systems respectively. He is the
author or co-author of 15 papers published in refereed journals and scientific conference proceedings. His published work focuses on the solution of combinatorial
optimization problems in the fields of Additive Fabrication and Rapid Prototyping
technologies. Current research interests also include Combinatorial Geometry, the
application of meta-heuristic algorithms for optimizing industrial processes as well
as applications of Additive Fabrication Technologies. He is a reviewer for the International Journal of Advanced Manufacturing Technology and speaks both Greek and
English.
John (Ioannis) Giannatsis received his undergraduate degree (ptychion) in industrial management and technology (1995) and the Ph.D. degree in CAD/CAM and rapid
prototyping/manufacturing systems (2005) from the Department of Industrial Management & Technology in the
University of Piraeus. During his Ph.D. studies he worked
as a Research Assistant at the Department of Industrial
Management & Technology, which he joined in 2005 as a
Teaching Assistant. In 2008 he was elected Lecturer and
he is currently teaching courses in the areas of Advanced
Manufacturing technologies, CAD/CAM systems, Industrial
& Operations Management and Product Development. He is the author or co-author
of more than 20 papers published in refereed journals and scientific conference proceedings. His published work focuses on Additive Manufacturing and Rapid Prototyping technologies, as well as their applications in product design/development
and the medical sector. His current research interests include also Computer Integrated Manufacturing, Virtual Modeling and Ergonomic Design.
Vassilis Dedoussis, is Professor in Industrial Systems
Techniques and Director of the Laboratory of Advanced
Manufacturing Technologies & Testing at the Department
of Industrial Management & Technology, University of
Piraeus. He has received the Dipl. Ing. degree from the National Technical University of Athens (Mechanical Engineering, 1981), and the M.Sc. (with distinction) and Ph.D.
degrees in computational aerodynamics from Imperial
College, London (Aeronautics 1983, 1988). He is a member
of the Technical Chamber of Greece and the Greek Association of Computational Mechanics. His published work focuses on computer aided engineering of aircraft, industrial and power installations
as well as commercial product components. His current research interests include
CAD and rapid prototyping applications for product design and development.
Download