Reverse Engineering for Additive Manufacturing Applications
• Reverse Engineering Technologies
• Reverse Engineering Workflow
• From Physical to Digital: Meshes and Solids
Reverse Engineering
Reverse engineering is a technology that allows a 3D CAD
model to be reconstructed from a physical object, based on
point data acquired from the object surface.
Reverse engineering is very useful when
• the design model of a product is created by an artist
• a product encounters frequent design changes
• the engineering drawing of a product is not available
Reverse Engineering Process
• Acquiring point data
from the surfaces of
a physical object
• Enhancing the condition
of the point data
• Generating a surface
model
Woo, H et al., A new segmentation method for point cloud data,
International Journal of Machine Tools and Manufacture, (2002)
Data Acquisition Methods
• Contact Measuring Devices
• Non-contact Measuring Devices
• Combination of aforementioned methods
Woo, H et al., A new segmentation method for point cloud data,
International Journal of Machine Tools and Manufacture, (2002)
Data Acquisition Methods
Data acquired can be classified
as either structured or
unstructured according to the
scanning device or method.
Enhancing the Condition of Point Data
It is difficult to obtain geometric
information (e.g., normals and
curvatures) of a part directly
from the point data. Therefore,
additional operation such as
surface fitting or polygonizing
are needed
Woo, H et al., A new segmentation method for point cloud data,
International Journal of Machine Tools and Manufacture, (2002)
Enhancing the Condition of Point Data
Scan path
Woo, H et al., A new segmentation method for point cloud data,
International Journal of Machine Tools and Manufacture, (2002)
N
n
m
N
N
N
P
i
i
m
P
P
P
i j
i j
i j
i j
,
,
,
,





1
Enhancing the Condition of Point Data
The normal value of point P is estimated from a group of edge-
pairs that uses the point P as one of their vertices
The calculated point normal is stored into a point data structure.
After finding normals for all point, registration is performed to
arrange point clouds into a single coordinate.
Woo, H et al., A new segmentation method for point cloud data,
International Journal of Machine Tools and Manufacture, (2002)
Enhancing the Condition of Point Data
The concept of voxel bin can be used to approximate a
geometric object. The smallest cube that contains all point
is created, and is further divided into smaller bins in
which the number of bins is predetermined or calculated
from the cube’s size. The point that is closet to the center
point of each bin will represent that bin.
For octree method, each cubical octant in the pyramidal
structure has eight daughters created by halving the parent
cell along the x, y, and z directions.
The octant that completely inside
or outside is kept or removed,
respectively while those that
contain a portion of the object
boundary continue to be
subdivided.
Enhancing the Condition of Point Data
Woo, H et al., A new segmentation method for point cloud data,
International Journal of Machine Tools and Manufacture, (2002)
Refinement process is required to better approximate the model.
For subdividsion of initial cells, the standard deviation of the point
normal values within each cell is used.
 
     
N
N
n
N N
n
x x y y z z
n
i
i
n
i
i
n
i i
i
n
i
i
n
i
n




    


 



 

0
2
0
2 2
0
2
0
0


