Industrial knitting machines can produce finely detailed, seamless, 3D surfaces quickly and without human intervention. However, the tools used to program them require detailed manipulation and understanding of low-level knitting operations. We present a compiler that can automatically turn assemblies of high-level shape primitives (tubes, sheets) into low-level machine instructions. These high-level shape primitives allow knit objects to be scheduled, scaled, and otherwise shaped in ways that require thousands of edits to low-level instructions. At the core of our compiler is a heuristic transfer planning algorithm for knit cycles, which we prove is both sound and complete. This algorithm enables the translation of high-level shaping and scheduling operations into needle-level operations. We show a wide range of examples produced with our compiler and demonstrate a basic visual design interface that uses our compiler as a backend.
McCann, J., Albaugh, L., Narayanan, V., Grow, A., Matusik, W., Mankoff, J., & Hodgins, J. (2016). A compiler for 3D machine knitting. In ACM Transactions on Graphics (Vol. 35). Association for Computing Machinery. https://doi.org/10.1145/2897824.2925940