between 3D Printing and Subtractive Manufacturing Moham ammad mad - - PowerPoint PPT Presentation
between 3D Printing and Subtractive Manufacturing Moham ammad mad - - PowerPoint PPT Presentation
Computational Fabrication: Bridging the Productivity Gap between 3D Printing and Subtractive Manufacturing Moham ammad mad M. Hoss ssain ain Compact Voxel Structure Freeform CNC fabrication Robust surface offsetting Additive vs
Freeform CNC fabrication Robust surface offsetting Compact Voxel Structure
Additive vs Subtractive Fabrication
Image Source: Shapeways Image Source: Siemens
Fabrication Pipeline: From CAD to CNC
CNC Machine Machined Part Input Mesh Axes Configuration G-codes
Productivity Gap: Milling vs 3D Printing
Fabrication time Part programming time
Freeform CNC fabrication Robust surface offsetting Compact Voxel Structure
CAM Tool-path Planning in 2D
Image Source: MIT Fabrication Course
CAM Tool-path Planning in 3D
Triangle Offsetting in 2D
Given a triangle and an offset distance r, expand or shrink the triangle:
a b c
2r
a b c a b c a b c a b c
Triangle Offsetting in 3D
For each Vertex For each Edge For each Triangle Sphere Cylinder Prism → → →
Triangle Offsetting: Alternative Approach
Generic Offsetting: Alternative Approach
Image Source: MIT Fabrication Course
High Memory B/W High Flop per dollar Productivity CUDA Scalability Massive Computing Parallelism
Freeform CNC fabrication Robust surface offsetting Compact Voxel Structure
Grid Data Structures
Tiles
Voxel Block
Uniform Grid Tiled Grid
Octree Data Structure
Quadtree (2D analogue to 3D Octree)
Hybrid Illustration
Image Source: DreamWorks Studios
Hybrid Dynamic Tree (HDT)
HDT: combination of tiled grid and octree
Root Grid [16 x 16 x 16]
Level 1 Level 2 Level 3
Octree Leaf Grid [16 x 16 x 16]
(16 x 23 x 16)3 = 2,0483
Building Blocks: Leaf Grid
HDT Memory Pools
C C5
Root Grid Root Cell Octree Cell
C1
C C0 C1 C2 C3 C4 C5 C6 C7 C5 C5
1
C5
2
C5
3
C5
4
C5
5
C5
6
C5
7
Leaf Pool C1 C1
1
C1
2
C1
3
C1
4
C1
5
C1
6
C1
7
Element Pool
HDT Demonstration
HDT Construction Steps (1)
Triangle Mapping
- Map each triangle to the root cells that intersect it.
- Only check the root cells that overlap the bounding box of the
triangle.
HDT Construction Steps (2)
HDT Branching
- Each cell splits into eight child cells.
- Each child tests intersection with the set of triangles
- verlapped with its parent cell.
HDT Construction Steps (3)
Leaf Processing
- At target resolution, a cell is
decomposed into a block (Leaf Grid)
- f 16 × 16 × 16 voxels.
- Each voxel state is coded in 2 bits:
INSIDE, OUTSIDE or ON the surface.
- Each thread in a CUDA block of size
16 × 16 processes 16 voxels, coded in 2 bits × 16 = 4 bytes.
HDT Benchmarks
Triangles 230,286 173,104 57,792 38,000 Resolution 4096 8192 4096 8192 4096 8192 4096 8192 HDT Height 4 5 4 5 4 5 4 5 Leaf Grid (x 103) 54 218 60 240 66 291 65 262 HDT Cell (x 103) 146 581 150 621 153 684 172 698 HDT Active Voxels (x 106) 14.0 56.0 15.8 63.4 18.7 74.7 16.8 67.2 Bits / voxel 1.99 1.99 1.82 1.88 1.57 1.76 1.96 1.99
Storage Comparisons
Per active voxel total storage in HDT
- With leaf dimension of 16
16
- 32 (data) + 2 (topology) = 34 bits
- With leaf dimension of 8
- 16 (data) + 8 (topology) = 24 bits
HDT Construction Times at 81923
1 2 3 4
Time (sec)
HDT Construction Speedups at 81923
1 2 3 4 5 Triangles Mapping HDT Branching 1 10 100 1000 Leaf Processing Overall Speed-up
Freeform CNC fabrication Compact Voxel Structure Robust surface offsetting
Volume Offsetting in CNC Manufacturing
Target Part Part in Stock Expanded Part Shrunk Stock “Contact Volume” Union of expanded part and shrunk stock
Iterative Volume Offsetting
Convolution based Offsetting
- Input
- A volume represented in hybrid dynamic tree (HDT).
- An offset distance (+ve → expand, -ve → shrink)
- Output
- An expanded (or shrunk) volume represented in HDT.
- Implementation
- A convolution based algorithm that uses a stencil
kernel to define the spatial neighborhood in 3D space.
Convolution Offsetting Demonstration
A ring structuring element or template (magnified) 2D Cross-section (of a cube) to be swept with the ring template Dilated cross-section (green) overlaid with the input (red)
Offsetting Results at 20483
50 100 150 200 250 1mm 2mm 3mm 4mm Time e (sec) Offset t Distan tance ce
Head Dragon Turbine Candle Holder
Optimization via Kernel Decomposition
Offset 1 voxel [# 4] Offset 2 voxels [# 12] Offset 3 voxels [# 24]
Kernel Decomposition Results
20 40 60 80 100 120 140 Offset 40 voxels x 1 Offset 20 voxels x 2 Offset 10 voxels x 4 Offset 5 voxels x 8 Offsetting Time (sec) Dragon Armadillo Horse Candle Holder 0.00 0.01 0.02 0.03 0.04 0.05 20 voxels x 2 10 voxels x 4 5 voxels x 8 Normalized Average Error Dragon Armadillo Horse Candle Holder
Milled Parts
Ball Joint: CNC fabricated VS 3D Printed
Executive Summary
- Hybrid Dynamic Tree (HDT) is highly storage-efficient; up to
2.5x compact than state-of-the-art VDB approach.
- HDT is well-suited for accelerated algorithm development on
GPUs.
- Both HDT and Convolution Offsetting algorithm is highly
scalable to a GPU-cluster deployment.
CNC programming can be as easy as 3D Printing.
Team
- Dr. Thoma
mas s Tuck cker er
tommy@tuckerinnovations.com
- Dr. Thoma
mas s Kur urfess ess
kurfess@gatech.edu
- Dr. Ric