representation issues in data exchange for rp-lm sara mcmains u.c. berkeley

Post on 21-Dec-2015

218 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Representation Issues in Data Exchange for RP-LM

Sara McMains

U.C. Berkeley

RP-LM Data Exchange

Designer

• Read• Validate• Scale• Position/orient• Slice• Rasterize

Manufacturer

Network

• Translate• Write

• Transmit

RP-LM Data Exchange

Designer

• Read• Validate• Scale• Position/orient• Slice• Rasterize

Manufacturer

Network

• Translate• Write

• Transmit

Data Translation

• Easiest for the designer:– Format that includes all design constructs

• B-reps– Tesselated

– Trimmed NURBS

• CSG• Sweeps• Voxels• Parametric• Surface equations

RP-LM Data Exchange

Designer

• Read• Validate• Scale• Position/orient• Slice• Rasterize

Manufacturer

Network

• Translate• Write

• Transmit

Data Translation

• Easiest for the manufacturer:– Simplest possible format

• Lowest common denominator• This is why STL is still being used!

RP-LM Data Exchange

Designer

• Read• Validate• Scale• Position/orient• Slice• Rasterize

Manufacturer

Network

• Translate• Write

• Transmit

RP-LM Data Exchange

Designer

• Read• Validate• Scale• Position/orient• Slice• Rasterize

Manufacturer

Network

• Translate• Write

• Transmit

ASCII or Binary?

• ASCII– Data exchange always imperfect

• Humans will end up examining files

• Binary– Compact– Computers store binary numbers

• Simple fractional decimals cannot be exactly represented as floating point values

RP-LM Data Exchange

Designer

• Read• Validate• Scale• Position/orient• Slice• Rasterize

Manufacturer

Network

• Translate• Write

• Transmit

Sources of Cracks in STL

• Round-off– Instancing with geometric transformations

Require Shared Vertices

• Specify vertex coordinates only once

• All geometry that shares vertex references same vertex

• Compact for transmission

• Forces designer to think about connectivity

RP-LM Data Exchange

Designer

• Read• Validate• Scale• Position/orient• Slice• Rasterize

Manufacturer

Network

• Translate• Write

• Transmit

Sources of Cracks in STL

– Boolean trim curves

Boolean Trim Curves

• Intersection curve higher order than input

• Mapped back onto input patches– Approximated in parametric space – Won’t match exactly on two patches

• Connectivity of trimmed patches should be specified explicitly

File Repair Techniques: Local• Triangulate between unmatched facet edges

– Bohn and Wozny ’92– Barequet and Sharir ’95

• Merges edges for small cracks,• Triangulate remaining holes

– Barequet and Kumar ’97

• Adding triangles may introduce intersections;• Best match problem NP complete

File Repair Techniques: Global

• Build a Binary Space Partitioning tree, identify solid regions,

output boundary– Murali & Funkhouser ’97

• Scalability issues

Better STL Generation

• Curved patch to STL conversion without gaps:Match discretized trim curves, User-supplied tolerances

– Dolenc ’93 – Sheng & Meier ’95

• Prevent intersections when triangulating

RP-LM Data Exchange

Designer

• Read• Validate• Scale• Position/orient• Slice• Rasterize

Manufacturer

Network

• Translate• Write

• Transmit

Nesting Information

• Should nesting of shells be transmitted?– Designer intent– But how is nesting generated?

• Computed from b-rep?

– What if it disagrees with geometry?• Who do you believe - geometry or topology?

RP-LM Data Exchange

Designer

• Read• Validate• Scale• Position/orient• Slice• Rasterize

Manufacturer

Network

• Translate• Write

• Transmit

Units

• Require units!

• Lack of units invites educated guesses

• Default unit not good enough– Assumptions may differ– Require explicit specification

• Force assumptions to be visible

RP-LM Data Exchange

Designer

• Read• Validate• Scale• Position/orient• Slice• Rasterize

Manufacturer

Network

• Translate• Write

• Transmit

Input Captured in Layers

• E.g.– CT scans– Digitized input

• Can we manufacture these layers directly?

• Do we want to?

Matched Layer Thicknesses

Unmatched Layer Thicknesses

Surface Reconstruction

• Interpolate between input slices– Interpolation smooths boundary– Additional processing can further smooth

coarse input– Complete freedom to re-orient surface

• Faster build times

RP-LM Data Exchange

Designer

• Read• Validate• Scale• Position/orient• Slice• Rasterize

Manufacturer

Network

• Translate• Write

• Transmit

Implicit Booleans

• Implicit unions

Implicit Booleans

• Implicit unions

Implicit Booleans

• Implicit differences

(2D example)

Implicit Booleans

• Implicit differences

(2D example)

Implicit Booleans

• Implicit differences

(2D example)

Implicit Booleans

• Implicit differences

(2D example)

Implicit Booleans

• Implicit differences

(2D example)

Implicit Booleans

• Implicit differences

(2D example)

Implicit Booleans

• Implicit differences

(2D example)

Implicit Booleans

• Self-intersections

(2D example)

Implicit Booleans

• Self-intersections

(2D example)

Implicit Booleans

• Self-intersections

(2D example)

Implicit Booleans

• Even if exchange format doesn’t include explicit Booleans, implicit Booleans will arise

• Manufacturers won’t categorically reject

• Need semantics for implicit Booleans

non-2-manifold

Scope: Solids

• Optimize for 2-manifolds– 2 directed “edge-uses” per undirected edge

• Should also support non-manifold solids

2-manifold

Pseudo-2-Manifolds

• Geometry not 2-manifold

• Represented topology is 2-manifold

RP-LM Data Exchange

Designer

• Read• Validate• Scale• Position/orient• Slice• Rasterize

Manufacturer

Network

• Translate• Write

• Transmit

top related