Download presentation
Presentation is loading. Please wait.
1
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, Research Collaborators: P. Castillo, P. Gupta, M. Hon, I. Ilinkin, E. Johnson, J. Majhi, R. Sriram, M. Smid, and J. Schwerdt
2
Model Acquisition CAD Software CT Scans Laser Scanning 3D Photography Computer-Aided Process Planning File repair Model orientation Slicing Support creation Model Building via Layered Manufacturing LAN or Interne t LAN or Interne t Postprocessing Remove supports Improve finish Inspect model “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 Rapid Physical Prototyping
3
Layered Manufacturing Builds 3D models as a stack of 2D layers Stereolithography
4
Geometric Considerations The choice of build direction affects quality and performance measures number of layers volume of supports contact-area of supports surface finish
5
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 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
6
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
7
Polyhedral Decomposition Decompose a polyhedron P into K pieces with a plane H normal to a given direction d H -d P+P+P+P+ P-P-P-P- d Goal: Minimize volume of supports or contact area when the pieces are built in directions d and -d
8
Minimizing Contact-Area (CA) for Convex Polyhedra CA depends on height of H and orientation of facets e.g. back facet f (n f d < 0) e.g. back facet f (n f d < 0) CA f = area(f) nfnf d CA f = 0 nfnf -d CA f = ah 2 +bh+c nfnf d -d-d
9
Overall Algorithm sweep-based algorithm initialize (sort vertices, set CA term) initialize (sort vertices, set CA term) general step at vertex v (update CA term) general step at vertex v (update CA term) minimize new CA term minimize new CA term
10
Overall Algorithm (cont’d) General step details — update CA term sub: area(f) add: a 0 h 2 +b 0 h+c 0 sub: a 1 h 2 +b 1 h+c 1 sub: a 0 h 2 +b 0 h+c 0 add: a 1 h 2 +b 1 h+c 1 Run-time: O(n log n), space: O(n). Minimize Ah 2 + Bh + C
11
Experimental Results random points on a rotated “ice-cream” cone
12
Non-convex Polyhedra the structure of supports is more complex convexnon-convex
13
partition each front and each back facet into two classes of triangles: Black/Gray Triangles black tri. — always in contact with supports gray tri. — contact with supports depends on the position of H on the position of H
14
Computing Black/Gray Triangles Compute supports for undecomposed polyhedron using cylindrical decomposition
15
Overall Algorithm compute cylindrical decomposition apply convex algorithm on gray triangles Run-time: O(n 2 log n), space: O(n 2 )
16
Experimental Results (Volume)
17
Problem 2 Approximating the Optimal Support Requirements Identify heuristics for choosing candidate directions Identify heuristics for choosing candidate directions Design efficient algorithms to compute contact-area for chosen 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 Develop a criterion to evaluate the quality of each heuristic, via easy-to-compute quantities 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). (there is no model decomposition here).
18
Preliminaries CA(d) — contact area for build direction d CA(d) = BFA(d) + FFA(d) + PFA(d) BFA(d) — back facet area for d BFA(d) — back facet area for d FFA(d) — front facet area for d FFA(d) — front facet area for d PFA(d) — parallel facet area for d PFA(d) — parallel facet area for d d d d
19
Evaluation Criterion d^ — build direction computed by heuristic d* — optimal build direction d’ — direction which minimizes BFA Obtain upper bound on CA(d^) CA(d*) R = CA(d*) BFA(d*)therefore CA(d^) BFA(d*) R BFA(d*) BFA(d’)therefore CA(d^) BFA(d’) R
20
Compute CA compute BFA, FFA and PFA for direction d compute FFA: heuristic d exact algorithm d
21
FFA Results
22
Minimize BFA Run-time: O(n 2 log n), space: O(n) space
23
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
24
Experimental Results prism bot_caseoldbasexcarcassetop_case 3857438f0m27mjtod21 triad1ecc4pyramid
25
Experimental Results (cont’d) Columns shows upper bound on CA(d^) BFA(d’) R
26
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 Globally optimal decomposition direction Multi-way decomposition Approximating support volume Exact algorithms for support optimization Future Work
27
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
28
Controlling Decomp. Size (K) Two-sweep algorithm up-sweep: #pieces for P - up-sweep: #pieces for P - dn-sweep: #pieces for P + dn-sweep: #pieces for P + Combine results of sweeps Use Union-Find data str. Partition the d-direction into intervals I j s.t. any plane in I j splits P into same number of pieces k j Optimize only within intervals where k j <= K
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.