geometric algorithms for layered manufacturing: part ii

Post on 09-Jan-2016

33 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

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

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

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

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

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

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

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

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

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

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

Non-convex Polyhedra

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

convexconvex non-convexnon-convex

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

Computing Black/Gray Triangles

Use Use cylindrical decompositioncylindrical decomposition

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

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

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

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

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

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

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

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

Experimental Results

prismprism

bot_casebot_caseoldbasexoldbasexcarcassecarcassetop_casetop_case

38574383857438f0m27f0m27 mjmjtod21tod21

triad1triad1ecc4ecc4pyramidpyramid

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

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

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

top related