Taxon: a Language for Formal Reasoning with Digital Fabrication Machines

Digital fabrication machines for makers have expanded access to manufacturing processes such as 3D printing, laser cutting, and milling. While digital models encode the data necessary for a machine to manufacture an object, understanding the trade-offs and limitations of the machines themselves is crucial for successful production. Yet, this knowledge is not codified and must be gained through experience, which limits both adoption of and creative exploration with digital fabrication tools. To formally represent machines, we present Taxon, a language that encodes a machine’s high-level characteristics, physical composition, and performable actions. With this programmatic foundation, makers can develop rules of thumb that filter for appropriate machines for a given job and verify that actions are feasible and safe. We integrate the language with a browser-based system for simulating and experimenting with machine workflows. The system lets makers engage with rules of thumb and enrich their understanding of machines. We evaluate Taxon by representing several machines from both common practice and digital fabrication research. We find that while Taxon does not exhaustively describe all machines, it provides a starting point for makers and HCI researchers to develop tools for reasoning about and making decisions with machines.

[1]  Ravi Chugh,et al.  Programmatic and direct manipulation, together at last , 2015, PLDI.

[2]  Jasper Tran O'Leary,et al.  Machine-o-Matic: A Programming Environment for Prototyping Digital Fabrication Workflows , 2019, UIST.

[3]  Leah Buechley,et al.  Codeable objects: computational design and digital fabrication for novice programmers , 2013, CHI.

[4]  Viktor Kuncak,et al.  Bidirectional evaluation with direct manipulation , 2018, Proc. ACM Program. Lang..

[5]  Kanit Wongsuphasawat,et al.  Voyager: Exploratory Analysis via Faceted Browsing of Visualization Recommendations , 2016, IEEE Transactions on Visualization and Computer Graphics.

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

[7]  Michael S. Bernstein,et al.  PolicyKit: Building Governance in Online Communities , 2020, UIST.

[8]  Lining Yao,et al.  Investigating Underdetermination Through Interactive Computational Handweaving , 2020, Conference on Designing Interactive Systems.

[9]  Eric Paulos,et al.  Turn-by-Wire: Computationally Mediated Physical Fabrication , 2019, UIST.

[10]  James R. Wilcox,et al.  Synthesizing structured CAD models with equality saturation and inverse transformations , 2019, PLDI.

[11]  Kimiko Ryokai,et al.  Probing the Potential of Post-Anthropocentric 3D Printing , 2016, Conference on Designing Interactive Systems.

[12]  Mark D. Gross,et al.  Interactive fabrication: new interfaces for digital fabrication , 2010, TEI.

[13]  Sean Follmer,et al.  Drill Sergeant: Supporting Physical Construction Projects through an Ecosystem of Augmented Tools , 2016, CHI Extended Abstracts.

[14]  Sanjit A. Seshia,et al.  Combinatorial sketching for finite programs , 2006, ASPLOS XII.

[15]  Matt Dombrowski,et al.  Leveraging 3D Printing Capacity in Times of Crisis: Recommendations for COVID-19 Distributed Manufacturing for Medical Equipment Rapid Response , 2020, International journal of environmental research and public health.

[16]  Chi-Wing Fu,et al.  Fabricable eulerian wires for 3D shape abstraction , 2018, ACM Trans. Graph..

[17]  Robert Kovacs,et al.  Patching Physical Objects , 2015, UIST.

[18]  Joshua Vasquez,et al.  Jubilee: An Extensible Machine for Multi-tool Fabrication , 2020, CHI.

[19]  Pedro Lopes,et al.  Interactive construction: interactive fabrication of functional mechanical devices , 2012, UIST.

[20]  Erik Seligman,et al.  Formal Verification: An Essential Toolkit for Modern VLSI Design , 2015 .

[21]  Nathaniel Hudson,et al.  Understanding Newcomers to 3D Printing: Motivations, Workflows, and Barriers of Casual Makers , 2016, CHI.

[22]  Luis Ceze,et al.  Puddle: A Dynamic, Error-Correcting, Full-Stack Microfluidics Platform , 2019, ASPLOS.

[23]  Tovi Grossman,et al.  Smart Makerspace: An Immersive Instructional Space for Physical Tasks , 2015, ITS.

[24]  Alexander Y. Piggott,et al.  Fabrication-constrained nanophotonic inverse design , 2016, Scientific Reports.

[25]  Audrey Desjardins,et al.  ListeningCups: A Case of Data Tactility and Data Stories , 2019, Conference on Designing Interactive Systems.

