30
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

Geometric Algorithms for Layered Manufacturing: Part II

  • Upload
    paige

  • View
    34

  • Download
    2

Embed Size (px)

DESCRIPTION

Geometric Algorithms for Layered Manufacturing: Part II. Ravi Janardan Department of Computer Science & Engg. University of Minnesota, Twin Cities. Model Acquisition CAD Software CT Scans Laser Scanning 3D Photography. Computer-Aided Process Planning File repair Model orientation - PowerPoint PPT Presentation

Citation preview

Page 1: Geometric Algorithms for Layered Manufacturing: Part II

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

Page 2: Geometric Algorithms for Layered Manufacturing: Part II

Model Acquisition•CAD Software•CT Scans•Laser Scanning•3D Photography

Computer-AidedProcess Planning•File repair•Model orientation•Slicing•Support creation

Model Building via

Layered Manufacturing

LAN orInternet

LAN orInternet

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

Page 3: Geometric Algorithms for Layered Manufacturing: Part II

Layered Manufacturing

Builds 3D models as a stack of 2D layersBuilds 3D models as a stack of 2D layers

StereolithographyStereolithography

Page 4: Geometric Algorithms for Layered Manufacturing: Part II

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

Page 5: Geometric Algorithms for Layered Manufacturing: Part II

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

planning (“polygon hatching”)planning (“polygon hatching”)

Decomposition-based approach to LMDecomposition-based approach to LM

Algorithms to approximate the optimal support Algorithms to approximate the optimal support requirementsrequirements

Page 6: Geometric Algorithms for Layered Manufacturing: Part II

Sampling of Related Work

““Feasibility of design in stereolithography”, Asberg et alFeasibility of design in stereolithography”, Asberg et al ““Approximation algorithms for LM”, Agarwal, DesikanApproximation algorithms for LM”, Agarwal, Desikan ““Data front-end for LM”, Barequet, KaplanData front-end for LM”, Barequet, Kaplan Related work in injection-mold designRelated work in injection-mold design

““Plane-sweep slicer for LM”, McMains, SéquinPlane-sweep slicer for LM”, McMains, Séquin ““Preferred direction of build for RP processes”, Frank, FadelPreferred direction of build for RP processes”, Frank, Fadel ““Quantification of errors in RP”, Bablani, BagchiQuantification of errors in RP”, Bablani, Bagchi ““Determination of support structures in LM”, Allen, DuttaDetermination of support structures in LM”, Allen, Dutta ““Accurate slicing for LM”, Kulkarni, DuttaAccurate slicing for LM”, Kulkarni, Dutta ““Slicing procedures for LM techniques”, Dolenc, MäkeläSlicing procedures for LM techniques”, Dolenc, Mäkelä ““Double-sided LM”, McMainsDouble-sided LM”, McMains ““Voxel-based method for LM”, Chandru Voxel-based method for LM”, Chandru et al.et al. Etc...Etc...

Page 7: Geometric Algorithms for Layered Manufacturing: Part II

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

Page 8: Geometric Algorithms for Layered Manufacturing: Part II

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

Page 9: Geometric Algorithms for Layered Manufacturing: Part II

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

Page 10: Geometric Algorithms for Layered Manufacturing: Part II

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

Page 11: Geometric Algorithms for Layered Manufacturing: Part II

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

add:add: a a11hh22+b+b11h+ch+c11

Run-time: Run-time: O(n log n)O(n log n), space:, space: O(n) O(n)..

Minimize Minimize AhAh22 + Bh + C + Bh + C

Page 12: Geometric Algorithms for Layered Manufacturing: Part II

Experimental Results

random points on a sphere of radius 100random points on a sphere of radius 100

#verts decomp.contact-area

non-decomp.contact-area

hmin run-time(secs)

20,000 579 62,708 -.14 .640,000 424 62,833 .04 1.2

60,000 339 62,804 -.04 2.080,000 287 62,803 -.05 2.7

100,000 275 62,840 .02 3.5

Page 13: Geometric Algorithms for Layered Manufacturing: Part II

Experimental Results

random points on a rotated random points on a rotated “ice- “ice-cream” conecream” cone

#verts angle decomp.contact-area

non-decomp.contact-area

hmin run-time(secs.)

