Machine Knitting with Punchcards: Final Project – Liz DiGioia

Introduction

For my final project, I aimed to create knitted designs by coding punchcards, laser cutting them, and using them with a punchcard knitting machine to knit swatches. I also wanted to use the patterns to create objects. I was able to achieve all of these goals except for the objects. In the end, I designed 4 different patterns and was able to successfully knit all of them. I also learned the skills required for both laser cutting and machine knitting.

Related Work

Previous work on machine knitting helped me to understand what was possible to achieve using this particular fabrication method. These included computationally designing 3D knitted features for a punchcard knitting machine1 and illusion images in knitted fabric by leveraging the microgeometry of the knitted stitches2. Prior to exploring these works, I had no idea that such advanced techniques were possible. Other work focused more on designing improved user interfaces, such as a higher-level programming language for knitting machines3 and a web-based tool for designing and simulating slip and tuck colorwork patterns4. The interfaces provided by these works ended up not being very applicable for my project, but their description of how knitting machines work greatly aided my understanding of the machine knitting process.

Illusion Knitting
KnitScape

In addition to these academic sources, YouTube videos created by the machine knitting community were of great help in developing the skills required for this fabrication process. Some channels5,6 provided clear instructions for necessary processes like casting on, binding off, increasing and decreasing the number of stitches in use, and calculating the gauge of machine knitted fabric (a critical step for garment creation). Another video7 demonstrated how to change needles on the particular machine I was using. These all assisted me in the fabrication process and enabled me to complete my project successfully.

Part of Gauge Calculation Process – The Knitting School
Increasing the number of stitches in the fabric – KnitFactoryImpl

This last work isn’t directly related to my project, but it was too interesting not to share. A member of the YouTube machine knitting community is in the process of releasing a series of videos on how she designed and 3D printed her own knitting machine on an Ender 3 V2 printer8. These videos are highly detailed and very interesting, with excellent citations. The creator of these videos plans to release her code on GitHub.

3D Printed Knitting Machine – Sparks’ Curiosity

Process

  1. Computational Design

    My process began with the computational design of my punchcards. I chose to write my code in Python and was able to use the PyMuPDF9 package to create PDF files. The package contains very useful functionality such as drawing polylines and circles. First, I needed to create a basic punchcard template. The commercial punchcards I based my design off of all contained common features: two punches in each corner to clip punchcards together, 2 completely punched-out rows at the top and bottom of the punchcard, and a vertical border of punches on each side of the punchcard used to move it through the machine. I measured the punchcard’s dimensions, as well as the positions and spacing of all of the previously mentioned elements, on a commercial punchcard in millimeters. I then created the code to draw these elements, which included converting the measurements to points. This is slightly confusing, as within the code I was using Cartesian coordinate points to specify locations. The unit “points” is a separate thing which PyMuPDF uses as the unit to draw the PDFs.



    Once I had the basic template correct, I began creating my designs. The main challenge I encountered was the highly discrete nature of the punches. To get started, I considered a simple sine curve. I technically used a sine function to generate values, however I couldn’t just plug those in and get a usable punchcard. I input limited inputs into the sine function and then mapped the output to the actual rows of the punchcard. After I had created the Sine Pattern, I decided to sketch the other designs out in advance. This helped a lot with thinking through the logistics involved.



    My second design was the Von Koch Pattern. This is comprised of an approximation of the Von Koch Snowflake and two instances of the Von Koch Curve. This time I created the design using relative coordinates to create the desired shapes from initial starting positions. My third and fourth designs were the Christmas Pattern and Sierpinski Carpet Pattern respectively. I continued using relative coordinates to dictated the shapes to create. For each of these, I changed the height of the punchcard to play around with design size. The Christmas Pattern is the largest punchcard I created and repeats its design twice. This was pretty easy to work with when knitting. In contrast, the Sierpinski Carpet Pattern is the smallest punchcard, and it was actually fairly difficult to put through the machine. I would not recommend creating punchcards any smaller than this.



    One interesting issue I ran into with the design of the punchcards was a failure to take the shape of the knit stitches into account. I created a version of the Christmas Pattern which featured more complex trees than in the final design. On the punchcard they looked great. However, knit stitches are shaped like “v”s. As a result, the design looked a lot more like little bugs than trees.

  2. Punchcard Fabrication with a Laser Cutter

    Once I had designed a punchcard, I used a Trotec laser cutter to cut it out of paper. The laser cutter accepts PDF files so the punchcard files only needed a small amount of processing before I could commence cutting. This processing included labeling which marks to cut (which in my case was all of them) and specifying the material being used. The laser cutting was a surprisingly quick process, with the longest time to cut a punchcard being around 4 minutes.

  3. Swatch Fabrication with a Knitting Machine

    After I had cut a punchcard, I knit a swatch with its design on the knitting machine. At the beginning of this project, I was using a KnitKing PC Bulky machine, which is meant for use with chunkier yarns. However, the yarn I was using was fine enough that I switched to a Toyota KS901. The difference in the swatches created by these machines using a commercial punchcard is shown below.



    There are many different types of colorwork in knitting. For simplicity, I created all of my designs using Fair Isle stitching. To create a stable swatch, a few rows of stockinette stitch (the basic knit stitch) have to be knitted before beginning the Fair Isle pattern. When I was ready to being the Fair Isle portion, I loaded the punchcard into its slot, threaded my second color, and let the machine select which needles needed to be used in each row of the pattern. The machine moved the punchcard down with each row I knitted. Once the pattern was complete, I knitted a few more rows of stockinette and bound off the swatch. After this, I blocked the swatch. This process consists of handwashing the swatch, correcting any issues in its shape by stretching it, and letting it air dry. When the fibers in the yarn are exposed to water, they swell and fill in small gaps in the fabric. This results in a tighter, more professional-looking fabric.

    The main issue I encountered with the knitting machine consisted of either the main yarn or second yarn getting caught by the brushes on the bottom of the sinker plate. This seemed to occur if the yarn was loose enough to double back on itself in the direction I was moving the carriage or if the second yarn specifically was feeding down into the brushes rather than across the sinker plate. Some of the gate pegs on this machine are also bent outwards slightly, and this seemed to exacerbate the problem. If I tried to continue knitting with this issue, I either snapped the yarn or caused the machine to knit without grabbing the next layer of yarn. When this happens, the entire piece drops off of the machine. It is possible to rehang it, but it’s a very tricky and tedious process. I was able to largely stop this issue from happening by ensuring the yarn was in the correct position on the sinker plate after each pass. When I wasn’t able to prevent this, I was able to fix it by moving the carriage all the way to the end of the machine and unhooking the yarn from wherever it was caught. However, this fix created the possibility for the yarn to double back on itself while moving the carriage back to the needles in work. This necessitated maintaining the tension by hand until the in-work needles caught the yarn.