[26]  Xiang 'Anthony' Chen,et al.  Robiot: A Design Tool for Actuating Everyday Objects with Automatically Generated 3D Printable Mechanisms , 2019, UIST.

[27]  Dan R. Olsen,et al.  Evaluating user interface systems research , 2007, UIST.

[28]  Kris Luyten,et al.  StrutModeling: A Low-Fidelity Construction Kit to Iteratively Model, Test, and Adapt 3D Objects , 2017, UIST.

[29]  William Buxton,et al.  Usability evaluation considered harmful (some of the time) , 2008, CHI.

[30]  Arvind Satyanarayan,et al.  Vega-Lite: A Grammar of Interactive Graphics , 2018, IEEE Transactions on Visualization and Computer Graphics.

[31]  Hiroshi Ishii,et al.  xPrint: A Modularized Liquid Printer for Smart Materials Deposition , 2016, CHI.

[32]  Philip J. Guo,et al.  Bespoke: Interactively Synthesizing Custom GUIs from Command-Line Applications By Demonstration , 2019, UIST.

[33]  Eric Paulos,et al.  Illumination Aesthetics: Light as a Creative Material within Computational Design , 2017, CHI.

[34]  Ye Yuan,et al.  Computational abstractions for interactive design of robotic devices , 2017, 2017 IEEE International Conference on Robotics and Automation (ICRA).

[35]  Steve Marschner,et al.  On-The-Fly Print: Incremental Printing While Modelling , 2016, CHI.

[36]  Abderrahmane Kheddar,et al.  Introducing Geometric Constraint Expressions Into Robot Constrained Motion Specification and Control , 2016, IEEE Robotics and Automation Letters.

[37]  Joris De Schutter,et al.  eTaSL/eTC: A constraint-based task specification language and robot controller using expression graphs , 2014, 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems.

[38]  D. Rosner,et al.  Mimetic Machines: Collaborative Interventions in Digital Fabrication with Arc , 2016, CHI.

[39]  Scott E. Hudson,et al.  Greater than the Sum of its PARTs: Expressing and Reusing Design Intent in 3D Models , 2018, CHI.

[40]  Audrey Desjardins,et al.  ListeningCups , 2019, Proceedings of the 2019 on Designing Interactive Systems Conference.

[41]  Arvind Satyanarayan,et al.  Declarative interaction design for data visualization , 2014, UIST.

[42]  Clement Zheng,et al.  Compositional 3D printing: expanding & supporting workflows towards continuous fabrication , 2018, SCF.

[43]  Katharina Mülling,et al.  Automatic Design of Task-specific Robotic Arms , 2018, ArXiv.

[44]  Ruta Desai,et al.  Assembly-aware Design of Printable Electromechanical Devices , 2018, UIST.

[45]  Matthew T. Mason,et al.  Compliance and Force Control for Computer Controlled Manipulators , 1981, IEEE Transactions on Systems, Man, and Cybernetics.

[46]  Eric Paulos,et al.  Guardians of Practice: A Contextual Inquiry of Failure-Mitigation Strategies within Creative Practices , 2018, Conference on Designing Interactive Systems.

[47]  HeerJeffrey,et al.  D3 Data-Driven Documents , 2011 .

[48]  Eric Rosenbaum,et al.  Scratch: programming for all , 2009, Commun. ACM.

[49]  Scott E. Hudson,et al.  Printing teddy bears: a technique for 3D printing of soft interactive objects , 2014, CHI.

[50]  Ron Wakkary,et al.  Digital crafts-machine-ship , 2019, Interactions.

[51]  Peter Dybjer,et al.  Dependent Types at Work , 2009, LerNet ALFA Summer School.

[52]  Ravi Chugh,et al.  Sketch-n-Sketch: Output-Directed Programming for SVG , 2019, UIST.

[53]  Jeffrey Heer,et al.  Formalizing Visualization Design Knowledge as Constraints: Actionable and Extensible Models in Draco , 2018, IEEE Transactions on Visualization and Computer Graphics.

[54]  Nur Yildirim,et al.  Digital Fabrication Tools at Work: Probing Professionals' Current Needs and Desired Futures , 2020, CHI.

[55]  Cheng Xu,et al.  Make your own piccolo , 2013, TEI '13.

[56]  Christopher N. Takahashi,et al.  Puddle , 2019, Proceedings of the Twenty-Fourth International Conference on Architectural Support for Programming Languages and Operating Systems.

[57]  Saul Greenberg,et al.  Evaluation Strategies for HCI Toolkit Research , 2018, CHI.