Microstructures to control elasticity in 3D printing
Abstract
We propose a method for fabricating deformable objects with spatially varying elasticity using 3D printing. Using a single, relatively stiff printer material, our method designs an assembly of small-scale microstructures that have the effect of a softer material at the object scale, with properties depending on the microstructure used in each part of the object. We build on work in the area of metamaterials, using numerical optimization to design tiled microstructures with desired properties, but with the key difference that our method designs families of related structures that can be interpolated to smoothly vary the material properties over a wide range. To create an object with spatially varying elastic properties, we tile the object's interior with microstructures drawn from these families, generating a different microstructure for each cell using an efficient algorithm to select compatible structures for neighboring cells. We show results computed for both 2D and 3D objects, validating several 2D and 3D printed structures using standard material tests as well as demonstrating various example applications.
Additional Information
Copyright is held by the owner/author(s). Publication rights licensed to ACM. We would like to thank the reviewers for their insightful comments, and Jernej Barbič for providing models and material parameter distributions for the Bunny and Teddy examples. We also greatly appreciated the help of Moritz Bächer, Jonathan Yedidia, Mélina Skouras, and Oliver Wang. The Bunny and Armadillo models are part of the Stanford Computer Graphics Laboratory's 3D Scanning Repository.Attached Files
Accepted Version - microstructure_SIG15.pdf
Files
Name | Size | Download all |
---|---|---|
md5:a798b661f7e0c02622021a738c833d24
|
8.3 MB | Preview Download |
Additional details
- Eprint ID
- 70724
- Resolver ID
- CaltechAUTHORS:20160930-151255742
- Created
-
2016-10-03Created from EPrint's datestamp field
- Updated
-
2021-11-11Created from EPrint's last_modified field