a layer-based virtual prototyping system for product development

20
A layer-based virtual prototyping system for product development S.H. Choi * , A.M.M. Chan Department 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

Upload: sh-choi

Post on 02-Jul-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: A layer-based virtual prototyping system for product development

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

Page 2: A layer-based virtual prototyping system for product development

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

Page 3: A layer-based virtual prototyping system for product development

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

Page 4: A layer-based virtual prototyping system for product development

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

Page 5: A layer-based virtual prototyping system for product development

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

Page 6: A layer-based virtual prototyping system for product development

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

Page 7: A layer-based virtual prototyping system for product development

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

Page 8: A layer-based virtual prototyping system for product development

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

Page 9: A layer-based virtual prototyping system for product development

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

Page 10: A layer-based virtual prototyping system for product development

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

Page 11: A layer-based virtual prototyping system for product development

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

Page 12: A layer-based virtual prototyping system for product development

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

Page 13: A layer-based virtual prototyping system for product development

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

Page 14: A layer-based virtual prototyping system for product development

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

Page 15: A layer-based virtual prototyping system for product development

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

Page 16: A layer-based virtual prototyping system for product development

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

Page 17: A layer-based virtual prototyping system for product development

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

Page 18: A layer-based virtual prototyping system for product development

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

Page 19: A layer-based virtual prototyping system for product development

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

Page 20: A layer-based virtual prototyping system for product development

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