Enhancing the Condition of Point Data
If the standard deviation is
larger than the user-defined
tolerance, the cell is subdivided
into eight daughter cells, and
empty cells are eliminated.
Woo, H et al., A new segmentation method for point cloud data,
International Journal of Machine Tools and Manufacture, (2002)
Acquired data should be arranged and divided into several
smooth regions before surface modeling.
Segmentation Methods
• Edge detection: attempts to detect discontinuities in
the surfaces that form the closed boundaries of the
components in the point data
• Region growing: attempts to detect continuous surfaces
that have homogeneity or similar properties.
• Hybrid : attempts to detect continuous surfaces before
detect discontinuities at the edges.
Enhancing the Condition of Point Data
Woo, H et al., A new segmentation method for point cloud data,
International Journal of Machine Tools and Manufacture, (2002)
Enhancing the Condition of Point Data
The sizes of the cells differ according
to the shape of the object. In highly
curved areas, many small cells are
generated whereas fewer cells are
needed in the relative planar areas.
Therefore, points in the curved areas
are extracted first by selecting small
size cells. Removal of these cells
automatically separates the point cloud
into several regions
Woo, H et al., A new segmentation method for point cloud data,
International Journal of Machine Tools and Manufacture, (2002)
Initial scan data Point normals
Initial cells Final cells
Enhancing the Condition of Point Data
Woo, H et al., A new segmentation method for point cloud data,
International Journal of Machine Tools and Manufacture, (2002)
Extracted edge points Edge points removed
Segmented point data Surface model
Enhancing the Condition of Point Data
Woo, H et al., A new segmentation method for point cloud data,
International Journal of Machine Tools and Manufacture, (2002)
Enhancing the Condition of Point Data
Data Reduction in Percentage
If an object has large planar or near planar regions, some
points in these regions should be removed for simplicity.
Determining the point candidate for removal
• Search all triangles that share the point concerned
• Let one of the surfaces normals be the reference, and
calculates all the normal differences
UV V U
UV V U
UV V U
n n
1 1
2 2
 
 
 
Enhancing the Condition of Point Data
•Transform all the resulting vectors to the first quadrant
• Sum all the resulting vectors
• Calculate the average quantity
UV a i b j c k
1
  
UV ai bj ck
1
  
w UV UV UVn
   
1 2
...
w
d
n

If d is small for a given point, it has a high chance of being
removed. The lowest x% determined by user will be removed.
Enhancing the Condition of Point Data
Data Reduction by Bounded Error
In this approach, several points in the patch are removed at the
same time
Suppose a patch has k facets and N points. The normals and
areas of the k facets are n1 to nk, and S1 to Sk, respectively
S Si
i
k



1
Enhancing the Condition of Point Data
n
S
S
n
n
n
n
i j k
i
i
i
k

   


1
 cos cos cos
  
A weighted patch direction
Based on the patch direction normal, a
minimum enclosing box of a patch can be
calculated.
Bounded error is measured along the patch direction normal
E D D User defined
p b a
   _
Enhancing the Condition of Point Data
To calculate the height of a box, a reference plane is defined,
which is perpendicular to the patch normal direction and passes
the origin point of the coordinate system.
The distances from all points to the reference plane can be
calculated
 
d p p p
D d d
D d d
bi ix iy iz
b b b
a a a
   
 
 
cos cos cos
max min
max min
  
STL file without data reduction STL file after 50% data reduction STL file with bounded error of 0.5mm
Enhancing the Condition of Point Data
(1)
(1)
(1)
(3)
(2)
(2)
Entire point cloud data of surface
CAD file
STL file
RP slice file
Adaptive scanning
layer
Maximum
scanning layer
Constant scanning
layer
(4)
Local point cloud
data of surface
Local point
cloud data
of surface
Interfacing Mode between RE-RP
Rianmora, S and Koomsap, P, Selective data acquisition for direct
integration of reverse engineering and rapid prototyping, Virtual
and Physical Prototyping, (2009).
Selective Data Acquisition
Rianmora, S and Koomsap, P, Selective data acquisition for direct
integration of reverse engineering and rapid prototyping, Virtual
and Physical Prototyping, (2009).
Concern for structured light system in selective
data acquisition
 Perspective distortion
Concern for selective data acquisition
A difficulty in identifying the surface’s
complexity from the intensity images
Structured Light System (SLS)
Projective Transformation
Transformed image
Edge image
Projected line
(c)
Clear edge profile
Feature with noises
Case: 2
(b)
(a)
Case:1
Selective Data Acquisition
Rianmora, S and Koomsap, P, Structured light system-based
selective data acquisition, Robotics and Computer-Integrated
Manufacturing, (2011).
SLS-Based Selective Data Acquisition System
The projection layout
Rianmora, S and Koomsap, P, Structured light system-based
selective data acquisition, Robotics and Computer-Integrated
Manufacturing, (2011).
Observer
Object (tiger)
Picture Surface
Depicted (tiger)
Perspective Distortion
SLS-Based Selective Data Acquisition System
Rianmora, S and Koomsap, P, Structured light system-based
selective data acquisition, Robotics and Computer-Integrated
Manufacturing, (2011).































