PrintTalk: a constraint-based imperative DSL for 3D printing

Research output: Chapter in Book/Report/Conference proceedingMeeting abstract (Book)

2 Downloads (Pure)


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.
Original languageEnglish
Title of host publicationDSM 2021: Proceedings of the 18th ACM SIGPLAN International Workshop on Domain-Specific Modeling
Place of PublicationChicago, IL, USA
Number of pages10
ISBN (Electronic)978-1-4503-9106-1
Publication statusPublished - 18 Oct 2021
EventDSM 2021: International Workshop on Domain-Specific Modeling - Swissotel Chicago, Chicago, United States
Duration: 18 Oct 2021 → …
Conference number: 18


WorkshopDSM 2021: International Workshop on Domain-Specific Modeling
Abbreviated titleDSM
CountryUnited States
Period18/10/21 → …
Internet address


  • PrintTalk
  • Domain Specific Language
  • DSL
  • Design Languages
  • 3D Modelling
  • CAD
  • Constraints


Dive into the research topics of 'PrintTalk: a constraint-based imperative DSL for 3D printing'. Together they form a unique fingerprint.

Cite this