Coupling Programs and Visualization for Machine Knitting

To effectively program knitting machines, like any fabrication machine, users must be able to place the code they write in correspondence with the output the machine produces. This mapping is used in the code-to-output direction to understand what their code will produce, and in the output-to-code direction to debug errors in the finished product. In this paper, we describe and demonstrate an interface that provides two-way coupling between high- or low-level knitting code and a topological visualization of the knitted output. Our system allows the user to locate the knitting machine operations generated by any selected code, as well as the code that generates any selected knitting machine operation. This link between the code and visualization has the potential to reduce the time spent in design, implementation, and debugging phases, and save material costs by catching errors before actually knitting the object. We show examples of patterns designed using our tool and describe common errors that the tool catches when used in an academic lab setting and an undergraduate course.

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

[2]  Pynegar Eric Everard Grace,et al.  Knitting machine needle , 1965 .

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

[4]  Wojciech Matusik,et al.  Knitting Skeletons: A Computer-Aided Design Tool for Shaping and Patterning of Knitted Garments , 2019, UIST.

[5]  Zachary Tatlock,et al.  Carpentry compiler , 2019, ACM Trans. Graph..

[6]  Greg Nelson,et al.  Juno, a constraint-based graphics system , 1985, SIGGRAPH.

[7]  Prabhat Kumar,et al.  FabCode: visual programming environment for digital fabrication , 2014, IDC.

[8]  Daisuke Suzuki,et al.  A Supporting System for Colored Knitting Design , 2000, IEA/AIE.

[9]  Jared Roesch,et al.  Theia: automatically generating correct program state visualizations , 2019 .

[10]  Tom Shaked,et al.  KNITIT: a computational tool for design, simulation, and fabrication of multiple structured knits , 2018, SCF.

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

[12]  Rob Miller,et al.  Addressing misconceptions about code with always-on programming visualizations , 2014, CHI.

[13]  Philip J. Guo Online python tutor: embeddable web-based program visualization for cs education , 2013, SIGCSE '13.

[14]  Maneesh Agrawala,et al.  Supporting Visual Artists in Programming through Direct Inspection and Control of Program Execution , 2020, CHI.

[15]  Kenneth P. Brooks,et al.  Lilac: a two-view document editor , 1991, Computer.

[16]  Rahul Narain,et al.  Homogenized yarn-level cloth , 2020, ACM Trans. Graph..

[17]  Mark Linton,et al.  A two-view document editor with user-definable document structure , 1988 .

[18]  Kui Wu,et al.  Visual knitting machine programming , 2019, ACM Trans. Graph..

[19]  Philippe Block,et al.  Automated Generation of Knit Patterns for Non-developable Surfaces , 2018 .

[20]  Kenneth P. Brooks,et al.  A two-view approach to constructing user interfaces , 1989, SIGGRAPH.

[21]  Peng Li,et al.  View-based maintenance of graphical user interfaces , 2008, AOSD.

[22]  John G. Hosking,et al.  Visual code annotations for cyberphysical programming , 2013, 2013 1st International Workshop on Live Programming (LIVE).

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

[24]  Andrés Lucero,et al.  Integrated Workflows: Generating Feedback Between Digital and Physical Realms , 2019, CHI.

[25]  Michael A. Harrison,et al.  A Multiple-Representation Paradigm for Document Development , 1988 .

[26]  NelsonGreg Juno, a constraint-based graphics system , 1985 .

[27]  Steven Trimberger,et al.  Combining Graphics and a Layout Language in a Single Interactive System , 1981, 18th Design Automation Conference.

[28]  Paul John Asente,et al.  Editing graphical objects using procedural representations , 1988 .

[29]  Mitchel Resnick,et al.  DRESSCODE: SUPPORTING YOUTH IN COMPUTATIONAL DESIGN AND MAKING , 2022 .

[30]  Fabian Scheurer,et al.  BRIDGING THE GAP FROM CAD TO CAM:: CONCEPTS, CAVEATS AND A NEW GRASSHOPPER PLUG-IN , 2017 .

[31]  Miguel A. Otaduy,et al.  Mixing Yarns and Triangles in Cloth Simulation , 2020, Comput. Graph. Forum.

[32]  Haoqi Zhang,et al.  Telescope: Fine-Tuned Discovery of Interactive Web UI Feature Implementation , 2016, UIST.