z
y
x
h
h
h
h
h
h
h
h
h
z
y
x
33
32
31
23
22
21
13
12
11
'
'
'
Hp
p 
'
or
Transformation of the projected light
Projected line on object
surface
Extracted edge image of projected
line
Transformed edge image
The layer’s complexity analyzed from the transformed edge images of two consecutive line-segments
SLS-Based Selective Data Acquisition System
Rianmora, S and Koomsap, P, Structured light system-based
selective data acquisition, Robotics and Computer-Integrated
Manufacturing, (2011).
Front Right-Side Back Left-side
00 900 1800 2700
Project a single bright line onto object
surface at different side views
Extract edge image of the projected line
at the area of interest
Transform edge image by homography
Analyze layer’s complexity
Recommend the scanning positions
Acquire surface according to the
recommendations
Send contour points as commands to
fabricate a prototype in RP process
SLS-Based
Selective
Data
Acquisition
System
Rianmora, S and Koomsap, P, Structured light system-based
selective data acquisition, Robotics and Computer-Integrated
Manufacturing, (2011).
Features are presented
Features cannot be detected
Captured image of entire object
(a) Selective data acquisition
(b) SLS-based selective
data acquisition
Surface details are missed
Surface details are preserved
Visibility of surface features
SLS-Based Selective Data Acquisition System
Rianmora, S and Koomsap, P, Structured light system-based
selective data acquisition, Robotics and Computer-Integrated
Manufacturing, (2011).
Scanned positions analysis
Data acquisition
Contour points
RP process
Prototype
Recommended Scanning positions
Structured light system
Controlled environment
SLS-Based
Selective
Data
Acquisition
System
Rianmora, S and Koomsap, P, Structured light system-based
selective data acquisition, Robotics and Computer-Integrated
Manufacturing, (2011).
Enhanced
SLS-Based
Selective
Data
Acquisition
System
Nakthewan, K and Koomsap, P, Direct contour generation for
structured light system-based selective data acquisition, Virtual
and Physical Prototyping, (2013).

