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 Subtractive Fabrication Image Source: Shapeways Image Source: Siemens
Fabrication Pipeline: From CAD to CNC Input Mesh Axes Configuration G-codes Machined Part CNC Machine
Productivity Gap: Milling vs 3D Printing Fabrication time Part programming time
Compact Voxel Structure Robust surface offsetting Freeform CNC fabrication
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 a a a a 2r c b c c c c b b b b
Triangle Offsetting in 3D → Sphere For each Vertex → Cylinder For each Edge → Prism For each Triangle
Triangle Offsetting: Alternative Approach
Generic Offsetting: Alternative Approach Image Source: MIT Fabrication Course
High Flop per dollar High Productivity Memory B/W CUDA Massive Scalability Computing Parallelism
Compact Voxel Structure Robust surface offsetting Freeform CNC fabrication
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 Level 1 Level 2 (16 x 2 3 x 16) 3 = 2,048 3 Level 3 Root Grid [16 x 16 x 16] Octree Leaf Grid [16 x 16 x 16]
Building Blocks: Leaf Grid
HDT Memory Pools C C 0 C 1 C 2 Root Cell C 3 C C 4 C 5 C 6 C 7 C 1 0 C 1 1 C 1 2 C 1 Root Grid 3 C 5 C 1 Octree Cell 4 C 1 C 1 5 C 1 6 C 1 7 C 5 0 C 5 1 C 5 2 C 5 3 C 5 4 Leaf Pool C 5 5 C 5 6 C 5 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 overlapped with its parent cell.
HDT Construction Steps (3) Leaf Processing At target resolution, a cell is decomposed into a block (Leaf Grid) of 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 10 3 ) 54 218 60 240 66 291 65 262 HDT Cell (x 10 3 ) 146 581 150 621 153 684 172 698 14.0 56.0 15.8 63.4 18.7 74.7 16.8 67.2 HDT Active Voxels (x 10 6 ) 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 o With leaf dimension of 16 16 • 32 (data) + 2 (topology) = 34 bits o With leaf dimension of 8 • 16 (data) + 8 (topology) = 24 bits
HDT Construction Times at 8192 3 4 3 Time (sec) 2 1 0
HDT Construction Speedups at 8192 3 Triangles Mapping HDT Branching Leaf Processing Overall Speed-up 1000 5 4 100 3 2 10 1 1 0
Compact Voxel Structure Robust surface offsetting Freeform CNC fabrication
Volume Offsetting in CNC Manufacturing Expanded Part Target Part “Contact Volume” Union of expanded part and shrunk stock Shrunk Stock Part in Stock
Iterative Volume Offsetting
Convolution based Offsetting o Input • A volume represented in hybrid dynamic tree (HDT). • An offset distance (+ve → expand , -ve → shrink) o Output • An expanded (or shrunk) volume represented in HDT. o Implementation • A convolution based algorithm that uses a stencil kernel to define the spatial neighborhood in 3D space.
Convolution Offsetting Demonstration A ring structuring Dilated cross-section 2D Cross-section (of a element or template (green) overlaid with cube) to be swept with (magnified) the input (red) the ring template
Offsetting Results at 2048 3 250 Head Dragon Turbine Candle Holder 200 e (sec) 150 Time 100 50 0 1mm 2mm 3mm 4mm Offset t Distan tance ce
Optimization via Kernel Decomposition Offset Offset Offset 1 voxel [# 4] 2 voxels [# 12] 3 voxels [# 24]
Kernel Decomposition Results Dragon Armadillo Dragon Armadillo 140 Horse Candle Holder Horse Candle Holder 0.05 Offsetting Time (sec) Normalized Average Error 120 0.04 100 0.03 80 60 0.02 40 0.01 20 0.00 0 20 voxels x 2 10 voxels x 4 5 voxels x 8 Offset 40 Offset 20 Offset 10 Offset 5 voxels x 1 voxels x 2 voxels x 4 voxels x 8
Milled Parts
Ball Joint: CNC fabricated VS 3D Printed
Executive Summary CNC programming can be as easy as 3D Printing. o Hybrid Dynamic Tree (HDT) is highly storage-efficient; up to 2.5x compact than state-of-the-art VDB approach. o HDT is well-suited for accelerated algorithm development on GPUs. o Both HDT and Convolution Offsetting algorithm is highly scalable to a GPU-cluster deployment.
Team Mohamma mmad d M H Hossai sain Dr. Thoma mas s Tuck cker er mhossain7@gatech.edu tommy@tuckerinnovations.com Dr. Thoma mas s Kur urfess ess David id R Lynn nn kurfess@gatech.edu roby.lynn@gatech.edu Jam ames es S Collin ins Dr. Ric icha hard d Vud uduc uc jscollins@gatech.edu richie@cc.gatech.edu
Recommend
More recommend