Outcome

Final swatches (from upper left to lower right: Sine Pattern, Christmas Pattern, Von Koch Pattern, Sierpinski Carpet Pattern)
Final punchcards (from left to right: Sine Pattern, Von Koch Pattern, Christmas Pattern, Sierpinski Carpet Pattern)

I’m happy with how all of my swatches and punchcards turned out. My personal favorite is the Von Koch pattern. On the technical side, I think the Christmas Pattern turned out best of all. The Sierpinski Carpet Pattern is fun, but I wish it looked a little less rectangular.

Future Work

If I had more time on this project, I would definitely use my punchcards to create objects featuring my designs. In particular, I had planned to use the Christmas Pattern to make a sweater for my roommate’s cat. I would also have loved to create gloves, socks, a hat, or a sweater for myself. I think the Von Koch Pattern would be especially great on a sweater, and the Sierpenski Carpet Pattern would be a fun choice for gloves. I would also like to implement more fractal patterns as punchcards, such as the Sierpenski Gasket.

Reflection

Through this project, I learned how to laser cut, and machine knit. The knowledge of how to laser cut a design seems like a handy skill to have. I’d like to explore more complex laser cutting projects in the future. Learning how to machine knit was a steep learning curve, but one I greatly enjoyed. I hope to continue using my punchcards to create knits once I’m able to acquire a punchcard knitting machine of my own.

Slides

https://docs.google.com/presentation/d/17VApCvU3daSI79_MVrxYCBn8x5W6GX8Ah917rP0M0DM/edit?usp=sharing

Code and Punchcard Files

References

  1. A Parametric 3D Knitting Workflow for Punchcard Knitting Machines – https://dl.acm.org/doi/10.1145/3544549.3585721 ↩︎
  2. Computational Illusion Knitting – https://dl.acm.org/doi/pdf/10.1145/3658231 ↩︎
  3. Knitscript: A Domain-Specific Scripting Language for Advanced Machine Knitting – https://dl.acm.org/doi/10.1145/3586183.3606789 ↩︎
  4. KnitScape: Computational Design and Yarn-Level Simulation of Slip and Tuck Colorwork Knitting Patterns – https://dl.acm.org/doi/pdf/10.1145/3613904.3642799 ↩︎
  5. The Knitting School – https://www.youtube.com/@theknittingschool ↩︎
  6. KnitFactoryImpl – https://www.youtube.com/@KnitFactoryImpl ↩︎
  7. The Knitting Machine school – https://www.youtube.com/@TheKnittingMachineSchool ↩︎
  8. Sparks’ Curiosity – https://www.youtube.com/@SparksCuriosity/featured
    Playlist on her process: https://www.youtube.com/playlist?list=PLWDnfcUpk7PLQRvfuGytMauK_sR6CEwI9 ↩︎
  9. PyMuPDF – https://pymupdf.readthedocs.io/en/latest/ ↩︎

Leave a Reply