Creative Commons Attribution 3.0 Unported license
We propose a research agenda to investigate programming language techniques for improving affordable, end-user desktop manufacturing processes such as 3D printing. Our goal is to adapt programming languages tools and extend the decades of research in industrial, high-end CAD/CAM in order to help make affordable desktop manufacturing processes more accurate, fast, reliable, and accessible to end-users. We focus on three major areas where 3D printing can benefit from programming language tools: design synthesis, optimizing compilation, and runtime monitoring. We present preliminary results on synthesizing editable CAD models from difficult-to-edit surface meshes, discuss potential new compilation strategies, and propose runtime monitoring techniques. We conclude by discussing additional near-future directions we intend to pursue.
@InProceedings{nandi_et_al:LIPIcs.SNAPL.2017.10,
author = {Nandi, Chandrakana and Caspi, Anat and Grossman, Dan and Tatlock, Zachary},
title = {{Programming Language Tools and Techniques for 3D Printing}},
booktitle = {2nd Summit on Advances in Programming Languages (SNAPL 2017)},
pages = {10:1--10:12},
series = {Leibniz International Proceedings in Informatics (LIPIcs)},
ISBN = {978-3-95977-032-3},
ISSN = {1868-8969},
year = {2017},
volume = {71},
editor = {Lerner, Benjamin S. and Bod{\'\i}k, Rastislav and Krishnamurthi, Shriram},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/LIPIcs.SNAPL.2017.10},
URN = {urn:nbn:de:0030-drops-71226},
doi = {10.4230/LIPIcs.SNAPL.2017.10},
annote = {Keywords: 3D printing, rapid prototyping, desktop manufacturing, compilers, verification, synthesis}
}