Geometric Algorithms for Layered Manufacturing: Part II Ravi Janardan Ravi Janardan Department of Computer Science & Engg. Department of Computer Science & Engg. University of Minnesota, Twin Cities University of Minnesota, Twin Cities Research Collaborators: Research Collaborators: P. Castillo, P. Gupta, M. Hon, I. P. Castillo, P. Gupta, M. Hon, I. Ilinkin, Ilinkin, E. Johnson, J. Majhi, R. Sriram, M. Smid, and J. Schwerdt E. Johnson, J. Majhi, R. Sriram, M. Smid, and J. Schwerdt
28
Embed
Geometric Algorithms for Layered Manufacturing: Part II Ravi Janardan Department of Computer Science & Engg. University of Minnesota, Twin Cities Research.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Geometric Algorithms for Layered Manufacturing: Part II
Ravi JanardanRavi Janardan
Department of Computer Science & Engg.Department of Computer Science & Engg.University of Minnesota, Twin CitiesUniversity of Minnesota, Twin Cities
Research Collaborators:Research Collaborators: P. Castillo, P. Gupta, M. Hon, I. Ilinkin, P. Castillo, P. Gupta, M. Hon, I. Ilinkin,
E. Johnson, J. Majhi, R. Sriram, M. Smid, and J. SchwerdtE. Johnson, J. Majhi, R. Sriram, M. Smid, and J. Schwerdt
Model Acquisition•CAD Software•CT Scans•Laser Scanning•3D Photography
Postprocessing•Remove supports•Improve finish•Inspect model
““3D printing” technology that creates physical 3D printing” technology that creates physical prototypes of 3D solids from their digital modelsprototypes of 3D solids from their digital models
Used in the automotive, aerospace, medical Used in the automotive, aerospace, medical industries, etc., to speed up the design cycleindustries, etc., to speed up the design cycle
Rapid Physical Prototyping
Layered Manufacturing
Builds 3D models as a stack of 2D layersBuilds 3D models as a stack of 2D layers
StereolithographyStereolithography
Geometric Considerations The choice of build direction affects quality and The choice of build direction affects quality and
performance measuresperformance measures
number of layers volume of supports
contact-area of supports surface finish
Overview of Recent LM Research(http://www.cs.umn.edu/~janardan/layered)
Geometric algorithms for Geometric algorithms for o minimizing surface roughnessminimizing surface roughnesso minimizing # of layersminimizing # of layerso protecting critical facetsprotecting critical facetso minimizing support requirements minimizing support requirements
and trapped area in 2Dand trapped area in 2DExact/approx. geometric algorithms for tool path Exact/approx. geometric algorithms for tool path
Decomposition-based approach to LMDecomposition-based approach to LM
Algorithms to approximate the optimal support Algorithms to approximate the optimal support requirementsrequirements
Problem 1
Decomposition-Based Approach
Decompose the model with a plane into a small Decompose the model with a plane into a small number of piecesnumber of pieces
Build the pieces separatelyBuild the pieces separately
Glue the pieces back togetherGlue the pieces back together
Polyhedral Decomposition
Decompose a polyhedron Decompose a polyhedron PP into into K K pieces with a pieces with a plane plane HH normal to a normal to a givengiven direction direction dd
H
-d-d
PP++
PP--
dd
Goal: Minimize Goal: Minimize volume of supportsvolume of supports or or contact areacontact area when the pieces are built in directions when the pieces are built in directions d d and and -d-d
Minimizing Contact-Area (CA) for Convex Polyhedra
CA CA depends on height of depends on height of H H and orientation of facetsand orientation of facets• e.g. e.g. backback facet facet f f ((nnf f • • dd < < 0)0)
CACAff = area(f) = area(f)
nf
d
CACAff = 0 = 0
nf
-d
CACAff = ah = ah22+bh+c+bh+c
nf
d
-d
Overall Algorithm
sweep-based algorithmsweep-based algorithm
• initialize (sort vertices, set initialize (sort vertices, set CACA term) term)
• general step at vertex general step at vertex v v (update (update CACA term) term)
• minimize new minimize new CACA term term
Overall Algorithm (cont’d)
General step details — update General step details — update CACA term term
sub: sub: area(f)area(f)
add: add: aa00hh22+b+b00h+ch+c00
sub:sub: a a11hh22+b+b11h+ch+c11sub: sub: aa00hh22+b+b00h+ch+c00
• Identify heuristics for choosing candidate directionsIdentify heuristics for choosing candidate directions• Design efficient algorithms to compute contact-area Design efficient algorithms to compute contact-area
for chosen directionsfor chosen directions• Develop a criterion to evaluate the quality of each Develop a criterion to evaluate the quality of each
heuristic, via easy-to-compute quantitiesheuristic, via easy-to-compute quantities
Given a polyhedral model, compute a build direction for Given a polyhedral model, compute a build direction for which the which the support contact-areasupport contact-area is close to the minimum is close to the minimum
(there is no model decomposition here).(there is no model decomposition here).
Preliminaries
CA(CA(dd) ) —— contact area for build direction contact area for build direction dd
compute BFA, FFA and PFA for direction compute BFA, FFA and PFA for direction dd
compute FFA:compute FFA:
heuristicheuristic
d
exact algorithmexact algorithm
d
FFA Results
model algo FFA secs d = 10 13646.9 82 = 1% 13678.1 1
bot_case (2,000 )
exact 13642.3 4693 d = 10 58.44 66 = 1% 57.06 1
carcasse (2,000)
exact 60.20 3505
d = 10 1.68 60 = 1% 1.65 1
mj (2,000)
exact 1.68 3540
d = 10 1.87 23 = 1% 1.93 1
tod21 (1,128)
exact 1.85 427 d = 10 0.33 68 = 1% 0.32 1
triad (2,000)
exact 0.33 3888
Minimize BFA
Run-time: O(nRun-time: O(n22 log n), space: O(n) space log n), space: O(n) space
Heuristics
Min BFAMin BFA —— direction that minimizes the area of direction that minimizes the area of back facetsback facets
Max PFAMax PFA —— direction that maximizes the area of direction that maximizes the area of parallel facetsparallel facets
Max PFCMax PFC —— direction that maximizes the number direction that maximizes the number of parallel facetsof parallel facets
PCPC —— direction that corresponds to the principal direction that corresponds to the principal components of the objectcomponents of the object
Flat Flat —— direction that corresponds to a facet of the direction that corresponds to a facet of the convex hull of the objectconvex hull of the object
Conclusions Efficient algorithms for decomposing polyhedral modelsEfficient algorithms for decomposing polyhedral models
Heuristics and evaluation criterion for approximating Heuristics and evaluation criterion for approximating optimal build direction so as to minimize contact-areaoptimal build direction so as to minimize contact-area
Applications to Layered ManufacturingApplications to Layered Manufacturing
Globally optimal decomposition directionGlobally optimal decomposition direction
Multi-way decompositionMulti-way decomposition
Approximating support volumeApproximating support volume
Exact algorithms for support optimizationExact algorithms for support optimization
Future Work
Acknowledgements
STL models courtesy Stratasys, Inc.STL models courtesy Stratasys, Inc.
Research supported in part by NSF, NIST, Army HPC Research supported in part by NSF, NIST, Army HPC Center (U of Minn.), and DAAD (Germany)Center (U of Minn.), and DAAD (Germany)
Papers at Papers at http://www.cs.umn.edu/~janardan/layeredhttp://www.cs.umn.edu/~janardan/layered
Controlling Decomp. Size (K )
Two-sweep algorithmTwo-sweep algorithm• up-sweep: #pieces for up-sweep: #pieces for PP--
• dn-sweep: #pieces for dn-sweep: #pieces for PP++
Combine results of sweepsCombine results of sweeps
Use Union-Find data str.Use Union-Find data str.
Partition the d-direction into intervals Partition the d-direction into intervals IIjj s.t. any s.t. any plane in plane in IIjj splits P into same number of pieces splits P into same number of pieces kkjj
Optimize only within intervals whereOptimize only within intervals where k kjj <=<= KK