Reverse Engineering for additive manufacturing

  • 1.
    Reverse Engineering forAdditive Manufacturing Applications • Reverse Engineering Technologies • Reverse Engineering Workflow • From Physical to Digital: Meshes and Solids
  • 2.
    Reverse Engineering Reverse engineeringis a technology that allows a 3D CAD model to be reconstructed from a physical object, based on point data acquired from the object surface. Reverse engineering is very useful when • the design model of a product is created by an artist • a product encounters frequent design changes • the engineering drawing of a product is not available
  • 3.
    Reverse Engineering Process •Acquiring point data from the surfaces of a physical object • Enhancing the condition of the point data • Generating a surface model Woo, H et al., A new segmentation method for point cloud data, International Journal of Machine Tools and Manufacture, (2002)
  • 4.
    Data Acquisition Methods •Contact Measuring Devices • Non-contact Measuring Devices • Combination of aforementioned methods Woo, H et al., A new segmentation method for point cloud data, International Journal of Machine Tools and Manufacture, (2002)
  • 5.
  • 6.
    Data acquired canbe classified as either structured or unstructured according to the scanning device or method. Enhancing the Condition of Point Data It is difficult to obtain geometric information (e.g., normals and curvatures) of a part directly from the point data. Therefore, additional operation such as surface fitting or polygonizing are needed Woo, H et al., A new segmentation method for point cloud data, International Journal of Machine Tools and Manufacture, (2002)
  • 7.
    Enhancing the Conditionof Point Data Scan path Woo, H et al., A new segmentation method for point cloud data, International Journal of Machine Tools and Manufacture, (2002)
  • 8.
    N n m N N N P i i m P P P i j i j ij i j , , , ,      1 Enhancing the Condition of Point Data The normal value of point P is estimated from a group of edge- pairs that uses the point P as one of their vertices The calculated point normal is stored into a point data structure. After finding normals for all point, registration is performed to arrange point clouds into a single coordinate. Woo, H et al., A new segmentation method for point cloud data, International Journal of Machine Tools and Manufacture, (2002)
  • 9.
    Enhancing the Conditionof Point Data The concept of voxel bin can be used to approximate a geometric object. The smallest cube that contains all point is created, and is further divided into smaller bins in which the number of bins is predetermined or calculated from the cube’s size. The point that is closet to the center point of each bin will represent that bin.
  • 10.
    For octree method,each cubical octant in the pyramidal structure has eight daughters created by halving the parent cell along the x, y, and z directions. The octant that completely inside or outside is kept or removed, respectively while those that contain a portion of the object boundary continue to be subdivided. Enhancing the Condition of Point Data Woo, H et al., A new segmentation method for point cloud data, International Journal of Machine Tools and Manufacture, (2002)
  • 11.
    Refinement process isrequired to better approximate the model. For subdividsion of initial cells, the standard deviation of the point normal values within each cell is used.         N N n N N n x x y y z z n i i n i i n i i i n i i n i n                    0 2 0 2 2 0 2 0 0   Enhancing the Condition of Point Data If the standard deviation is larger than the user-defined tolerance, the cell is subdivided into eight daughter cells, and empty cells are eliminated. Woo, H et al., A new segmentation method for point cloud data, International Journal of Machine Tools and Manufacture, (2002)
  • 12.
    Acquired data shouldbe arranged and divided into several smooth regions before surface modeling. Segmentation Methods • Edge detection: attempts to detect discontinuities in the surfaces that form the closed boundaries of the components in the point data • Region growing: attempts to detect continuous surfaces that have homogeneity or similar properties. • Hybrid : attempts to detect continuous surfaces before detect discontinuities at the edges. Enhancing the Condition of Point Data Woo, H et al., A new segmentation method for point cloud data, International Journal of Machine Tools and Manufacture, (2002)
  • 13.
    Enhancing the Conditionof Point Data The sizes of the cells differ according to the shape of the object. In highly curved areas, many small cells are generated whereas fewer cells are needed in the relative planar areas. Therefore, points in the curved areas are extracted first by selecting small size cells. Removal of these cells automatically separates the point cloud into several regions Woo, H et al., A new segmentation method for point cloud data, International Journal of Machine Tools and Manufacture, (2002)
  • 14.
    Initial scan dataPoint normals Initial cells Final cells Enhancing the Condition of Point Data Woo, H et al., A new segmentation method for point cloud data, International Journal of Machine Tools and Manufacture, (2002)
  • 15.
    Extracted edge pointsEdge points removed Segmented point data Surface model Enhancing the Condition of Point Data Woo, H et al., A new segmentation method for point cloud data, International Journal of Machine Tools and Manufacture, (2002)
  • 16.
    Enhancing the Conditionof Point Data Data Reduction in Percentage If an object has large planar or near planar regions, some points in these regions should be removed for simplicity. Determining the point candidate for removal • Search all triangles that share the point concerned • Let one of the surfaces normals be the reference, and calculates all the normal differences UV V U UV V U UV V U n n 1 1 2 2      
  • 17.
    Enhancing the Conditionof Point Data •Transform all the resulting vectors to the first quadrant • Sum all the resulting vectors • Calculate the average quantity UV a i b j c k 1    UV ai bj ck 1    w UV UV UVn     1 2 ... w d n  If d is small for a given point, it has a high chance of being removed. The lowest x% determined by user will be removed.
  • 18.
    Enhancing the Conditionof Point Data Data Reduction by Bounded Error In this approach, several points in the patch are removed at the same time Suppose a patch has k facets and N points. The normals and areas of the k facets are n1 to nk, and S1 to Sk, respectively S Si i k    1
  • 19.
    Enhancing the Conditionof Point Data n S S n n n n i j k i i i k        1  cos cos cos    A weighted patch direction Based on the patch direction normal, a minimum enclosing box of a patch can be calculated. Bounded error is measured along the patch direction normal E D D User defined p b a    _
  • 20.
    Enhancing the Conditionof Point Data To calculate the height of a box, a reference plane is defined, which is perpendicular to the patch normal direction and passes the origin point of the coordinate system. The distances from all points to the reference plane can be calculated   d p p p D d d D d d bi ix iy iz b b b a a a         cos cos cos max min max min   
  • 21.
    STL file withoutdata reduction STL file after 50% data reduction STL file with bounded error of 0.5mm Enhancing the Condition of Point Data
  • 22.
    (1) (1) (1) (3) (2) (2) Entire point clouddata of surface CAD file STL file RP slice file Adaptive scanning layer Maximum scanning layer Constant scanning layer (4) Local point cloud data of surface Local point cloud data of surface Interfacing Mode between RE-RP Rianmora, S and Koomsap, P, Selective data acquisition for direct integration of reverse engineering and rapid prototyping, Virtual and Physical Prototyping, (2009).
  • 23.
    Selective Data Acquisition Rianmora,S and Koomsap, P, Selective data acquisition for direct integration of reverse engineering and rapid prototyping, Virtual and Physical Prototyping, (2009).
  • 24.
    Concern for structuredlight system in selective data acquisition  Perspective distortion Concern for selective data acquisition A difficulty in identifying the surface’s complexity from the intensity images Structured Light System (SLS) Projective Transformation Transformed image Edge image Projected line (c) Clear edge profile Feature with noises Case: 2 (b) (a) Case:1 Selective Data Acquisition Rianmora, S and Koomsap, P, Structured light system-based selective data acquisition, Robotics and Computer-Integrated Manufacturing, (2011).
  • 25.
    SLS-Based Selective DataAcquisition System The projection layout Rianmora, S and Koomsap, P, Structured light system-based selective data acquisition, Robotics and Computer-Integrated Manufacturing, (2011).
  • 26.
    Observer Object (tiger) Picture Surface Depicted(tiger) Perspective Distortion SLS-Based Selective Data Acquisition System Rianmora, S and Koomsap, P, Structured light system-based selective data acquisition, Robotics and Computer-Integrated Manufacturing, (2011).
  • 27.
                                   z y x h h h h h h h h h z y x 33 32 31 23 22 21 13 12 11 ' ' ' Hp p  ' or Transformation ofthe projected light Projected line on object surface Extracted edge image of projected line Transformed edge image The layer’s complexity analyzed from the transformed edge images of two consecutive line-segments SLS-Based Selective Data Acquisition System Rianmora, S and Koomsap, P, Structured light system-based selective data acquisition, Robotics and Computer-Integrated Manufacturing, (2011).
  • 28.
    Front Right-Side BackLeft-side 00 900 1800 2700 Project a single bright line onto object surface at different side views Extract edge image of the projected line at the area of interest Transform edge image by homography Analyze layer’s complexity Recommend the scanning positions Acquire surface according to the recommendations Send contour points as commands to fabricate a prototype in RP process SLS-Based Selective Data Acquisition System Rianmora, S and Koomsap, P, Structured light system-based selective data acquisition, Robotics and Computer-Integrated Manufacturing, (2011).
  • 29.
    Features are presented Featurescannot be detected Captured image of entire object (a) Selective data acquisition (b) SLS-based selective data acquisition Surface details are missed Surface details are preserved Visibility of surface features SLS-Based Selective Data Acquisition System Rianmora, S and Koomsap, P, Structured light system-based selective data acquisition, Robotics and Computer-Integrated Manufacturing, (2011).
  • 30.
    Scanned positions analysis Dataacquisition Contour points RP process Prototype Recommended Scanning positions Structured light system Controlled environment SLS-Based Selective Data Acquisition System Rianmora, S and Koomsap, P, Structured light system-based selective data acquisition, Robotics and Computer-Integrated Manufacturing, (2011).
  • 31.
    Enhanced SLS-Based Selective Data Acquisition System Nakthewan, K andKoomsap, P, Direct contour generation for structured light system-based selective data acquisition, Virtual and Physical Prototyping, (2013).