“OpenFab: a programmable pipeline for multi-material fabrication” by Vidimče, Wang, Ragan-Kelley and Matusik

  • ©Kiril Vidimče, Szu-Po Wang, Jonathan Ragan-Kelley, and Wojciech Matusik




    OpenFab: a programmable pipeline for multi-material fabrication


Session Title: 3D Printing



    3D printing hardware is rapidly scaling up to output continuous mixtures of multiple materials at increasing resolution over ever larger print volumes. This poses an enormous computational challenge: large high-resolution prints comprise trillions of voxels and petabytes of data and simply modeling and describing the input with spatially varying material mixtures at this scale is challenging. Existing 3D printing software is insufficient; in particular, most software is designed to support only a few million primitives, with discrete material choices per object. We present OpenFab, a programmable pipeline for synthesis of multi-material 3D printed objects that is inspired by RenderMan and modern GPU pipelines. The pipeline supports procedural evaluation of geometric detail and material composition, using shader-like fablets, allowing models to be specified easily and efficiently. We describe a streaming architecture for OpenFab; only a small fraction of the final volume is stored in memory and output is fed to the printer with little startup delay. We demonstrate it on a variety of multi-material objects.


    1. 3DSystems, 1988. StereoLithography interface specification.Google Scholar
    2. Adobe Systems, 1985. PostScript language reference. Google ScholarDigital Library
    3. ASTMStandard. 2011. Standard specification for additive manufacturing file format (AMF) version 1.1. July.Google Scholar
    4. Bell, G., Parisi, A., and Pesce, M. 1995. The virtual reality modeling language version 1.0 specification. Tech. rep.Google Scholar
    5. Bermano, A., Baran, I., Alexa, M., and Matusik, W. 2012. ShadowPix: Multiple images from self shadowing. Computer Graphics Forum 31, 2pt3 (May), 593–602. Google ScholarDigital Library
    6. Bickel, B., Bächer, M., Otaduy, M. A., Lee, H. R., Pfister, H., Gross, M., and Matusik, W. 2010. Design and fabrication of materials with desired deformation behavior. ACM Trans. Graph. 29 (July), 63:1–63:10. Google ScholarDigital Library
    7. Blythe, D. 2006. The Direct3D 10 system. ACM Trans. Graph. 25, 3 (July), 724–734. Google ScholarDigital Library
    8. Chen, D., Matusik, W., Sitthi-Amorn, P., Didyk, P., and Levin, D. 2013. Spec2Fab: A reducer-tuner model for translating specifications to 3D prints. ACM Trans. Graph. 32, 4 (July). Google ScholarDigital Library
    9. Cho, W., Sachs, E. M., Patrikalakis, N. M., and Troxel, D. E. 2003. A dithering algorithm for local composition control with three-dimensional printing. Computer-Aided Design 35, 9, 851–867.Google ScholarCross Ref
    10. Cicha, K., Li, Z., Stadlmann, K., Ovsianikov, A., Markut-Kohl, R., Liska, R., and Stampfl, J. 2011. Evaluation of 3D structures fabricated with two-photon-photopolymerization by using FTIR spectroscopy. Journal of Applied Physics 110, 6, 064911.Google ScholarCross Ref
    11. Clarberg, P., Toth, R., Hasselgren, J., and Akenine-Möller, T. 2010. An optimizing compiler for automatic shader bounding. Computer Graphics Forum 29, 4, 1259–1268. Google ScholarDigital Library
    12. Cohen-Or, D., and Kaufman, A. 1995. Fundamentals of surface voxelization. Graph. Models Image Process. 57, 6, 453–461. Google ScholarDigital Library
    13. Cook, R. L., Carpenter, L., and Catmull, E. 1987. The Reyes image rendering architecture. In Proc. SIGGRAPH, ACM, New York, NY, USA, 95–102. Google ScholarDigital Library
    14. Cook, R. L. 1984. Shade trees. In Proc. SIGGRAPH, ACM, New York, NY, USA, 223–231. Google ScholarDigital Library
    15. Cutler, B., Dorsey, J., McMillan, L., Müller, M., and Jagnow, R. 2002. A procedural approach to authoring solid models. In Proc. SIGGRAPH, ACM, New York, NY, USA, 302–311. Google ScholarDigital Library
    16. Floyd, R., and Steinberg, L. 1976. An adaptive algorithm for spatial gray scale. In Proc. Society of Information Display, vol. 17/2, 75–77.Google Scholar
    17. Frisken, S. F., Perry, R. N., Rockwood, A. P., and Jones, T. R. 2000. Adaptively sampled distance fields: a general representation of shape for computer graphics. In Proc. SIGGRAPH, ACM, New York, NY, USA, 249–254. Google ScholarDigital Library
    18. Gritz, L., 2012. OpenImageIO 1.0. http://openimageio.org.Google Scholar
    19. Hanrahan, P., and Lawson, J. 1990. A language for shading and lighting calculations. In Proc. SIGGRAPH, ACM, New York, NY, USA, 289–298. Google ScholarDigital Library
    20. Hasselgren, J., and Akenine-Möller, T. 2007. PCU: the programmable culling unit. ACM Trans. Graph. 26, 3 (July). Google ScholarDigital Library
    21. Hasselgren, J., Munkberg, J., and Akenine-Möller, T. 2009. Automatic pre-tessellation culling. ACM Trans. Graph. 28, 2 (May), 19:1–19:10. Google ScholarDigital Library
    22. Hašan, M., Fuchs, M., Matusik, W., Pfister, H., and Rusinkiewicz, S. 2010. Physical reproduction of materials with specified subsurface scattering. ACM Trans. Graph. 29 (July), 61:1–61:10. Google ScholarDigital Library
    23. Heidrich, W., Slusallek, P., and Seidel, H.-P. 1998. Sampling procedural shaders using affine arithmetic. ACM Trans. Graph. 17, 3 (July), 158–176. Google ScholarDigital Library
    24. Hewlett-Packard, 1984. Printer command language.Google Scholar
    25. Jackson, T. R. 2000. Analysis of functionally graded material object representation methods. PhD thesis, Massachusetts Institute of Technology.Google Scholar
    26. Lattner, C., and Adve, V. 2004. LLVM: A compilation framework for lifelong program analysis & transformation. In Proceedings of the International Symposium on Code Generation and Optimization: Feedback-directed and Runtime Optimization, IEEE Computer Society, Washington, DC, USA, CGO ’04. Google ScholarDigital Library
    27. Liu, H., Maekawa, T., Patrikalakis, N., Sachs, E., and Cho, W. 2004. Methods for feature-based design of heterogeneous solids. Computer-Aided Design 36, 12, 1141–1159.Google ScholarCross Ref
    28. Lorensen, W. E., and Cline, H. E. 1987. Marching cubes: A high resolution 3D surface construction algorithm. In Proceedings of the 14th annual conference on Computer graphics and interactive techniques, ACM, New York, NY, USA, 163–169. Google ScholarDigital Library
    29. Luo, L., Baran, I., Rusinkiewicz, S., and Matusik, W. 2012. Chopper: partitioning models into 3D-printable parts. ACM Trans. Graph. 31, 6 (Nov.), 129:1–129:9. Google ScholarDigital Library
    30. Mark, W. R., Glanville, R. S., Akeley, K., and Kilgard, M. J. 2003. Cg: a system for programming graphics hardware in a C-like language. ACM Trans. Graph. 22, 3 (July), 896–907. Google ScholarDigital Library
    31. Molnar, S., Cox, M., Ellsworth, D., and Fuchs, H. 1994. A sorting classification of parallel rendering. IEEE Computer Graphics and Applications 14, 4, 23–32. Google ScholarDigital Library
    32. Objet. Connex 500 multi-material 3D printing system.Google Scholar
    33. Perlin, K. 1985. An image synthesizer. In Proc. SIGGRAPH, ACM, New York, NY, USA, 287–296. Google ScholarDigital Library
    34. Pixar. 2005. The RenderMan Interface. Tech. rep., 11.Google Scholar
    35. Reisin, Z. B. 2009. Expanding applications and opportunities with PolyJet#8482;rapid prototyping technology. Tech. rep., Objet.Google Scholar
    36. Schwarz, M., and Seidel, H.-P. 2010. Fast parallel surface and solid voxelization on GPUs. ACM Transactions on Graphics 29, 6 (Dec.), 179:1–179:10. Google ScholarDigital Library
    37. Segal, M., and Akeley, K. 2012. The OpenGL graphics system: A specification, version 4.3. Tech. rep., SGI.Google Scholar
    38. Stava, O., Vanek, J., Benes, B., Carr, N., and Měch, R. 2012. Stress relief: improving structural strength of 3D printable objects. ACM Trans. Graph. 31, 4 (July), 48:1–48:11. Google ScholarDigital Library
    39. VoxelJet, 2013. VoxelJet VX4000 — the large-format 3D print system.Google Scholar
    40. Wang, L., Lau, J., Thomas, E. L., and Boyce, M. C. 2011. Co-continuous composite materials for stiffness, strength, and energy dissipation. Advanced Materials 23, 13, 1524–9.Google ScholarCross Ref
    41. Weyrich, T., Peers, P., Matusik, W., and Rusinkiewicz, S. 2009. Fabricating microgeometry for custom surface reflectance. ACM Transactions on Graphics 28, 3 (July), 32:1–32:6. Google ScholarDigital Library
    42. Zhou, M., Xi, J., and Yan, J. 2004. Modeling and processing of functionally graded materials for rapid prototyping. Journal of Materials Processing Technology 146, 3, 396–402.Google ScholarCross Ref

ACM Digital Library Publication: