![Page 1: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/1.jpg)
Representation Issues in Data Exchange for RP-LM
Sara McMains
U.C. Berkeley
![Page 2: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/2.jpg)
RP-LM Data Exchange
Designer
• Read• Validate• Scale• Position/orient• Slice• Rasterize
Manufacturer
Network
• Translate• Write
• Transmit
![Page 3: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/3.jpg)
RP-LM Data Exchange
Designer
• Read• Validate• Scale• Position/orient• Slice• Rasterize
Manufacturer
Network
• Translate• Write
• Transmit
![Page 4: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/4.jpg)
Data Translation
• Easiest for the designer:– Format that includes all design constructs
• B-reps– Tesselated
– Trimmed NURBS
• CSG• Sweeps• Voxels• Parametric• Surface equations
![Page 5: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/5.jpg)
RP-LM Data Exchange
Designer
• Read• Validate• Scale• Position/orient• Slice• Rasterize
Manufacturer
Network
• Translate• Write
• Transmit
![Page 6: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/6.jpg)
Data Translation
• Easiest for the manufacturer:– Simplest possible format
• Lowest common denominator• This is why STL is still being used!
![Page 7: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/7.jpg)
RP-LM Data Exchange
Designer
• Read• Validate• Scale• Position/orient• Slice• Rasterize
Manufacturer
Network
• Translate• Write
• Transmit
![Page 8: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/8.jpg)
RP-LM Data Exchange
Designer
• Read• Validate• Scale• Position/orient• Slice• Rasterize
Manufacturer
Network
• Translate• Write
• Transmit
![Page 9: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/9.jpg)
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
![Page 10: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/10.jpg)
RP-LM Data Exchange
Designer
• Read• Validate• Scale• Position/orient• Slice• Rasterize
Manufacturer
Network
• Translate• Write
• Transmit
![Page 11: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/11.jpg)
Sources of Cracks in STL
• Round-off– Instancing with geometric transformations
![Page 12: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/12.jpg)
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
![Page 13: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/13.jpg)
RP-LM Data Exchange
Designer
• Read• Validate• Scale• Position/orient• Slice• Rasterize
Manufacturer
Network
• Translate• Write
• Transmit
![Page 14: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/14.jpg)
Sources of Cracks in STL
– Boolean trim curves
![Page 15: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/15.jpg)
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
![Page 16: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/16.jpg)
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
![Page 17: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/17.jpg)
File Repair Techniques: Global
• Build a Binary Space Partitioning tree, identify solid regions,
output boundary– Murali & Funkhouser ’97
• Scalability issues
![Page 18: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/18.jpg)
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
![Page 19: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/19.jpg)
RP-LM Data Exchange
Designer
• Read• Validate• Scale• Position/orient• Slice• Rasterize
Manufacturer
Network
• Translate• Write
• Transmit
![Page 20: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/20.jpg)
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?
![Page 21: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/21.jpg)
RP-LM Data Exchange
Designer
• Read• Validate• Scale• Position/orient• Slice• Rasterize
Manufacturer
Network
• Translate• Write
• Transmit
![Page 22: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/22.jpg)
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
![Page 23: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/23.jpg)
RP-LM Data Exchange
Designer
• Read• Validate• Scale• Position/orient• Slice• Rasterize
Manufacturer
Network
• Translate• Write
• Transmit
![Page 24: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/24.jpg)
Input Captured in Layers
• E.g.– CT scans– Digitized input
• Can we manufacture these layers directly?
• Do we want to?
![Page 25: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/25.jpg)
Matched Layer Thicknesses
![Page 26: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/26.jpg)
Unmatched Layer Thicknesses
![Page 27: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/27.jpg)
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
![Page 28: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/28.jpg)
RP-LM Data Exchange
Designer
• Read• Validate• Scale• Position/orient• Slice• Rasterize
Manufacturer
Network
• Translate• Write
• Transmit
![Page 29: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/29.jpg)
Implicit Booleans
• Implicit unions
![Page 30: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/30.jpg)
Implicit Booleans
• Implicit unions
![Page 31: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/31.jpg)
Implicit Booleans
• Implicit differences
(2D example)
![Page 32: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/32.jpg)
Implicit Booleans
• Implicit differences
(2D example)
![Page 33: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/33.jpg)
Implicit Booleans
• Implicit differences
(2D example)
![Page 34: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/34.jpg)
Implicit Booleans
• Implicit differences
(2D example)
![Page 35: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/35.jpg)
Implicit Booleans
• Implicit differences
(2D example)
![Page 36: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/36.jpg)
Implicit Booleans
• Implicit differences
(2D example)
![Page 37: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/37.jpg)
Implicit Booleans
• Implicit differences
(2D example)
![Page 38: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/38.jpg)
Implicit Booleans
• Self-intersections
(2D example)
![Page 39: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/39.jpg)
Implicit Booleans
• Self-intersections
(2D example)
![Page 40: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/40.jpg)
Implicit Booleans
• Self-intersections
(2D example)
![Page 41: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/41.jpg)
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
![Page 42: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/42.jpg)
non-2-manifold
Scope: Solids
• Optimize for 2-manifolds– 2 directed “edge-uses” per undirected edge
• Should also support non-manifold solids
2-manifold
![Page 43: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/43.jpg)
Pseudo-2-Manifolds
• Geometry not 2-manifold
• Represented topology is 2-manifold
![Page 44: Representation Issues in Data Exchange for RP-LM](https://reader034.vdocument.in/reader034/viewer/2022051114/56813e19550346895da7fc2b/html5/thumbnails/44.jpg)
RP-LM Data Exchange
Designer
• Read• Validate• Scale• Position/orient• Slice• Rasterize
Manufacturer
Network
• Translate• Write
• Transmit