20,001 37 11,705 57,112 2.3 .640,001 75 3,974 52,006 .7 1.360,001 112 5,316 55,068 -.5 2.080,001 150 10,109 51,826 -1.5 2.8

100,001 187 3,448 59,820 -3.6 3.6

Page 14: Geometric Algorithms for Layered Manufacturing: Part II

Non-convex Polyhedra

the structure of supports is more complexthe structure of supports is more complex

convexconvex non-convexnon-convex

Page 15: Geometric Algorithms for Layered Manufacturing: Part II

partition each facet into two classes of triangles:partition each facet into two classes of triangles:

Volume Minimization

blackblack tri. — always in contact with supports tri. — always in contact with supports

graygray tri. — contact with supports depends tri. — contact with supports depends on the position of Hon the position of H

Page 16: Geometric Algorithms for Layered Manufacturing: Part II

Computing Black/Gray Triangles

Use Use cylindrical decompositioncylindrical decomposition

Page 17: Geometric Algorithms for Layered Manufacturing: Part II

Overall Algorithm

compute cylindrical decompositioncompute cylindrical decomposition

apply convex support-volume algorithm on gray apply convex support-volume algorithm on gray trianglestriangles

Run-time: O(nRun-time: O(n22 log n), space: O(n log n), space: O(n22))

Page 18: Geometric Algorithms for Layered Manufacturing: Part II

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

Page 19: Geometric Algorithms for Layered Manufacturing: Part II

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

Page 20: Geometric Algorithms for Layered Manufacturing: Part II

Approximating the Optimal Support Requirements

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).

• 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

Page 21: Geometric Algorithms for Layered Manufacturing: Part II

Preliminaries

CA(CA(dd) ) —— contact area for build direction contact area for build direction dd

CA(CA(dd) = BFA() = BFA(dd) + FFA() + FFA(dd) + PFA() + PFA(dd))

• BFA(BFA(dd) ) —— back facet area for back facet area for dd

• FFA(FFA(dd) ) —— front facet area for front facet area for dd

• PFA(PFA(dd) ) —— parallel facet area for parallel facet area for dd

dd

dd

dd

Page 22: Geometric Algorithms for Layered Manufacturing: Part II

Evaluation Criterion

dd^ ^ —— build direction computed by heuristic build direction computed by heuristic

dd* * —— optimal build direction optimal build direction

dd’ ’ — — direction which minimizes BFAdirection which minimizes BFA

Obtain upper bound onObtain upper bound onCA(CA(dd^)^)

CA(CA(dd*)*)R =R =

CA(CA(dd*) *) BFA( BFA(dd*)*) thereforethereforeCA(CA(dd^)^)

BFA(BFA(dd*)*)R R

BFA(BFA(dd*) *) BFA( BFA(dd’)’)thereforetherefore

CA(CA(dd^)^)

BFA(BFA(dd’)’)R R

Page 23: Geometric Algorithms for Layered Manufacturing: Part II

Compute CA

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

Page 24: Geometric Algorithms for Layered Manufacturing: Part II

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

Page 25: Geometric Algorithms for Layered Manufacturing: Part II

Minimize BFA

Run-time: O(nRun-time: O(n22 log n), space: O(n) space log n), space: O(n) space

Page 26: Geometric Algorithms for Layered Manufacturing: Part II

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

Page 27: Geometric Algorithms for Layered Manufacturing: Part II

Experimental Results

prismprism

bot_casebot_caseoldbasexoldbasexcarcassecarcassetop_casetop_case

38574383857438f0m27f0m27 mjmjtod21tod21

triad1triad1ecc4ecc4pyramidpyramid

Page 28: Geometric Algorithms for Layered Manufacturing: Part II

Experimental Results (cont’d)

model 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

Columns shows upper bound onColumns shows upper bound onCA(CA(dd^)^)

BFA(BFA(dd’)’)R R

Page 29: Geometric Algorithms for Layered Manufacturing: Part II

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

Page 30: Geometric Algorithms for Layered Manufacturing: Part II

Acknowledgements

Research Collaborators:Research Collaborators: P. Castillo, P. Gupta, M. Hon, P. Castillo, P. Gupta, M. Hon, I. Ilinkin, E. Johnson, J. Majhi, R. Sriram, M. Smid, and J. I. Ilinkin, E. Johnson, J. Majhi, R. Sriram, M. Smid, and J. SchwerdtSchwerdt

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