Carpentry compiler

Traditional manufacturing workflows strongly decouple design and fabrication phases. As a result, fabrication-related objectives such as manufacturing time and precision are difficult to optimize in the design space, and vice versa. This paper presents HL-HELM, a high-level, domain-specific language for expressing abstract, parametric fabrication plans; it also introduces LL-HELM, a low-level language for expressing concrete fabrication plans that take into account the physical constraints of available manufacturing processes. We present a new compiler that supports the real-time, unoptimized translation of high-level, geometric fabrication operations into concrete, tool-specific fabrication instructions; this gives users immediate feedback on the physical feasibility of plans as they design them. HELM offers novel optimizations to improve accuracy and reduce fabrication time as well as material costs. Finally, optimized low-level plans can be interpreted as step-by-step instructions for users to actually fabricate a physical product. We provide a variety of example fabrication plans in the carpentry domain that are designed using our high-level language, show how the compiler translates and optimizes these plans to generate concrete low-level instructions, and present the final physical products fabricated in wood.

[1]  Jiawei Zhang,et al.  A Survey of Multiobjective Evolutionary Algorithms , 2017, 22017 IEEE International Conference on Computational Science and Engineering (CSE) and IEEE International Conference on Embedded and Ubiquitous Computing (EUC).

[2]  Charles Gregory Nelson,et al.  Techniques for program verification , 1979 .

[3]  Sylvain Lefebvre,et al.  Towards Zero-Waste Furniture Design , 2017, IEEE Transactions on Visualization and Computer Graphics.

[4]  David Marcheix,et al.  A Method To Improve Matching Process by Shape Characteristics in Parametric Systems , 2009 .

[5]  Yue Dong,et al.  Bi-scale appearance fabrication , 2013, ACM Trans. Graph..

[6]  Wojciech Matusik,et al.  Retrieval on Parametric Shape Collections , 2017, ACM Trans. Graph..

[7]  Alexander Aiken,et al.  Automatic generation of peephole superoptimizers , 2006, ASPLOS XII.

[8]  Wojciech Matusik,et al.  A compiler for 3D machine knitting , 2016, ACM Trans. Graph..

[9]  Pavel Panchekha,et al.  Automatically improving accuracy for floating point expressions , 2015, PLDI.

[10]  Carlo H. Séquin,et al.  RISC I: a reduced instruction set VLSI computer , 1981, ISCA '98.

[11]  Charlie C. L. Wang,et al.  Support-free volume printing by multi-axis motion , 2018, ACM Trans. Graph..

[12]  Chun-Kai Huang,et al.  Legolization: optimizing LEGO designs , 2015, ACM Trans. Graph..

[13]  Wojciech Matusik,et al.  Computational multicopter design , 2016, ACM Trans. Graph..

[14]  Daniel Cohen-Or,et al.  DSCarver: decompose-and-spiral-carve for subtractive manufacturing , 2018, ACM Trans. Graph..

[15]  Dinakar Dhurjati,et al.  Scaling up Superoptimization , 2016, ASPLOS.

[16]  E. Hopper,et al.  An empirical investigation of meta-heuristic and heuristic algorithms for a 2D packing problem , 2001, Eur. J. Oper. Res..

[17]  Wojciech Matusik,et al.  OpenFab , 2013, ACM Trans. Graph..

[18]  Henry Massalin Superoptimizer: a look at the smallest program , 1987, ASPLOS 1987.

[19]  W. Maeder,et al.  Algorithms and an extended STEP-NC-compliant data model for wire electro discharge machining based on 3D representations , 2006, Int. J. Comput. Integr. Manuf..

[20]  Luc Van Gool,et al.  Procedural modeling of buildings , 2006, SIGGRAPH 2006.

[21]  Mary Lou Soffa,et al.  An approach to ordering optimizing transformations , 1990, PPOPP '90.

[22]  Olga Sorkine-Hornung,et al.  Spin-it , 2014, ACM Trans. Graph..

[23]  David H. Laidlaw,et al.  Constructive solid geometry for polyhedral objects , 1986, SIGGRAPH.

[24]  Christian Brecher,et al.  Closed-loop CAPP/CAM/CNC process chain based on STEPand STEP-NC inspection tasks , 2006, Int. J. Comput. Integr. Manuf..

