Int J Adv Manuf Technol (****) **:*** ***
DOI **.1007/s00170-008-1550-1
ORIGINAL ARTICLE
Parameterization of prismatic shapes and reconstruction
of free-form shapes in reverse engineering
Kunal Soni & Daniel Chen & Terence Lerch
Received: 20 June 2007 / Accepted: 28 April 2008 / Published online: 31 May 2008
# Springer-Verlag London Limited 2008
Abstract The objective of this study is to propose a 1 Introduction
method for reverse engineering prismatic and free-form
shapes. The primary focus is on feature-based parameter- Traditionally, many manufacturers have utilized CAD/
ization of digitized geometries so that they can be further CAM/CAE (computer-aided design/computer-assisted man-
used in downstream MCAD (mechanical computer-aided ufacturing/computer-aided engineering) as their means for
design) applications. The study takes advantage of a 3D product design and development. It begins in the virtual
body scanner for rapid digitizing purpose to acquire denser environment with a goal to produce better and more
point clouds with no more than three scans. Suggested are accurate products in the physical world. However, this is
five basic steps towards successful reverse engineering not quite true due to several factors that affect the seamless
prismatic and free-form shapes. They include acquisition of transition from the virtual to the physical environment.
a raw point cloud data, processing of raw data, mesh Often concepts are modeled in solid media such as clay,
generation, surface reconstruction, and feature-based pa- wax, plaster, wood, etc., and some of the free-form shapes
rameterization. In this study, three different sample parts that they represent are difficult to replicate using CAD
that include a mechanical nozzle, a hubcap, and a bucket software due to their complex geometries. CAD inter-
seat, were reverse engineered to demonstrate the proposed operatability is another major obstacle in data exchange and
methodology. This process was proven effective toward data integrity. All of this and many more issues are
reconstruction of free-form NURBS (non-uniform rational contributing factors that cause discrepancies between the
B-spline) surfaces. It also proved efficient towards feature- CAD master model and the actual tooling or as-built part.
based parameterization of prismatic shapes. Due to the lack of accurate feedback from the prototypes,
there is a gap between the digital and production models.
Keywords Reverse engineering . Point cloud . Digitizing . On the other hand, reverse engineering starts in the
NURBS . Mesh generation . Parameterization physical environment with the goal of producing highly
accurate digital models in the virtual environment that can
be further used by CAD/CAM/CAE applications [1].
Reverse engineering software extracts geometrical and
topological information from the digitized point cloud and
describes it to the user [2]. For example, when incremental
K. Soni design modifications are made to the physical model, such
Automotive Industry Solutions, Dassault Systems Services, LLC,
as change in curvature and new fender contour etc., reverse
900 N Squirrel Road, Suite 100,
engineering becomes a feedback loop for designers to
Auburn Hills, MI 48326, USA
evaluate changes proactively during the product design
D. Chen : T. Lerch cycle. However, during product optimization, where the
Department of Engineering & Technology, ET 100,
design changes are mostly iterative and based on engineer-
Central Michigan University,
ing analysis data, it becomes essential to have a history-
Mt. Pleasant, MI 48859, USA
based parametric model.
e-mail: abpjm7@r.postjobfree.com
Int J Adv Manuf Technol (2009) 41:948 959 949
Most software packages used in reverse engineering are in ASCII format. CATIA V5 Shape workbenches were used
not yet capable of automatic feature recognition, however, to reconstruct surfaces from the point cloud, and, the Part
this study demonstrates an efficient way of parameterization Design workbench was used to create feature-based
through feature extractions. The goal is to create a history- parametric solid models. If different software is used to
based parametric model [3] from the digitized point cloud. manipulate the digitized data, the reconstructed surfaces can
Although the approach towards a parametric model of be exported in IGES or STL file format to any parametric
prismatic and free-form shapes differs slightly from each CAD software to create a history-based model.
other, the general methodology as recommended below
remains unchanged:
2 Acquisition of raw point clouds
(1) Acquisition of raw point clouds using a non-contact
laser scanner such as a 3D body scanner.
When the scanner is properly calibrated, a single scan is
(2) Processing of the raw point cloud data.
sufficient for most objects where vertical view obstruction
(3) Mesh generation (or triangulation of points) and clean-
is minimum, in order to acquire a dense point cloud. As
up
seen in Fig. 2 of the nozzle there is no vertical view
(4) Surface reconstruction from NURBS (non-uniform
obstruction, hence the optical triangulation between the
rational B-spline) curves and/or surfaces.
charged-coupled device (CCD) camera [7], laser, and the
(5) Feature-based parameterization for relational design
nozzle successfully captures all the features in a single scan.
and change management.
The acquired data, as illustrated in Fig. 3, is in the form of a
The hardware used to acquire raw point clouds is raw point cloud that needs to be processed further to filter
VITUS/Smart 3D Body Scanner by Vitronic [4] as overlapping patches of points.
illustrated Fig. 1. It is a laser-based non-contact scanner While scanning some complex free-form shapes it could
that can digitize objects in 11 s. Although the finest take two to three scans in different orientations in order to
resolution achieved is 1 mm and it is not designed for capture all the features and curvatures, if a body scanner is
scanning cavities, a 3D body scanner can quickly acquire used. Figure 4 shows the bucket seat as scanned in its
dense point clouds (Table 1) with no more than three scans normal upright orientation. Due to the vertical view
for complex objects. The purpose of utilizing a 3D body obstructions caused by the hand rests and the lower lip,
scanner in this study was primarily for rapid digitizing. the concave bucket area of the seat was not digitized as
The acquired point cloud was exported from the Human illustrated by the raw point cloud image in Fig. 5. Hence,
Solutions software provided by Vitronic to CATIA V5 [5, 6] the seat had to be scanned two more times in two different
Fig. 1 VITUS/Smart 3D body
scanner
Int J Adv Manuf Technol (2009) 41:948 959
950
Table 1 Specification chart for 3D body scanner [4]
Overlapping points
Measurement system
in the region
Measurement principle Optical triangulation
with laser light stripe,
eye-safe
Measurement heads 8
Measurement range Height 2,040 mm
(elliptical volume) Depth 800 mm
Width 1,000 mm
Accuracy (Standard 0.1%
Deviation relative to
1,000-mm circumference)
Measurement time Adjustable, Typically
11 s
Measurement points: Horizontal 4,858 points
Vertical 550 points (11 s)
Width 2,560,800 points
Export formats Include ASCII, OBJ,
Fig. 3 Raw point cloud of nozzle
STL (ASCII and
binary), TRI, DXF,
Openinventor
3 Processing of raw point cloud data
The raw point cloud data contains as many numbers of
orientations in order to capture all the missing features and
patches as the CCD cameras involved in scanning. In this
contours.
case, the body scanner was equipped with eight CCD
Figure 6 depicts three different raw point cloud data of
cameras, hence each scan constitutes eight patches (spec-
the bucket seat, which was scanned in three different
ification chart in Table 1). Due to this fact, the acquired
orientations in order to capture all the features. Scan 1 was
data contains a great deal of noise and redundancy, which
able to digitize the back rest and the hand rests successfully,
results in enormous data sizes. For the ease of point cloud
but the bottom section was entirely missing. The seat was
re-oriented in order to digitize the front lip area, which is
represented by scan 2.A third scan was required to digitize
the concavity represented in scan 3. The file type used to
save all the digitized data was ASCII, and was later
exported to CATIA V5 Digitized Shape Editor workbench.
Fig. 2 Nozzle Fig. 4 Bucket seat
Int J Adv Manuf Technol (2009) 41:948 959 951
traps. The raw scanned data needs to be oriented about the
coordinated planes in case of multiple point clouds. This is
done in order to view the data in isometric and orthogonal
views as well as to make it easier while aligning multiple
clouds. Multiple clouds are superimposed over each other
using a cloud-to-cloud alignment tool. This technique of
aligning multiple data sets is also referred to as intelligent
registration [8, 9]. It is fully automated user-guided cloud
alignment based on curvature or volume. In order to have
an accurate alignment of the point clouds, two or more
clouds should include at least one common feature during
digitizing (Fig. 6). Some of the common features shared by
at least two raw point clouds include the seat-restraining
handle and the side handles. After a successful alignment,
all the clouds are merged to have a single unified point
cloud data set, as illustrated in Fig. 8, for the ease of
triangulation of points and other downstream processing.
The remaining noise and redundancy can be eliminated
by filtering or data-thinning tools. The raw point cloud can
be filtered in two ways, homogeneously or adaptively.
Homogeneous point removal thins the point cloud evenly,
Fig. 5 Partial point cloud of seat
whereas the adaptive option reduces the data points
according to curvature sampling based on chordal height
triangulation and further processing towards a parametric deviation analysis and voxel bining, i.e., removes points
model, the raw point cloud needs to be processed, while from planar regions but retains data in proximity of edges
keeping true to the original shape of the digitized object. and areas of high curvature, to maintain original accuracy
The flow chart in Fig. 7 represents the steps towards and detail [10].
successful processing of the raw point cloud data. Figure 9 illustrates the master model of the hubcap
Most reverse-engineering software have tools that can (Fig. 9a) that was scanned, its corresponding raw point
automatically detect and remove any outliers from the raw cloud, and the processed cloud data. Initially, the imported
point cloud. However, any unwanted cloud area such as the raw cloud had a total number of 78,714 points with an
podium or any support needs to be removed using selection ASCII file size of 1.65 megabytes; refer to Fig. 9b.
Fig. 6 Three raw point clouds
Scan 3: Concave detail
representing all the missing
features
Seat restraining handle
common in 2 & 3
Scan 2: Front lip
Scan 1: Back rest
and arm rests
Side handles
common in 1 & 2
Int J Adv Manuf Technol (2009) 41:948 959
952
Fig. 7 Raw point cloud
Raw data
processing
Removal of unwanted points
Planar Orientation
Single Cloud Orientation Multiple Clouds Orientation
Cloud Alignments
Cloud Union
Data Thinning
Homogeneous Filtering Adaptive Filtering
However, after clean up, the scan data was reduced to processed point cloud is most likely to have inconsistencies
15,061 with a file size of 500 kilobytes as illustrated in such as, non-manifold vertices and edges, redundant and
Fig. 9c. acute angled triangles, and triangles with inconsistent
orientation, etc. The noise over a mesh surface depends
on how clean the point cloud was prior to triangulation.
Similar to the raw point cloud data, the mesh needs to be
4 Mesh generation
cleaned up and refined. The flow chart in Fig. 10 illustrates
Mesh generation or triangulation of points is also referred the suggested steps towards mesh processing.
to as tessellation, and it is an automated process of The freshly generated raw mesh has a very high density
connecting the closest three points to form a triangle. This of triangles, as shown in Fig. 11a, which results in high data
is repeated until the entire point cloud is networked to form volume. Most software programs provide automated tools
an unambiguous, coherent, and consistent triangulated for mesh clean-up. Upon analysis, inconsistencies are
surface [11 13]. The initial mesh generated from the detected and removed automatically. Any remaining un-
wanted triangles can be interactively removed prior to gaps/
holes filling. Usually, after clean-up, the mesh will have
small gaps and holes as depicted in Fig. 11b that can be
filled either interactively or automatically depending on the
size of hole and curvature of the surface. Using surface
information or volumetric algorithms, holes are filled
automatically. There maybe some user input required such
as specifying hole-size and shape control parameters,
especially while filling holes over a curved surface as
shown in Fig. 11c. Sometimes re-meshing the existing
mesh also helps in closing large gaps.
Smoothing is the next step in refining the mesh as
illustrated in Fig. 12a. The reason for smoothing the mesh
is to be able to reconstruct surfaces of better quality and
higher accuracy. One method is by using automatic tools
that need user input and its effect is global. The second
method is by using a brush tool for interactively smoothing
local regions of the mesh. If the smoothing effect is too
strong, then there is the possibility of losing features with
sharp corners or smaller radii. Once smoothing is done, the
mesh needs to be refined by reducing the number of
Fig. 8 Point cloud union
Int J Adv Manuf Technol (2009) 41:948 959 953
Fig. 9 Hubcap in wood and its
corresponding point cloud data
(a) Hubcap master model (b) Point cloud at 1.65 MB (c) Point cloud at 500 KB
triangles, also called decimation, and, re-configuring the A preferable neutral file format for exporting the mesh is
STL . Depending on the quality and accuracy of the mesh,
orientation of the triangular fan depending on the edge
length of adjacent triangles which, is also referred to as the exported STL file can be used directly towards rapid
optimization [8, 13]. prototyping, CAM, and CAE that include finite element
Decimation is a process that works on curvature-based analysis and computer fluid dynamics analysis.
sampling, number of triangles over flat regions, or low
curvatures are reduced drastically while maintaining a high
triangular count over high curvature areas such as fillet 5 Surface reconstruction
radii illustrated in Fig. 12b. Optimizing the mesh usually
follows after decimating. It is a process of reorienting the Surfaces can be reconstructed from the mesh using three
adjacent edges of a triangular fan about a point to a user- distinct techniques: feature extraction, surface fitting, and
specified angle, also increasing or decreasing the edge networking of curves. These techniques can be used in
length of the triangles to a user-specified range. In doing so, combination or individually in reconstructing the surfaces
the triangular count may increase by a small percentage, of any sample part. When dealing with free-form shapes,
hence, optimizing and decimating the mesh can be used fitting NURBS surface patches to the segmented mesh is
iteratively by the user to achieve the desired accuracy and used primarily. Wherever applicable, a network of curves
add sharpness to the mesh as shown in Fig. 12c. and feature extraction are also used in combination towards a
complete surface reconstruction. For prismatic shapes,
feature extraction usually works the best. From mesh to a
fully reconstructed surface remains mostly a semi-automated
to somewhat interactive process, depending on the complex-
Mesh from Processed Point Cloud
ity of the part. However, there are very few software
programs that claim to have fully automated the process of
Mesh Clean-up (automatic removal of inconsistencies)
reverse engineering sample parts from their refined point
cloud through surface reconstruction.
Feature extraction works by intersecting planes with the
Filling Holes
mesh to create section curves which is later converted to
NURBS curves of degree 6 or above to give it a smoothing
Adaptive Hole Fill Interactive Triangles
effect. Mathematically, a NURBS curve [14] is represented
as
Smoothing
P
n
Ni;p u wi Pi
Global (automatic)/Local (interactive brush smoothing)
i 0
C u a u b
Pn
Ni;p u wi
Decimation
i 0
where C(u) is a vector-valued function of the independent
Optimization
variable u, the subscript p is the degree, Pi (i=0 n) are
the control points (forming control polygon), wi are the
Clean Mesh
weights on NURBS curve, and Ni,p(u) is the pth - degree
Fig. 10 Mesh processing
Int J Adv Manuf Technol (2009) 41:948 959
954
Fig. 11 Mesh generation
(a) Raw mesh in wire frame (b) After mesh clean-up (c) Hole filling
B-spline basis functions defined on the non-uniform knot method is a discreet algorithm based on the number of
vector sample points from the original curve and tries to minimize
8 9 the difference between these sample points and the
> >
U a; . . . ; a; u p 1 u m p 1 ; b; . . . ; b
> {z } {z } > a set of sample points, a set of pre-computed parameters are
: ;
p 1 p 1 chosen. Evaluating the curve at these parameters yields
control points Qi = C(ti) on the curve C(ti) [15, 16]. Then
Unless otherwise stated, it assumes a =0, b =1, and wi > 0
the algorithm works by determining the approximating
for all i.
curve C (ti) such that the following sum is minimized.
Re-positioning control point has a transitional effect on
the NURBS curve while, weight modification has a
X
m
Q'i Qi 2
perspective effect, where curve points in the affected
domain are pulled (or pushed) along a straight line that i 0
meets the control point corresponding to the weight being
where Q i represents control points on the approximating
modified.
curve C (ti). However, the user can assume the quality of
Usually, the NURBS curve deviates slightly from the
section curve in order to accommodate for the smoothing the NURBS curve and control the deviation within an input
effect. This is also referred to as curve approximation or tolerance. Every extracted curve represents a profile for a
curve fitting. NURBS curves are converted to NUBS (non- feature creation. Figure 13 illustrates a few steps towards
uniform B-spline) curves by setting the weights to 1, so the surface reconstruction of a hubcap that has a radial
curve can be represented as symmetry. Figure 13a shows a NURBS curve extracted
from the planar section that is used as a profile to create the
X
n
C u Ni;p u Pi revolved base feature shown in Fig. 13b. Likewise, other
i 0 feature curves are extracted and formed into a circular
pattern towards a finished hubcap in Fig. 13c.
The above NUBS curve is later approximated using least A network of curves works in a similar way as feature
squares curve approximation algorithm. The least-squares extraction except there are several planes parallel to each
Fig. 12 Smoothing, decimating,
and optimizing
(a) Smoothing (b) Decimated and optimized (c) Decimated and optimized
wire-frame view shaded view
Int J Adv Manuf Technol (2009) 41:948 959 955
Fig. 13 Reconstruction of a
hubcap using feature extraction
(a) Extracted NURBS curve (b) Revolved base feature (c) Created circular pattern
A B-spline surface of degree (p,q) [14] can be represented
other, in two directions, and intersecting a segment of the
mesh to form a network of several NURBS curves as as
depicted in Fig. 14a. These overlapping NURBS curves can XX
n m
S u; v Ni;p u Nj;q v Pi;j
be converted to a network of curves that act as a single unit.
i 0 j 0
Or, each of these curves can be treated as guides and
profiles to form a surface patch. For simple shapes, a single
network of curves over the entire mesh could be sufficient
Where the points Pi,,j form a control net and the B-splines
to reconstruct the surface geometry as shown in Fig. 14b.
However, more complex shapes may take several surface are defined over
8 9
patches from a network of curves, feature extraction and/or
> >
{z } {z } >
: ;
over a segmented mesh area as shown in Fig. 15a. NURBS p 1 p 1
8 9
> >
surface can be considered as a product of two NURBS {z } {z }>
: ;
and the basis function are the product of the basis functions
p 1 p 1
of the respective curves [15]. This leads to an isoparametric
curve in the v-direction for a fixed u, and in the u-direction The mesh has to be segmented either interactively or
for a fixed v. Implementing the least-squares method, automatically, depending on the capability of the software
NURBS surface can be approximated using NUBS surface. program used prior to surface fitting [17]. Interactive
Fig. 14 Network of curves
(a) Planar intersections (b) Networked NURBS surface patch
Int J Adv Manuf Technol (2009) 41:948 959
956
Fig. 15 Surface fitting
(a) NURBS surface fitting on a (b) G2 blend between two NURBS patches
segmented mesh area to maintain curvature continuity
segmentation essentially involves splitting the desired mesh the segmented mesh area. The edges of all the adjacent
area using selection traps. Once again, the user assumes patches must be kept consistent with their geometric
control over the quality of the surface patch by specifying continuities. Typically for free-form shapes, all the patches
the tolerance and degree of quadratic patch (order six or are continuous in curvature - G2 continuity, as illustrated in
above). Distance analysis can be performed on the fly to Fig. 15b, also concurrently is both positional and tangential
determine the range of deviation of the surface patch from continuous [14, 18]. Once the surface reconstruction is
Fig. 16 Parametric solid model
(a) Reference wire frame (b) Sketches-profiles, guides
(c) Lofted trunk d) Boolean add e) Boolean remove f) Final nozzle
Int J Adv Manuf Technol (2009) 41:948 959 957
process is described effectively. After the initial surface
reconstruction is accomplished, a wire frame is created by
intersecting orthogonal planes with the initial surfaces as
illustrated in Fig. 16a. This wire frame serves as a point of
reference to establish key dimensions and geometric
constraints for the sketches, Fig. 16b, of guide curves and
cross-section profiles of the lofted feature as illustrated in
Fig. 16c, and, the circular sketches for the Boolean add and
material removal operations for the main body as portrayed
in Figs. 16d, e. Finally, the dress-up features such as draft
angle, fillets, and shell are applied as shown in Fig. 16f.
The specification tree represented in Fig. 17 shows the
complete feature-based parameterization of the nozzle.
The tree structure of this parametric model is based on the
relationship between isolated bodies (Trunk, Base, etc.)
interacting through Boolean operations to produce an
intermediate result. These results are grouped under a
parent body (Main Body) to which dress-up features (fillets
and shell) are applied. Later, the Main Body interacts with
its parent body to produce the final part body (Nozzle).
This approach facilitates towards stable and robust design.
If changes are made to operations or features, only those
elements affected will be updated [19].
7 Discussions and recommendations
The recommendation towards the proposed methodology of
reverse-engineering process concerning the accuracy and
quality of the re-modeled part is: Once the point cloud
undergoes meshing, it is important for the user to perform a
distance analysis using software tools. The purpose is to
Fig. 17 Parametric history tree [19]
determine the deviation of the mesh from the digitized point
cloud as depicted in Fig. 18 that shows a statistical distribution
accomplished, it can be thickened to form a solid or in percentage deviation of mesh from point cloud. This will
exported as an IGES or STL file to other MCAD packages help the user in setting a target tolerance while refining the
for downstream applications.
6 Feature-based parameterization
This phase of the reverse-engineering process is suitable for
prismatic shapes where the extracted feature can be
parameterized. Having MCAD data can be useful towards
quick change management, creating formal 2D drawings
with GD&T information or, used further in design
optimization based on engineering analysis. All the
extracted curves are constrained geometrically and dimen-
sionally to be used as profile sketches for parametric feature
creations such as sweep, loft, extrude, revolve, etc. and
perform Boolean operations as well. In doing so, we re
building a history of creation that can be later used for
modifications. In the following images of the nozzle, this Fig. 18 Distance analysis of the mesh from the point cloud
Int J Adv Manuf Technol (2009) 41:948 959
958
Fig. 19 Distance analysis of
NURBS patch from the seg- NURBS patch
mented mesh
Mesh Segment
mesh. Similarly, when surfaces are being reconstructed, thermore, a methodology to re-create a history-based para-
distance analysis is recommended, as is shown in Fig. 19, metric model of prismatic shapes has been successfully
which shows a statistical distribution in percentage deviation established. This approach towards parameterization also has
of NURBS patch from mesh. However, setting a tolerance important advantages such as a relational design with
may not be as critical as the quality of the surface, especially associative geometry that would respond to changes quickly
in the case of free-form shapes. This is illustrated in Fig. 20, and, portability of the wire frame and sketches to any
which shows inflections on the NURBS patch represented in parametric CAD package. This can be a crucial step towards
Fig. 19. Hence, it is important to perform a surface-quality overcoming CAD inter-operatability issues especially when
check along with distance analysis in order to determine a CAD translators do not deliver a complete result.
good trade-off between surface quality and accuracy. Above The parameterization demonstrated in this study is
all, the goal is to maintain the integrity of the original shape. limited to prismatic shapes only. Further research is
required to overcome the challenge of parameterization of
free-form shapes. This is due to the fact that if almost all
free-form surface reconstruction constitutes of NURBS
8 Conclusions
curves and surfaces, it becomes very difficult to manipulate
This study successfully demonstrates the methodology imple- them through quick and precise dimensional changes.
mented towards reverse engineering prismatic and free-form Conceptually it could be possible to have a history-based
shapes from digitizing through surface reconstruction. Fur- parametric model of free-form shapes if the wire frame
Fig. 20 Surface curvature
analysis of the NURBS patch
NURBS Patch
in Fig. 19
Inflected region
Int J Adv Manuf Technol (2009) 41:948 959 959
consists of B-spline curves interpolated through coordinate 8. Rapidform, http://www.rapidform.com/57
9. Grimm T (2005) Reverse engineering: magic, mystique, and
points, instead of being manipulated by control points. This
myth. Deskt Eng 10(12):32 37
could lead to the creation of a relational design with an 10. Weir D, Milroy D, Bradley C, Vickers G (2000) Wrap-around
associative geometry that quickly responds to changes B-spline surface fitting to digitized data with applications to
reverse engineering. J Manuf Sci Eng 122(2):323 330 DOI
throughout its engineering lifecycle.
10.1115/1.538922
11. Gibson D (2004) Thesis: Parametric feature recognition and
surface construction from digital point cloud scans of mechanical
parts, University of Oklahoma, Norman, Oklahoma
References
12. Waterman P (2004) 3D data at work. Deskt Eng 9(11):P18 P23
13. Human Solutions (2002) ScanWorX - User's manual. Human
1. Fu P (2005) Revisiting reverse engineering. Manuf Eng 134(4):16 17 Solutions GmbH, Kaiserslautern, Germany
2. Fu P (2004) RE in the auto industry. Time-Compress Technol 12 14. Piegl L, Tiller W (1997) The NURBS book, 2nd edn. Springer,
(2):2 4 Berlin Heidelberg New York
3. Parametric and feature-based modeling, http://alum.wpi.edu/ 15. Wulamu A, Goetting M, Zeckzer D (2005) Approximation of
~gregm/thesis/node11.html NURBS curves and surfaces using adaptive equidistant parameter-
izations. 10(3):316 322
4. Vitronic VITUS/Smart 3D Body Scanner, http://www.vitronic.de/
en/bodyscannen/complete-body-scanning/ 16. Piegl L, Tiller W (2000) Surface approximation to scanned data.
Vis Comput 16(7):386 395
5. CATIA V5, http://www.3ds.com/products-solutions/plm-solutions/
catia/all-products/domain/Shape_Design_Styling/?no_cache=1& 17. Park S, Jun Y (2002) Automated segmentation of point data in a
cHash=a3439bc0a5 feature-based reverse engineering System. J Eng Manuf 216
(3):445 451
6. Kelley D (2006) CATIA design and engineering. SDC Publica-
tions, Mission, KS 18. Rogers D (2001) An introduction to NURBS with historical
7. Charge-Coupled Device Camera, SearchStorage.com Definitions, perspective. Morgan Kaufmann Publishers, San Francisco
http://searchstorage.techtarget.com/sDefinition/0,sid5_gci2 19. Novak J (2004) Designing for change and manufacturing with V5
95633,00.html R11 & R12. Design Application Solutions, Inc., Oakland, MI