Geometric Algorithms for Layered Manufacturing: Part II

advertisement
Geometric Algorithms for
Layered Manufacturing: Part II
Ravi Janardan
Department of Computer Science & Engg.
University of Minnesota, Twin Cities
Research Collaborators: P. Castillo, P. Gupta, M. Hon, I. Ilinkin,
E. Johnson, J. Majhi, R. Sriram, M. Smid, and J. Schwerdt
Rapid Physical Prototyping
 “3D printing” technology that creates physical
prototypes of 3D solids from their digital models
 Used in the automotive, aerospace, medical
industries, etc., to speed up the design cycle
Model Acquisition
•CAD Software
•CT Scans
•Laser Scanning
•3D Photography
Computer-Aided
Process Planning
•File repair
•Model orientation
•Slicing
•Support creation
LAN or
Interne
t
Model Building
via
Layered
Manufacturing
Postprocessing
•Remove supports
•Improve finish
•Inspect model
Layered Manufacturing
 Builds 3D models as a stack of 2D layers
Stereolithography
Geometric Considerations
 The choice of build direction affects quality and
performance measures
number of layers
contact-area of supports
volume of supports
surface finish
Overview of Recent LM Research
(http://www.cs.umn.edu/~janardan/layered)
 Geometric algorithms for
o minimizing surface roughness
o minimizing # of layers
o protecting critical facets
o minimizing support requirements
and trapped area in 2D
 Exact/approx. geometric algorithms for tool path
planning (“polygon hatching”)
 Decomposition-based approach to LM
 Algorithms to approximate the optimal support
requirements
Problem 1
Decomposition-Based Approach
 Decompose the model with a plane into a small
number of pieces
 Build the pieces separately
 Glue the pieces back together
Polyhedral Decomposition
 Decompose a polyhedron P into K pieces with a
plane H normal to a given direction d
d
P+
-d
P-
H
 Goal: Minimize volume of supports or contact area
when the pieces are built in directions d and -d
Minimizing Contact-Area (CA) for
Convex Polyhedra
 CA depends on height of H and orientation of facets
• e.g. back facet f (nf • d < 0)
d
d
nf
nf
nf
-d
-d
CAf = area(f)
CAf = ah2+bh+c
CAf = 0
Overall Algorithm
 sweep-based algorithm
•
initialize (sort vertices, set CA term)
•
general step at vertex v (update CA term)
•
minimize new CA term
Overall Algorithm (cont’d)
 General step details — update CA term
sub: area(f)
add: a0h2+b0h+c0
sub: a0h2+b0h+c0 sub: a1h2+b1h+c1
add: a1h2+b1h+c1
 Minimize Ah2 + Bh + C
 Run-time: O(n log n), space: O(n).
Experimental Results
 random points on a rotated
“ice-cream” cone
#verts
angle
20,001
40,001
60,001
80,001
100,001
37
75
112
150
187
decomp.
non-decomp. hmin run-time
contact-area contact-area
(secs.)
11,705
57,112
2.3
.6
3,974
52,006
.7
1.3
5,316
55,068
-.5
2.0
10,109
51,826
-1.5
2.8
3,448
59,820
-3.6
3.6
Non-convex Polyhedra
 the structure of supports is more complex
convex
non-convex
Black/Gray Triangles
 partition each front and each back facet into two
classes of triangles:
black tri. — always in contact with supports
gray tri. — contact with supports depends
on the position of H
Computing Black/Gray Triangles
 Compute supports for undecomposed polyhedron
using cylindrical decomposition
Overall Algorithm
 compute cylindrical decomposition
 apply convex algorithm on gray triangles
 Run-time: O(n2 log n), space: O(n2)
Experimental Results (Volume)
model
decomp. non-decomp. hmin (secs)
speedo
(2,500)
.9
5.1
1.9 15,730
engine2
(4,180)
174.9
251.6
1.3 41,156
0-2190
(3,492)
.1
.7
0 16,661
mj
(2,832)
1.7
8.1
2.1 13,911
r59043b
(3,386)
.8
3.0
.4 20,833
cc
(112)
823,210
823,210
1.0
4.7
Problem 2
Approximating the Optimal
Support Requirements
 Given a polyhedral model, compute a build direction for
which the support contact-area is close to the minimum
(there is no model decomposition here).
• Identify heuristics for choosing candidate directions
• Design efficient algorithms to compute contact-area
for chosen directions
• Develop a criterion to evaluate the quality of each
heuristic, via easy-to-compute quantities
Preliminaries
 CA(d) — contact area for build direction d
 CA(d) = BFA(d) + FFA(d) + PFA(d)
• BFA(d) — back facet area for d
• FFA(d) — front facet area for d
• PFA(d) — parallel facet area for d
d
d
d
Evaluation Criterion
 Obtain upper bound on
R=
CA(d^)
CA(d*)
d^ — build direction computed by heuristic
d* — optimal build direction
d’ — direction which minimizes BFA
 CA(d*)  BFA(d*)
 BFA(d*)  BFA(d’)
therefore
therefore
R
R
CA(d^)
BFA(d*)
CA(d^)
BFA(d’)
Compute CA
 compute BFA, FFA and PFA for direction d
 compute FFA:
d
exact algorithm
d
heuristic
FFA Results
model
bot_case
(2,000 )
algo
d = 10
 = 1%
FFA
13646.9
13678.1
secs
82
1
carcasse
(2,000)
exact
d = 10
 = 1%
13642.3
58.44
57.06
4693
66
1
exact
60.20
3505
d = 10
1.68
60
 = 1%
1.65
1
exact
d = 10
1.68
1.87
3540
23
 = 1%
1.93
1
exact
d = 10
1.85
0.33
427
68
 = 1%
0.32
1
exact
0.33
3888
mj
(2,000)
tod21
(1,128)
triad
(2,000)
Minimize BFA
 Run-time: O(n2 log n), space: O(n) space
Heuristics
 Min BFA — direction that minimizes the area of
back facets
 Max PFA — direction that maximizes the area of
parallel facets
 Max PFC — direction that maximizes the number
of parallel facets
 PC — direction that corresponds to the principal
components of the object
 Flat — direction that corresponds to a facet of the
convex hull of the object
Experimental Results
prism
tod21
top_case
pyramid
f0m27
carcasse
ecc4
triad1
mj
oldbasex
3857438
bot_case
Experimental Results (cont’d)
 Columns shows upper bound on
model
R
CA(d^)
BFA(d’)
BFA
PFA
PFC
PC
Flat
Random
%
prism
1.00
1.00
16.94
1.00
20.25
25.50
96
pyramid
1.00
1.00
24.00
1.00
24.00
28.53
85
ecc4
1.18
1.18
1.37
1.92
1.80
2.65
55
triad1
1.87
2.13
2.13
1.43
1.43
1.74
18
tod21
1.05
1.05
3.87
3.81
1.05
4.31
76
f0m27
2.40
2.33
2.33
2.39
3.26
2.69
13
mj
2.18
2.39
2.39
2.56
2.39
3.00
27
3857438
2.63
2.54
2.54
2.41
2.32
2.55
9
top_case
3.14
3.14
3.07
2.14
1.97
2.50
21
carcasse
3.77
3.47
4.19
4.38
3.47
4.89
29
oldbasex
3.33
1.72
12.40
8.16
12.40
10.37
83
bot_case
2.11
2.11
2.11
1.54
1.29
1.95
34
Conclusions
 Efficient algorithms for decomposing polyhedral models
 Heuristics and evaluation criterion for approximating
optimal build direction so as to minimize contact-area
 Applications to Layered Manufacturing
Future Work
 Globally optimal decomposition direction
 Multi-way decomposition
 Approximating support volume
 Exact algorithms for support optimization
Acknowledgements
 STL models courtesy Stratasys, Inc.
 Research supported in part by NSF, NIST, Army HPC
Center (U of Minn.), and DAAD (Germany)
 Papers at http://www.cs.umn.edu/~janardan/layered
Controlling Decomp. Size (K )
 Partition the d-direction into intervals Ij s.t. any
plane in Ij splits P into same number of pieces kj
 Optimize only within intervals where kj <= K
Two-sweep algorithm
• up-sweep: #pieces for P• dn-sweep: #pieces for P+
Combine results of sweeps
Use Union-Find data str.
Download