[25]  Pascal Müller,et al.  Advanced procedural modeling of architecture , 2015, ACM Trans. Graph..

[26]  Dan Grossman,et al.  Functional programming for compiling and decompiling computer-aided design , 2018, Proc. ACM Program. Lang..

[27]  Jie Xu,et al.  Interactive design space exploration and optimization for CAD models , 2017, ACM Trans. Graph..

[28]  Marc Alexa,et al.  Optimal Discrete Slicing , 2017, TOGS.

[29]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[30]  Peng Song,et al.  Reconfigurable interlocking furniture , 2017, ACM Trans. Graph..

[31]  Takeo Igarashi,et al.  Plushie: an interactive design system for plush toys , 2007, SIGGRAPH 2007.

[32]  Kun Zhou,et al.  Computational design and fabrication of soft pneumatic objects with desired deformations , 2017, ACM Trans. Graph..

[33]  Takeo Igarashi,et al.  Converting 3D furniture models to fabricatable parts and connectors , 2011, ACM Trans. Graph..

[34]  Peng Song,et al.  Computational interlocking furniture assembly , 2015, ACM Trans. Graph..

[35]  Michael Stepp,et al.  Equality saturation: a new approach to optimization , 2009, POPL '09.

[36]  Baining Guo,et al.  Fabricating spatially-varying subsurface scattering , 2010, ACM Trans. Graph..

[37]  Keith H. Randall,et al.  Denali: a goal-directed superoptimizer , 2002, PLDI '02.

[38]  M. Otaduy,et al.  Design and fabrication of materials with desired deformation behavior , 2010, ACM Trans. Graph..

[39]  Graham Kendall,et al.  A New Bottom-Left-Fill Heuristic Algorithm for the Two-Dimensional Irregular Packing Problem , 2006, Oper. Res..

[40]  Stephen T. Newman,et al.  Making CNC machine tools more open, interoperable and intelligent - a review of the technologies , 2006, Comput. Ind..

[41]  Mary Lou Soffa,et al.  An approach for exploring code improving transformations , 1997, TOPL.

[42]  Lingfeng Wang,et al.  Buoyancy Optimization for Computational Fabrication , 2016, Comput. Graph. Forum.

[43]  Hao Zhang,et al.  Foldabilizing furniture , 2015, ACM Trans. Graph..

[44]  Olga Sorkine-Hornung,et al.  Shape representation by zippables , 2018, ACM Trans. Graph..

[45]  Bernd Bickel,et al.  State of the Art on Stylized Fabrication , 2018, Comput. Graph. Forum.

[46]  Keenan Crane,et al.  Beyond developable , 2016, ACM Trans. Graph..

[47]  Przemyslaw Prusinkiewicz,et al.  L-systems: from the Theory to Visual Models of Plants , 2001 .

[48]  Philip Wadler,et al.  Linear Types can Change the World! , 1990, Programming Concepts and Methods.

[49]  Takeo Igarashi,et al.  Guided exploration of physically valid shapes for furniture design , 2012, ACM Trans. Graph..

[50]  Takeo Igarashi,et al.  Plushie: an interactive design system for plush toys , 2007, ACM Trans. Graph..

[51]  Sumit Gulwani,et al.  Program Synthesis , 2017, Software Systems Safety.

[52]  Eitan Grinspun,et al.  Interactive surface design with interlocking elements , 2015, ACM Trans. Graph..

[53]  Matthieu Rauch,et al.  STEP-NC compliant process planning of additive manufacturing: remanufacturing , 2017 .

[54]  Wojciech Matusik,et al.  Robot Assisted Carpentry for Mass Customization , 2018, 2018 IEEE International Conference on Robotics and Automation (ICRA).

[55]  S. Q. Xie,et al.  A STEP-compliant process planning system for sheet metal parts , 2006, Int. J. Comput. Integr. Manuf..

[56]  Willem F. Bronsvoort,et al.  A Feature-Based Solution to the Persistent Naming Problem , 2005 .

[57]  Alfred V. Aho,et al.  Compilers: Principles, Techniques, and Tools , 1986, Addison-Wesley series in computer science / World student series edition.