the modern cad/cam workflow - nvidia · 2017. 5. 2. · • designing “bigfoot” • current...
TRANSCRIPT
The Modern CAD/CAM Workflow:
Scan, Design, Edit, Analyze, and Fabricate
Without Triangles Duane Storti
Mechanical Engineering
University of Washington
Seattle, WA
“Big picture” context: Technology democratization
• Ubiquity of 3D imaging (CT, MR, …)
democratizing volumetric scanning
• CUDA democratizing parallel computing
• 3D printing democratizing manufacturing
Near a threshold where:
“If you can think/imagine it, you can build it.”
- Chris Anderson (Wired), Walt Disney, Lego?
But can you model “it” with current computer-aided
design (CAD) software?
Motivational problems
• Designing “Bigfoot”
• Current models/algorithms scale badly
• Boundary representations (b-reps)/triangulations
• Sculptured surfaces lots of patches/triangles
• Boolean ops scale with product of triangle counts
• Modeling bones with pins crashed CAD systems
• Solution: Hack the 3D printer build set-up
• Designing/printing objects with graded properties
• Brain phantom, graded octet truss
• Crucial advantage of 3D printing (additive mfg.)
• B-reps ill-suited for describing interior composition
Brain Phantom: Graded radiological activity (Solution: Test page hack)
Graded Octet Truss via Vat Photo-Polymerization
(Solution: Hack the build stack)
Need better software for interacting with image stack models (and less hackery!)
• Interactive tools for
• Viewing, Editing, Boolean operations
• Modeling of graded material properties
• Analysis
• Preparation for 3D printing
• GPU-based parallel computing with CUDA
enables live interaction with new approach:
• Voxel SDF-reps (Models are image stacks!)
• Irony alert!
GPU Technology built to render triangles beautifully,
saves the day when there are no triangles…
Voxel SDF-rep Image Stack Modeler
• CUDA/Python Implementation by Chris Uchytil
using:
• Pyopengl
• Pycuda: graphics interop
• Numba: bulk of CUDA code including kernels
• Pyside: user interface
• Demonstrations recorded in real-time
on workstation with GTX 1080
• Demo videos: Triangle free!
Import bones from CT (and label file). Perform basic modeling ops.
Import bones, adjust spacing, and construct union
Creating Voxel SDF-reps: torus, cylinder, pin
Pinned bones: uniform material
Pinned bones: unions with properties
Modeling Ops:
Swept Solids
C implementation
By Di Zhang
Modeling Ops:
Skeletal Editing
How? And why without triangles?
What do you value?
As a rendering, this is ??? _
How? Why without triangles?
What do you value?
As a rendering, this is beautiful
How? Why without triangles?
What do you value?
As a rendering, this is beautiful
As a solid model, it is ??? _
How? Why without triangles?
What do you value?
As a rendering, this is beautiful
As a solid model, it is broken!
What is inside/outside?
Limitations of Current CAD Systems
Primarily boundary representation (B-rep)
• Robustness issues
• Limited support for variable material
• Difficult to import scanned objects
• Leads to “Bigfoot” crashes!
-
Classify points as in/out by function evaluation
Signed Distance Functions (SDFs) very desirable: (1) Simplified root finding (2) Skeletal editing
Can we create functions and/or SDFs for: (1) Real engineering parts? (2) Parts captured via scan?
Alternative approach:
Implicit or Function-based (f-rep) models
Coordinates F-rep Sphere SDF-rep Sphere
Cartesian x2 + y 2 + z 2 – R2 < 0 𝑥2 + 𝑦2 + 𝑧2 – R < 0
Spherical r 2 – R2 < 0 r – R < 0
F-rep for Engineering Part: by Mark Ensz
F-rep for Engineering Part: Hex Nut
Engineering Part: F-rep wood screw
SDF-reps (Signed Distance Functions)
• Few analytic SDF primitives
• Compute voxelized approximation of SDF
• Create “label” file
• Sample sign of F-rep on grid
• Segmentation of 3D imaging
• Convert label file to grid of SDF values
• 3D distance transform
• Upwind differencing (scheme used in level set methods)
• Interpolate as needed (wavelets)
Issues on the 3D printing end of the workflow
• Convert models to STL files
• De facto standard for 3D printing
• Bag of triangles Lots of problems/limitations
• Need to slice STL to determine layer descriptions
• Instead use voxel SDF-rep
• Model is an image stack
• Send images to printer as slice descriptions
• Variable material Auxiliary property stack
• Use grayscale or color images to encode materials
• New operations on inhomogeneous objects
Take-away points
Advances on the design side (CAD software) are
essential to realize the potential of 3D printing.
Implicit approaches are helpful and link directly to
Image stack/Voxel methods that provide:
Straightforward modeling of graded materials/properties
Unified format for 3D operations:
scan, design, analyze and fabricate
Real-time interactivity using GPU-based parallelism
References
[1] Yurtoglu, M., GPU-based Parallel Computation of Integral Properties of Volumetrically Digitized
Objects, PhD Dissertation, University of Washington, 2017.
[2] Peterson, G., Schwartz, J., Zhang, D., Weiss, B., Ganter,M., Storti, D. and Boydston, AJ.
Production of Materials with Spatially-Controlled Crosslink Density via Vat Photopolymerization, ACS
Applied Materials & Interfaces. 8, 29037−29043 (2016).
DOI:10.1021/acsami.6b09768
[3] Zhang, D., A GPU Accelerated Signed Distance Voxel Modeling System, PhD Dissertation,
University of Washington, 2016.
[4] Storti, D, and Yurtoglu, M., CUDA for Engineers: An Introduction to High-Performance Parallel
Computing, Addison-Wesley Professional, NY, 2015.
[5] Storti D, Ganter MA, Ledoux WR, Ching RP, Hu Y, Haynor D. Wavelet SDF-Reps: Solid Modeling
With Volumetric Scans. ASME. International Design Engineering Technical Conferences and
Computers and Information in Engineering Conference, Volume 6: 33rd Design Automation
Conference, Parts A and B (2007):501-513. doi:10.1115/DETC2007-34703.
[6] Storti, D., Ganter, M., Ledoux, W., Ching, R., Hu, Y., and Haynor, D. Artifact vs. Anatomy: Dealing
With Conflict of Geometric Modeling Descriptions. No. 2007-01-2450. SAE Technical Paper, (2007).
[7] Mark T. Ensz, Duane W. Storti, and Mark A. Ganter, Implicit Methods for Geometry Creation, Int. J.
Comput. Geom. Appl. 08, 509 (1998).
DOI: http://dx.doi.org/10.1142/S0218195998000266
Acknowledgments/Thanks
• Students (Current and Former UW AM lab members) • Chris Uchytil (code and videos), Ben Weiss
• Mete Yurtoglu (Google), Di Zhang (Bodylabs), Mark Ensz (Sandia)
• Siu Kwan Lam (Continuum Analytics) – Numba support
• UW Colleagues:
• Mark Ganter (AM Lab Co-director)
• Nick Boechler Lab (ME), AJ Boydston Lab (Chemistry)
• Bil Ledoux (VA) – motivation/sample data/support
• Mike Miller (U. Indiana Med. School, Siemens,…)
• UW College of Engineering (Strategic Research Initiative Program)
• Ricoh
• NVIDIA
• Thank you for your attention!