A layer-based virtual prototyping system forproduct development
S.H. Choi*, A.M.M. ChanDepartment of Industrial and Manufacturing Systems Engineering, The University of Hong Kong,
Pokfulam Road, Hong Kong, Hong Kong, PR China
Received 14 May 2002; accepted 24 March 2003
Abstract
This paper proposes a layer-based virtual prototyping (VP) system, which builds virtual or digital prototypes to facilitate
product development. The approach resembles the physical fabrication process of laminated sheet-based rapid prototyping (RP)
systems. It simulates such an RP process to create a virtual prototype of a product design. Thus, the designer can perform design
validation and accuracy analysis easily in a virtual environment as if using a physical prototype. In addition to numeric
quantification of the RP process, the system provides vivid visualizations of the prototype for studying its characteristics. The
prototype may also be superimposed on the original model, and the areas with dimensional errors beyond the design limits
may be clearly highlighted for subsequent improvement. Hence, the designer can analyze and compare the surface texture point-
by-point of the prototype with the product design. Furthermore, the virtual prototypes can also be transmitted via the Internet to
customers to facilitate global manufacturing. As a result, both the lead-time and product development cost can be significantly
reduced.
# 2003 Elsevier Science B.V. All rights reserved.
Keywords: Virtual prototyping; Layer extrusion; Simulation and visualization
1. Introduction
1.1. Rapid prototyping
Rapid prototyping (RP) plays a useful role in pro-
duct development, starting from conceptual design to
final product verifications, such as aesthetic analysis,
ergonomic evaluation, functional testing, and process
planning, etc. This helps explore and solve potential
problems of a product design prior to actual pro-
duction. However, the current RP technology is
far from ideal. Indeed, much effort and expertise
are still needed to choose an appropriate combina-
tion of process parameters for optimal production of
prototypes.
Various RP systems [1,2] are now commercially
available. According to the materials used, RP systems
can be classified into three types, namely powder-,
resin- and laminated sheet-based. Powder-based RP
systems include the selective laser sintering (SLS) and
the 3D printing (3DP) processes that all use powder
material to make prototypes. Resin-based RP systems,
such as the stereo lithography apparatus (SLA), use a
liquid resin, which is solidified by exposure to a ultra-
violet laser beam. The laminated sheet-based systems
include the laminated object manufacturing (LOM)
Computers in Industry 51 (2003) 237–256
* Corresponding author. Tel.: þ852-2859-7054;
fax: þ852-2858-6535.
E-mail address: [email protected] (S.H. Choi).
0166-3615/$ – see front matter # 2003 Elsevier Science B.V. All rights reserved.
doi:10.1016/S0166-3615(03)00059-9
process, in which a prototype is fabricated from sheet
materials.
Despite the advantages, the current RP technology
is still plagued by some major problems, which under-
mine the accuracy and quality of prototypes. The
performance of an RP process is affected by a multi-
tude of process parameters. It is not an easy task to
choose an appropriate combination of these para-
meters for optimal fabrication of a prototype, which
depends on the quality requirements, such as accuracy,
build-time, strength and fabrication efficiency. How-
ever, the quality requirements vary from visual aids to
master patterns for secondary processes. Hence, a
significant degree of expertise is required to produce
prototypes of consistent quality. The process is of
a trial-and-error basis and is therefore both time-
consuming and very costly.
1.2. Virtual prototyping
Virtual prototyping (VP) may alleviate the short-
comings of RP and enhance its functions. It makes use
of a computer-generated digital prototype, in lieu of a
physical one, for the testing and evaluation of specific
characteristics of a product or a manufacturing pro-
cess. It is often carried out in a virtual reality (VR)
environment, which provides a stereoscopic and com-
pelling illusion of a model. The stereoscopic viewing
ability allows the designer to gain a ‘‘being there’’
feeling, as if a real object is being manipulated. This
provides the designer with a tool to perform a number
of what–if studies, and broadens the designer’s under-
standing of the product. Once the virtual prototyping
process is finished, the model can be physically fab-
ricated, or sent via the Internet to customers to solicit
comments. This reduces the number of physical itera-
tions and thereby the associated manufacturing over-
heads that leads to faster and cost-effective product
development. Since digital models are mostly used in
VP, there is no need to worry about the costs and
quality of physical prototypes.
Dedicated VP systems have been developed and
used by automobile and aerospace companies. Ressler
presented a summary of applications of virtual reality
in manufacturing projects [3]. The task performed at
the Boeing’s Huntsville laboratory is to model lunar
radiation effects, especially during a solar proton
event. The VR world developed allows the designer
to insert models to evaluate the dosage levels of
radiation based on their position. The work at Naval
Research Institute [4] focused on experiments in ship-
board fire fighting to verify the effectiveness of virtual
reality as a mission-planning tool, and VR was used as
a visualization tool in the preliminary design of new
naval ships. The engineers at Volkswagen employed
VR to accelerate their car design processes [5].
Research efforts have also been focused on studying
the change of the products under specific operating
conditions. Schulz et al. simulated the sheet metal
forming process to predict the distribution of residual
stress and thickness distribution of a stamping product
[6]. Bowyer et al. developed a desktop VP system for
milling operations [7], while Bickel developed a
virtual welding cell for die re-forging [8]. VP has
had a profound impact on the medical field too. It is
mainly used in training, surgical planning, and crea-
tion of digital human organs according to the patient’s
data for subsequent simulations [9]. Virtual organs are
created according to the patient’s data for subsequent
simulations. During surgical education, students can
‘fly’ inside and around the organs, which will respond
like real ones to operations. They can thus practice
surgery and other medical procedures. VP can also
simulate disasters, such as earthquakes and fire. Doc-
tors may be put into such imaginary environments to
practice their ability in handling emergency situations.
However, RP still plays a very useful role, despite
the advent of VP. One of its applications that cannot be
replaced by VP is tooling. For example, RP makes
master patterns for moulds and dies used in injection
moulding and investment casting. Fabricating these
tools rapidly facilitates speeding up the whole produc-
tion process. Therefore, it is of vital importance to
continue to improve RP. Indeed, the characteristics of
VR may help alleviate some major shortcomings of
RP. However, few researchers have exploited the
strengths of VR to facilitate RP. Gibson et al. inves-
tigated the contributions of VR and RP towards effi-
cient product development, with regard to ergonomic,
aesthetic and functional aspects of design [10]. They
suggested the use of VR as a complementary technol-
ogy to RP with an interface accommodated through a
CAD system. Morvan and Fadel linked VR with RP to
visualize the support structures of a part and to aid the
designer to identify improper support structures [11].
They discussed the translation issues related to head
238 S.H. Choi, A.M.M. Chan / Computers in Industry 51 (2003) 237–256
mounted display (HMD) and computer screen, and
further coupled RP with VR by developing the inter-
active virtual environment for correction of STL files
(IVECS) system. The system detects errors in STL
files and allows triangular facets to be added,
removed, reversed or offset. It allows the designers
to have their hands virtually on the STL models to fix
the errors. It also consists of tools that help the
designer to visualize the part in different modes.
Indeed, correcting a faulty STL file interactively is
tedious. Jee and Sachs developed a visual simulation
system for 3D printing [12]. However, their system is
aimed at developing a visual tool to examine surface
texture only.
To conclude, VP is well developed and used in
automobile and aerospace industries for replacement
of large and expensive physical mock-ups. However,
applications of VP to RP have been overlooked,
especially to studying the quality of the resulting
prototypes. Most research work generally employs
numerical values to represent the quality of the pro-
totypes. Thomson and Crawford estimated the volu-
metric error between the intended part and the layered
approximation [13]. Zhao and Laperriere quantified
the surface accuracy by the relative surface area
deviation between the successive slices [14]. Hur
and Lee evaluated the prototype accuracy in numerical
values by the projected staircase area and the cross-
sectional cusp area [15]. Although this process may be
interactively repeated to optimize the quality, there is a
lack of visualization of the prototype, which may
impair the decision making of the designer. Since
the numerical values indicate only the overall average
quality, detailed assessment of specific parts of the
prototype is very difficult.
1.3. A new approach to virtual prototyping
The author has recently developed a dexel-based
VP system to simulate and visualize an RP process to
fabricate product prototypes in a virtual environment
[16,17]. The system allows design validation and
parameter optimization of RP processes prior to phy-
sical fabrication. By providing clear visualization of
an RP process and the resultant virtual prototype, the
designer can analyze its quality more effectively and
take prompt action to improve both the RP process
and the product design. However, this system is aimed
at powder-based RP processes and is not entirely
appropriate for layer- or laminated sheet-based RP
processes, which are also very commonly used in RP.
This paper, therefore, proposes a virtual prototyping
system for laminated sheet- or layer-based RP pro-
cesses. The proposed system builds a virtual prototype
with layers of solid. This approach simulates the
characteristics of layer-based RP systems and fabri-
cates a virtual prototype that the RP machine will
subsequently deliver. The virtual prototype allows a
convenient tool for the designer to perform validation
of the product design and analyses of the dimensional
accuracy. The virtual prototype may be superimposed
on the original model to provide a clear visualization
for direct comparison of the product design and its
prototype. This is particularly useful in that the
designer can conveniently analyze and compare the
surface texture and the dimensional accuracy of the
prototype point-by-point with the product design.
Specific areas of the prototype where dimensional
deviations are beyond design limits can be easily
identified and highlighted for subsequent improve-
ment. With such a virtual prototype in the computer,
the product design can be scrutinized easily, and its
aesthetic and functional characteristics simulated and
analyzed accordingly. Furthermore, the virtual proto-
types can be transmitted via the Internet to customers
to facilitate global manufacturing. As a result, both the
lead-time and product development cost can be sig-
nificantly reduced. The following sections describe
the proposed approach and the implementation of the
VP system.
2. Layer-based virtual prototyping
Physical prototypes formed by layer-based RP pro-
cesses, such as laminated object manufacturing and
solid ground curing (SGC), can be regarded as being
made up of entire laminated sheets or layers of
material. The layer edges of such prototypes are
generally smooth, as compared to the staircases
between layers in the build-direction. To represent
this characteristic, a virtual prototype should be fab-
ricated with the layer-based approach in which fabri-
cation of an entire layer is simulated by extruding the
contours at a time. Although a solid modeler may be
used for creation of layers, its output cannot be
S.H. Choi, A.M.M. Chan / Computers in Industry 51 (2003) 237–256 239
effectively integrated with a VR graphics kernel for
stereoscopic visualization purposes. Therefore, a VP
system based on the software libraries of the VR
graphics kernel is developed to achieve stereoscopic
visualization of the resulting prototypes. Two graphics
problems, however, have to be solved to facilitate
layer extrusion for fabrication of virtual prototypes.
The first problem is to form voids inside a layer. In
fact, most commercial VR graphics kernels do not
support any subtraction functions. Consequently, it
would be very difficult to extrude the outermost con-
tour and then remove the solids formed by internal
contours to produce voids. The second problem is to
deal with the general constraints of VR graphics
kernels that cannot extrude contours exceeding a
limited number of points. However, layer contours
of most prototypes are complex and the number of
points would far exceed the limit. Hence, to solve
these two main problems in virtual fabrication of
prototypes, an insertion algorithm and a clipping
algorithm for processing complex layer contours are
developed. The following sections discuss some appli-
cations and the implementation of the proposed VP
system.
2.1. Virtual prototypes for design validation
Virtual prototypes facilitate design validation in the
early stage of product development. The designer can
have a clear representation of the product to examine
its aesthetic and structural features. If any problems
are identified, the design can be promptly improved
before it goes too far down the development cycle.
This is particularly important to help enhance the
competitiveness of the manufacturing industry, which
is faced with increasing pressure to satisfy demands
for small-batch production of different varieties of
customized products. In such situations, it would not
be economical to make a mould for small-batch
production. On the other hand, rapid prototyping
may be a convenient tool for direct production of
customized products, provided it can fabricate proto-
types of the required accuracy and of appropriate
materials. Indeed, some researchers have recognized
the significance and they have been working on the
techniques to produce metallic or functional proto-
types [18,19]. It is envisaged that when RP becomes
economical for direct manufacture of customized
products, it will be of profound importance to validate
the accuracy and quality of the prototypes before
committing to physical fabrication. Hence, the sig-
nificance of the proposed VP system will be further
highlighted.
2.2. Visualization of RP
The proposed VP system facilitates design valida-
tion through visualization of the RP process and the
resulting virtual prototype. Indeed, visualization also
helps the designer understand what will possibly
happen to a particular part of the prototype. It is
not common that all features in the model are required
for a specific analysis [20]. Therefore, the average
quality presented by numeric values is not enough to
fulfil the actual requirements. On the contrary, a clear
visualization of the prototype is particularly helpful
for making objective decisions.
2.3. Superimposition of original model on
virtual prototype
For this purpose, the proposed VP system can dis-
play the virtual prototype and the original model
simultaneously. These two images are superimposed
for direct comparison of the resulting prototype and
the product design. This allows point-by-point inves-
tigation of any discrepancy in the characteristics of the
prototype and the product design. For example, the
surface texture of the prototype can be easily studied,
and specific areas with dimensional errors beyond
tolerance limits may be clearly identified and high-
lighted for subsequent improvement.
2.4. Staircase effects and optimization of
process parameters
Layer-based RP machines fabricate prototypes
layer by layer. Hence, a prototype may be regarded
as a staircase approximation of the intended original
model. The staircase between two layers along the
build-direction affects adversely the surface texture
and the dimensional accuracy of the prototype. This
effect is directly related to the layer thickness. The
surface texture and the dimensional accuracy of a
prototype may be improved by reducing the layer
thickness. In fact, a curved surface can be accurately
240 S.H. Choi, A.M.M. Chan / Computers in Industry 51 (2003) 237–256
produced only if the layer thickness is infinitesimally
small. However, this will make the build-time imprac-
tically too long. Indeed, the quality and the build-time
of a prototype are significantly affected by some
major process parameters, particularly the orienta-
tion and the layer thickness. Therefore, an optimal
combination of process parameters must be carefully
chosen for efficient production of prototypes of the
required quality.
Visualization of RP will therefore be very useful to
help choose a proper set of process parameters for
optimal production of prototypes. The designer can
Fig. 1. Flow of the proposed layer-based VP system.
S.H. Choi, A.M.M. Chan / Computers in Industry 51 (2003) 237–256 241
clearly see the effects of changing the process para-
meters on the quality of the prototype. Subsequently,
an optimal set of process parameters may be chosen
quickly for efficient production of prototypes.
3. The proposed layer-based virtualprototyping system
The main objective of the proposed VP system is to
facilitate visualization and optimization of RP pro-
cesses, and thus to achieve faster product realization.
Based on a model of the product, the system simulates
the characteristics of an RP process to fabricate digital
prototypes of the product for subsequent analyses. The
operation of the proposed VP system consists of three
main steps: namely (1) creation of a model of the
product design; (2) virtual fabrication; and (3) visua-
lization and tuning of process parameters. Fig. 1 shows
the flow of the system.
3.1. Model of product design
Creating a model of the product is the first step to
provide the necessary information of the design, which
includes the geometry and the attributes of material and
color, etc. Mostly, a product may be designed in a CAD
package or digitized from an existing pattern, and then
converted to an STL model.
3.2. Virtual fabrication
Before performing virtual fabrication, preparation
work is carried out in different modules, including the
model viewer, the slicer, the contour processor and the
part fabricator. The model viewer reads an STL model
and displays it in the virtual world (VW) to allow the
designer to have an idea of the original model before
virtual fabrication. The slicer slices the STL model to
produce layer contours, while the contour processor
sorts and processes the contours for layer extrusion.
Subsequently, the part fabricator simulates the fabri-
cation process to form a virtual prototype. It allows the
designer to visualize the process by displaying the
simulation results, such as the surface quality, with
respect to the process parameters. Indeed, it is useful
to show the effect of different process parameters on
the prototype in real-time.
3.3. Visualization and tuning of process
parameters
Once the simulation process is completed, the
designer can manipulate the virtual prototype using
the utilities provided to visualize the quality of the
product prototype that the RP machine will subse-
quently deliver. The designer can navigate around the
internal and opaque structures of the prototype to
investigate the product design. Furthermore, super-
imposing the original model on its virtual prototype
may highlight dimensional deviations. The system
also calculates the maximum and the average cusp
heights that indicate the overall accuracy of the pro-
totype. To study the dimensional errors, a tolerance
limit may be set such that any locations with devia-
tions beyond the limit will be clearly highlighted. The
designer may thus identify and focus on the parts that
need modifications. To improve the accuracy and the
surface quality of specific features of the prototype,
the orientation of the model or the layer thickness may
be changed accordingly.
4. Implementation
The proposed VP system has been implemented
in Visual Cþþ with the WorldToolKit VR graphics
kernel. It includes the following main modules.
4.1. The model viewer
The model viewer displays the original model in
a VR environment created by the WorldToolKit. It
provides two modes for viewing, namely, the normal
mode and the stereo mode. The stereo mode is chosen
for stereoscopic viewing in virtual reality. The
system adopts a semi-immersive VP interface, which
requires only an emitter and a pair of CrystalEyes
shutter glasses. The designer wears a pair of shutter
glasses that generates a stereoscopic feeling by syn-
chronizing with the display device to switch on and
off the images to the left eye and the right eye
alternatively. This creates a depth perception and
therefore a ‘being there’ illusion. However, if stereo-
scopic viewing of the prototype is not required, the
normal mode can be chosen, and no emitter and
glasses are needed.
242 S.H. Choi, A.M.M. Chan / Computers in Industry 51 (2003) 237–256
4.2. The slicer
The slicer consists of an in-house uniform slicing
algorithm. The slicing algorithm slices an STL model
of the product design into a number of layers of a
predefined thickness. Slicing generates the contours of
a layer by determining the intersection points of the
slicing plane and the facets. The layer contours are
stored in a data file in common layer interface (CLI)
format, which will be further processed to produce the
virtual part. The designers can perform slicing with a
different layer thickness to suit the fabrication require-
ments. The layer contours are subsequently sorted for
virtual fabrication.
4.3. The contour processor
4.3.1. Sorting of layer contours
Contour sorting is the first job for the contour pro-
cessor. It identifies void-contours and solid-contours
in order to sort out the topological hierarchy relation-
ships of the contours for subsequent processing.
The contour processor first finds the parent-and-son
relationships of the contours in the same layer by the
‘ray-crossing or ray-shooting containment test’. These
contours are then grouped into different families based
on their relationship, as shown in Fig. 2. A family
refers to a group of contours, which consists of a
parent contour and a number of son contours. The
parent contour is a solid-contour representing the solid
in a layer, while its son contours are void-contours
representing the voids inside. When grouping is finis-
hed, the topological hierarchy information is gener-
ated to represent the relationships of the contours. The
contour data and the topological hierarchy relation-
ships are stored in a file for further processing.
4.3.2. Insertion of layer contours
As mentioned in Section 2, most commercially
available VR graphics kernels for creating the virtual
Fig. 2. Topological hierarchy relationship of contours.
S.H. Choi, A.M.M. Chan / Computers in Industry 51 (2003) 237–256 243
environment cannot handle complex layers with inter-
nal or void-contours. However, it is very common that
a product design may contain a lot of internal details,
and the layer contours may be very complex with lots
of voids. Therefore, to facilitate virtual fabrication,
it is necessary to connect the layer contours in an
appropriate manner for subsequent layer extrusion. To
achieve this, an insertion algorithm has been developed.
According to the topological hierarchy relationships, it
inserts all son contours to their parent contour in the
same family such that all the related son and parent
contours become a single polygon in an appropriate
sequence. Subsequently, extrusion of such a polygon
will generate a layer with voids formed correctly.
For the insertion, an imaginary line is added to join
the son contour with the parent contour, as shown in
Fig. 3a. The two imaginary lines, magnified in Fig. 3b,
are actually the same line having the same start-point
and end-point. These duplicated imaginary lines com-
plete the connection of the two contours. The solid-
contour points are listed in anti-clockwise sequence,
while the void-contour points are clockwise. In Fig. 3a,
suppose the parent and the son contour-points are
named as 1, 2, 3, 4 and a, b, c, d, respectively, the
final contour in Fig. 3b would have the new points
sequenced as 1, 2, 3, c, d, a, b, c, 3, 4. Thus, a void will be
correctly formed in the solid layer when the linked
contour is extruded, as shown in Fig. 3c. The same
insertion procedure is repeated until all the son contours
are inserted to form a single polygon, as shown in
Fig. 3d. The detail of the insertion algorithm is as
follows.
1. According to the sorted hierarchy relationship of
layer contours in the file, identify different
contour families and store them separately. Take
the first family that has void-contours to initiate
the insertion.
2. Take the solid-contour and a void-contour in the
family, and select the first point on the void-
contour as the start-point.
3. Find the nearest point, Pe, on the solid-contour to
the start-point.
4. Check whether Pe has been used for any previous
insertion. If yes, select another Pe that has the
next minimum distance to the starting point on
the void-contour. Repeat this step until an unused
Pe is found. This step is to prevent twisting of the
inserted imaginary lines.
5. Find the nearest point, Pi, on the void-contour to Pe.
6. Check whether the insertion line, PiPe, intersects
with any other void-contours or insertion lines in
Fig. 3. Principle of the insertion algorithm: (a) imaginary line connects internal contour to external one; (b) duplicated imaginary lines from a
complete solid-contour; (c) void formed inside the layer; (d) layer with two voids.
244 S.H. Choi, A.M.M. Chan / Computers in Industry 51 (2003) 237–256
the same family. If yes, select the next point on
the void-contour as the start-point and repeat
steps 3–6. This step is to prevent crossing of the
inserted imaginary lines.
7. Rearrange the sequence of points of the void-
contour with Pi as the start-point and the end-
point.
8. Insert the rearranged void-contour into the solid-
contour at Pe.
9. After insertion, delete the void-contour and store
the new solid-contour for further processing or
for another insertion. If there is another void-
contour in the family, repeat steps 2–9.
10. Store the new solid-contour for further processing.
If there is another family having void-contours,
repeat steps 2–10.
Fig. 4a shows a layer of a gearbox housing to
illustrate this algorithm. There are in total eight
contours, which can be grouped into four families.
Family 1 consists of contours C1, C2, C3 and C4. This
is listed as the first family in the MLI file as its
bounding box has the minimum x-coordinate. Hence,
insertion of void-contours begins with family 1. As
families 3 and 2 do not have any void-contour, the next
family to be processed is family 4. Since family 4 is
simpler, it is used to show how the above algorithm
works. Fig. 4b shows the points of C7 and C8, with M
and N being their first points, respectively. The nearest
point, Pe, to N on C7 is first found. Now check whether
Pe has been used for any previous insertion. Being the
first insertion, Pe cannot have been used before in any
previous insertions in the same family.
Fig. 4. A slice of a gearbox housing: (a) contour families; (b) insertion of imaginary line in family 4.
S.H. Choi, A.M.M. Chan / Computers in Industry 51 (2003) 237–256 245
The nearest point Pi to Pe on C8 is then found. In this
case, Pi is N. After an insertion line, PiPe, is found,
checking is carried out. As there are no other void-
contours, the line does not intersect with any other
void-contours or insertion lines in the same family,
and rearrangement is done to prepare the insertion.
To summarize, the main part of the insertion algo-
rithm is to qualify and insert an imaginary line, PiPe.
When it is found, the points on C8 are rearranged with
Pi as the start-point and the end-point. C7 is broken at
Pe and points on C8 are inserted. C8 is then deleted
with a new C7 left for further processing.
For family 1, there are in total three void-contours,
as shown in Fig. 5a. Thus, three insertions are needed
to insert the void-contours one-by-one. Insertion starts
from C3, C2 and then C4. For each insertion, the above
steps are repeated. Fig. 5b shows the new C1 after all
void-contours are inserted.
4.3.3. Clipping of layer polygon
After insertion, the contour may be extruded if
it consists of less than 256 points. This is the max-
imum limit of points of a polygon that most VR
graphics kernels, including the WorldToolKit, can
handle. However, most product designs are not sim-
ple. Therefore, the layer contours, particularly those
formed after insertion of void-contours, generally
well exceed 256 points. Consequently, a complex
Fig. 5. Contour families and insertion of void-contours into solid-contour: (a) contours in family 1; (b) contours in family 1 become a single
solid-contour after insertion of imaginary lines.
246 S.H. Choi, A.M.M. Chan / Computers in Industry 51 (2003) 237–256
layer contour cannot be correctly extruded if its
number of points exceeds this limit. Therefore, it is
necessary to break down a complex layer contour into
a number of simple ones, each consisting of less than
256 points. Hence, a clipping algorithm is developed
for this purpose.
The basic idea of the clipping algorithm is to find
out an appropriate clip line to cut out at most 250
points from the layer contour at a time. The points cut
out each time will form an individual simple polygon
for extrusion. A layer will be properly formed after
extruding all these individual polygons. To cut the
layer contour to form a simple polygon correctly, a
clip line must satisfy two criteria: namely (1) it must
not be located in the non-solid part of the contour
and (2) it must not intersect with any line segments
of the layer polygon, except the line joining its two
end-points. The detail of the clipping algorithm is
given as follows.
1. Take the last point and the last 250th point of a
contour as the start-point and the end-point,
respectively, to form a clip line.
2. Apply a containment test to check whether the
mid-point of the clip line is located in the solid
area of the contour. If it is not, rearrange the
contour to shift the points and go back to step 1.
3. Check whether the clip line intersects with the
contour. If it does: (i) select the point on the
contour that follows the end-point of the clip line
to be a new end-point (i.e. suppose the last 250th
point being the end-point of the clip line, the new
end-point will be the last 249th point); (ii) form a
new clip line with this point and the same start-
point; and (iii) go back to step 2 to carry out a
containment test again.
4. Divide the contour into two pieces, namely, the cut-
off contour and the remaining contour, along the
clip line. The cut-off contour is formed by joining
the points anti-clockwise from the start-point of the
clip line, followed by its end-point and then the
contour points, while the rest of the contour points
form the remaining contour. Extrude the cut-off
contour to generate a part of the layer.
5. Count the number of points of the remaining
contour and process it for further clipping, if
necessary, i.e. if it consists of more than 256
points, repeat steps 1–5.
6. Extrude the remaining contour to complete the
layer.
This algorithm can be illustrated using the previous
example again. Family 1 is the first family of contours
to be extruded. With a total of 1186 points, it is
necessary to cut it into at least five polygons for proper
extrusion of the layer. Fig. 6a shows the first clip line,
which is joined by the last point and the last 250th
point on the contour. A containment test is carried out
to find that the mid-point is located in the non-solid
area of the layer, and rearrangement of the contour
points is done to shift the last point.
If the clip line fails the containment test, the contour
points are rearranged. A clip line, as shown in Fig. 6b,
passes the test by shifting the start-point from P1 to P3
and the end-point from P2 to P4. However, this clip line
is found to intersect with the contour. Hence, the 249th
point is selected as the end-point and a new clip line is
formed. The two tests are done again on this line. The
clip line passes only the containment test but fails
intersection test, so replacement of the end-point
continues until a qualified clip line that passes both
tests is found.
When a qualified clip line is found, the complex
contour is cut into two pieces along the clip line. The
cut-out contour, which is less than 250 points, is
extruded to form part of the layer. Clipping is repeated
on the remaining contour, in Fig. 6c, as it has 939 points.
Following the above procedures, the complex contour is
cut into pieces until the remaining contour has no more
than 256 points. Fig. 6d–f show the remaining contours
after each time a short contour is clipped. At last, the
contours in family 1 are broken down into five pieces.
The next solid-contours for extrusion are in the order
of C6, C5 and C7. Both C6 and C5 originally have less
more than 256 points, while C7 has only 129 points after
insertion. Thus, it is not necessary to apply the clipping
algorithm on these three contours. Subsequently, a
complete layer isvirtuallyfabricatedinshowninFig.6g.
4.4. The part fabricator
The part fabricator is based on the layer contour
generated by the contour processor to extrude a layer,
which subsequently builds up the virtual prototype.
In order to enhance computational efficiency, the
contour processor and the part fabricator may work
S.H. Choi, A.M.M. Chan / Computers in Industry 51 (2003) 237–256 247
concurrently until the virtual fabrication finishes.
After each layer polygon is extruded to form a solid
layer, the computer memory occupied is immediately
freed for the next layer, and the contour processor
starts to process a new layer contour again. When the
virtual prototype is completed, it is displayed and/or
superimposed on the original model for visual inspec-
tion. Similar to using the model viewer, the designer
may choose the stereo mode for realistic visualization
of the prototype in a virtual reality environment.
Fig. 6. Example to illustrate the clipping algorithm: (a) first clip line; (b) clip line that passes only the containment test but intersects with the
contour; (c) result of the first clipping; (d) remaining contour after the second clipping; (e) remaining contour after the third clipping; (f) the
last contour; (g) a complete layer.
248 S.H. Choi, A.M.M. Chan / Computers in Industry 51 (2003) 237–256
5. Case studies
Virtual prototypes of three products of different
characteristics were fabricated to demonstrate the
applications of the proposed VP system.
5.1. A toy camel
A toy camel, which is a common product in the
toy industry, was chosen to illustrate the use of
the VP system for the study of dimensional devia-
tions between a product design and its prototype.
For clarification purposes, parameters that produce
relatively rough texture were adopted for the virtual
fabrications. Fig. 7a and b show its STL model and the
virtual prototype fabricated in the first iteration,
respectively. From the surface pattern of the prototype,
the build-direction was easily identified. These
two models were then superimposed on each other,
as shown in Fig. 7c. To assess the surface quality, the
deviation tolerance was defined as 0.040 mm. It can be
seen that the quality of the body was good, while
that of the head and the legs were less desirable.
To improve the quality of these parts, a different
build-direction was tried. Fig. 8a shows the prototype
obtained in the second fabrication. The same tolerance
Fig. 7. Camel and its first prototype: (a) camel in STL format; (b) camel prototype; (c) dimensional deviations of camel prototype.
S.H. Choi, A.M.M. Chan / Computers in Industry 51 (2003) 237–256 249
limit for dimensional deviations was again defined,
and those areas having cusp heights beyond this
limit are shown in Fig. 8b. It can be noticed that
the accuracy of the legs had significant improvement
because there were few pins pointing at the legs.
Nevertheless, the head of the camel still suffered from
serious deviations.
If this prototype is used to test whether the camel
may fit into another component, then this prototype
may be good enough to serve this purpose because the
deviations at the head are not particularly important.
Hence, the process parameters may be adopted
for subsequent fabrication of physical prototypes.
With the provision of stereoscopic visualization, the
designer may decide easily whether the prototype has
served a specific purpose. On the other hand, if it is
deemed necessary to further improve the quality of the
prototype, the process parameters can be tuned to
perform another fabrication. Fig. 9 shows a virtual
prototype obtained in the third iteration. Since the
layer thickness was reduced to 0.045 mm, the accu-
racy of the prototype was further improved and the
number of the pins located at the head of the camel
decreased. Obviously, efficient fabrication of proto-
types is an optimal compromise of the quality and
fabrication time.
Fig. 8. (a) Camel prototype fabricated in the second iteration; (b) unacceptable deviations of camel prototype.
250 S.H. Choi, A.M.M. Chan / Computers in Industry 51 (2003) 237–256
5.2. A jug
The second example was a jug, as shown in Fig. 10a.
It was sliced into layers of 0.12 mm thickness with the
offset approach. The virtual prototype is shown in
Fig. 10b. Though it can be seen that the layers of the
prototype were smooth, there were staircase steps in
the build-direction, indicating the characteristics of
the layer-based RP processes. For direct comparison,
the jug was superimposed on its prototype, as shown
in Fig. 10c. It can be seen that the quality of the
jug body was quite good, while the dimensional devia-
tions on the mouth and the handle of the jug were
comparatively large. The average and the maximum
cusp heights of this model were calculated as 0.065
and 0.120 mm, respectively, where those facets having
deviations more than 0.100 mm were pinpointed in
Fig. 11a. Obviously, most of the pins pointed at the
mouth and the handle, as expected. Indeed, the bottom
of the jug also suffered from unacceptable deviations,
which, however, could be ignored because the appear-
ance of the jug would not be adversely affected.
Hence, improvement should be focused on the upper
part of the jug. Here, the layer thickness was reduced
to 0.10 mm. Fig. 11b shows the cusp heights calcu-
lated in the second fabrication. The maximum cusp
Fig. 9. Camel prototype fabricated in the third iteration.
S.H. Choi, A.M.M. Chan / Computers in Industry 51 (2003) 237–256 251
height was less than 0.100 mm this time, implying all
the undesirable deviations were eliminated.
5.3. A hand skeleton
A more complex model of a hand skeleton, as
shown in Fig. 12a, was chosen to demonstrate a
possible application of the VP system in the medical
field. In surgery, for example, a patient’s hand was
scanned to produce a prototype so that doctors
may study the injury or deformity more clearly.
Suppose a prosthesis has to be put into the patient’s
hand. Visualization of the virtual prototype and the
simulated results will be helpful for doctors to
Fig. 10. A jug and its prototype: (a) STL model; (b) virtual prototype; (c) superimposition of the jug on its prototype for direct comparison.
252 S.H. Choi, A.M.M. Chan / Computers in Industry 51 (2003) 237–256
choose a prosthesis that will best fit to minimize the
possibility of mismatch. Fig. 12b shows the hand
skeleton superimposed on its virtual prototype. It
can be seen that the excessive material was evenly
distributed, and the average and maximum cusp
heights were 0.946 and 1.866 mm, respectively.
Fig. 13 highlights those deviations that exceeded
1.854 mm. It seemed that there was a considerable
amount of unacceptable deviations. However, as the
total number of facets of the hand model was over
110,000, the highlighted deviations represented only
a very small part of the prototype. It appeared that
most of the deviations were located at the back of the
hand. Since the main part of the hand for surgery was
the middle finger, this prototype might be deemed
satisfactory and physical fabrication could be carried
out using the process parameters. In general, it may
not be necessary to aim at producing a perfect
prototype. Instead, an optimal prototype with good
accuracy in selected areas will be more practical and
economical.
6. Further development of the VP system
The proposed system is primarily aimed for simu-
lation and visualization of layer-based RP processes.
It will be integrated with the recent work of the
authors [16,17] to form an integral VP system to
cover both powder- and layered-based RP processes,
which are most commonly used for product develop-
ment.
For RP processes that employ heat to bind lami-
nated sheets, the subsequent prototypes tend to shrink
after cooling, resulting in dimensional deviations and
geometric distortion of a physical prototype. Warpage
is another kind of inaccuracy caused by uneven dis-
tributions of heat energy and the resultant binding
force. These dimensional errors vary with the geome-
try of the prototypes and the characteristics of the RP
processes. Indeed, to predict the effects of shrinkage
and warpage may require complex thermodynamics
and binding force models, which are not yet available.
Hence, for the time being, the VP system builds a
Fig. 11. Comparison of the dimensional deviations of two jug prototypes: (a) first jug prototype; (b) second jug prototype.
S.H. Choi, A.M.M. Chan / Computers in Industry 51 (2003) 237–256 253
virtual prototype without taking shrinkage and war-
page effects into account. However, when appropriate
thermodynamics and binding force models become
available, they may be incorporated into the VP
system for estimation of heat density and binding
force distribution between the layers. Subsequently,
the VP system will be able to predict the dimensional
changes due to shrinkage and warpage effects. It
would then be possible to modify the model design
to compensate for these effects, and consequently,
fabrication of high precision prototypes would become
possible.
Fig. 12. Hand skeleton: (a) STL model of hand skeleton; (b) superimposition of hand skeleton on its virtual prototype.
254 S.H. Choi, A.M.M. Chan / Computers in Industry 51 (2003) 237–256
7. Conclusion
A layer-based virtual prototyping system is pro-
posed in this paper for simulation and visualization of
the laminated sheet-based RP processes. It reads in an
STL model and builds a virtual prototype layer-by-
layer. The virtual prototype may realistically repre-
sent the characteristics of the prototype for analysis of
the product design. It may be superimposed on the
original model in a virtual reality environment for
analysis of dimensional deviations. By providing
realistic visualization as well as numeric quantifica-
tion of the simulation results, the designer can effec-
tively explore the potential problems of the product
design and the prototypes that the RP machines will
subsequently fabricate. The process parameters can
thus be optimized before physical fabrication.
Furthermore, virtual prototypes may be transmitted
via the Internet to customers to solicit design
improvements. Overall, the VP system facilitates
design validation in product development, and helps
reduce the number of physical prototypes. As a result,
both the lead-time and product development cost can
be significantly reduced.
Fig. 13. Distribution of unacceptable dimensional deviations of hand prototype.
S.H. Choi, A.M.M. Chan / Computers in Industry 51 (2003) 237–256 255
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] D.T. Pham, R.S. Gault, A comparison of rapid prototyping
technologies, International Journal of Machine Tools and
Manufacture 38 (1998) 1257–1287.
[2] X. Yan, P. Gu, A review of rapid prototyping technologies
and systems, Computer-Aided Design 28 (4) (1996) 307–318.
[3] S. Ressler, Applying virtual environments to manufacturing,
NISTIR, 5343, 1995.
[4] Rosemblem, Shipboard VR: from damage control to design,
Naval Research Laboratory, IEEE Computer Graphic Appli-
cations November (1996) 10–13.
[5] F. Purchke, R. Rabatje, M. Schulze, A. Starke, M. Symietz, P.
Zimmermman, Virtual reality (VR)—new methods for
improving and accelerating vehicle development, in: Virtual
Reality for Industrial Applications, Springer, Berlin, 1998,
pp. 105–121.
[6] M. Schulz, T. Reuding, T. Ertl, Analysing engineering
simulations in virtual environment, IEEE Computer Graphics
and Applications November–December (1998) 46–52.
[7] A. Bowyer, G. Bayliss, R. Taylor, P. Willis, A virtual factory,
International Journal of Shape Modelling 2 (4) (1996) 215–
226.
[8] D. Bickel, 3D real-time simulation and VR-tools in the
manufacturing industry, in: Virtual Reality for Industrial
Applications, Springer, Berlin, 1998, pp. 123–138.
[9] R. Zajtchuk, R. Satava, Medical applications of virtual
reality, Communications of the ACM 40 (9) (1997) 63–64.
[10] I. Gibson, D. Brown, S. Cobb, R. Eastgate, Virtual reality and
rapid prototyping, in: Proceedings of IEE Workshop
on Virtual Reality in Engineering, September 1993, pp. 51–
63.
[11] S.M. Morvan, G.M. Fadel, IVCES, interactive correction of
STL files in a virtual environment, Solid Freeform Fabrication
Symposium (1996) 491–498.
[12] H.J. Jee, E. Sachs, Visually simulated surface texture models
for 3D printing, in: Proceedings of the 7th European
Conference on Rapid Prototyping and Manufacturing, 1998,
pp. 49–62.
[13] D.C. Thomson, R.H. Crawford, Optimising part quality with
orientation, Solid Freeform Fabrication Symposium (1995)
362–368.
[14] Z. Zhao, L. Laperriere, Adaptive direct slicing of the solid
model for rapid prototyping, in: Proceedings of the First
Conference on Rapid Prototyping and Manufacturing ’98,
Beijing, 1998, pp. 470–474.
[15] J. Hur, K. Lee, The development of a CAD environment to
determine the preferred build-up direction for layered
manufacturing, The International Journal of Advanced
Manufacturing Technology 14 (4) (1998) 247–254.
[16] S.H. Choi, S. Samavedam, Modelling and optimisation of
rapid prototyping, Computers in Industry 47 (1) (2002) 39–53.
[17] S.H. Choi, A.M.M. Chan, A dexel-based virtual prototyping
system for product development, Rapid Prototyping Journal 8
(5) (2002) 300–314.
[18] M. Greul, T. Pintat, M. Greulich, Rapid prototyping of
functional metallic parts, Computers in Industry 28 (1) (1995)
23–28.
[19] J.Y. Jeng, S.C. Peng, C.J. Chou, Metal rapid prototype
fabrication using selective laser cladding technology, The
International Journal of Advanced Manufacturing Technology
16 (9) (2000) 681–687.
[20] R. Gadh, R. Sonthi, Geometric shape abstractions for
Internet-based virtual prototyping, Computer-Aided Design
30 (6) (1998) 473–486.
S.H. Choi is associate professor in the
IMSE Department at the University of
Hong Kong. He obtained both his BSc
and PhD 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 manufac-
turing systems and virtual prototyping
technology.
A.M.M. Chan got her BEng degree
from the IMSE Department at the
University of Hong Kong. She contin-
ued her postgraduate research study in
the Department, and her research inter-
est is in virtual prototyping technology.
256 S.H. Choi, A.M.M. Chan / Computers in Industry 51 (2003) 237–256