PrintTalk: A Constraint-Based Imperative DSL for 3D Printing
We present PrintTalk, a DSL to "program" 3D objects, called "gadgets". PrintTalk also features "topologies", which are predefined spacial arrangements of gadgets. Gadgets are composed by executing a gadget script (possibly consisting of subscripts) that 'draws' the gadget in the 3D scene. However, executing the script also returns a number of constraint variables. These variables can be constrained inside the gadget and can also be bound outside the gadget in order to constrain the produced gadgets after the facts. This is the essence of the gadget composition mechanism of PrintTalk.
PrintTalk is implemented in DrRacket. Running a PrintTalk program generates a file that is sent to the 3D printer. We validate PrintTalk qualitatively by comparing the code for complex gadgets with the code needed to print those gadgets in existing languages.
Mon 18 OctDisplayed time zone: Central Time (US & Canada) change
09:00 - 10:20 | |||
09:00 20mTalk | Introduction DSM Jeff Gray University of Alabama, Matti Rossi Aalto University School of Business, Jonathan Sprinkle University of Arizona, Juha-Pekka Tolvanen MetaCase | ||
09:20 20mTalk | MOLEGA: Modeling Language for Educational Card Games DSM DOI | ||
09:40 20mTalk | PrintTalk: A Constraint-Based Imperative DSL for 3D Printing DSM Jef Jacobs Vrije Universiteit Brussel, Jens Nicolay Vrije Universiteit Brussel, Christophe De Troyer Vrije Universiteit Brussel, Wolfgang De Meuter Vrije Universiteit Brussel DOI | ||
10:00 20mTalk | Industrial Experiences with the Evolution of a DSL DSM Mathijs Schuts Philips; Radboud University Nijmegen, Marco Alonso Philips, Jozef Hooman TNO; Radboud University Nijmegen DOI |