  Machine settings and tuning are critical for digital fabrication outcomes.
However, exploring these parameters is non-trivial. We seek to enable
exploration of the full design space of digital fabrication. To identify where
we might intervene, we studied how practitioners approach 3D printing. We found
that beyond using CAD/CAM, they create bespoke routines and workflows to
explore interdependent material and machine settings. We seek to provide a
system that supports this workflow development. We identified design goals
around material exploration, fine-tuned control, and iteration. Based on these,
we present p5.fab, a system for controlling digital fabrication machines from
the creative coding environment p5.js. We demonstrate p5.fab with examples of
3D prints that cannot be made with traditional 3D printing software. We
evaluate p5.fab in workshops and find that it encourages novel printing
workflows and artifacts. Finally, we discuss implications for future digital
fabrication systems.
