15-469A/869K: Algorithmic Textiles Design (Spring, 2020)

Fridays from 13:30-16:20 in GHC 4301 via video conference.

Instructor: Jim McCann. Office hours, virtually or in person, by appointment.
Help also available in Wean 1334 during Knitout Office Hours (most Thursday evenings at [around] 5-6:30pm, sign up for mailing list).
Class Piazza: http://piazza.com/cmu/spring2020/15869k.


Textile artifacts are -- quite literally -- all around us; from clothing to carpets to car seats. These items are often produced by sophisticated, computer-controlled fabrication machinery. In this course we will discuss everywhere code touches textiles fabrication, including design tools, simulators, and machine control languages. Students will work on a series of multi-week, open-ended projects, where they use code to create patterns for modern sewing/embroidery, weaving, and knitting machines; and then fabricate these patterns in the textiles lab. Students in the 800-level version of the course will be required to create a final project which develops a new algorithm, device, or technique in the realm of textiles fabrication.

Other versions: this course also appeared in Spring 2019 and will appear in Spring 2021.


Familiarity with at least one programming language.


Students will be graded out of 55 points, divided as follows:

15Class Exercises / Participation

Feel free to use source code from others, as long as that code's license permits it and you give proper credit. Using the work of others without giving credit (even if they don't ask for credit) is plagiarism and will result in you failing the course.


This schedule is perpetually prone to adjustment.

01/17/2019 No Class: Jim is in Japan Before Class: Start the Warm-Up Tetraptych
01/24/2019 Before Class: upload Warm-Up Tetraptych documentation Course Overview Algorithms and fabrication Lab Tour Mini-Critique: Warm-Up Tetraptych
01/31/2019 Knitting Basic Knitout Operations In Class: Hand-Powered Knitting Machines Big ideas in Machine Knitting In Class: Your first Knitout Rectangle Puzzles: knit/purl on tube; four layers of fabric
Knitting Project (01/31/2019 - 02/14/2019)
02/07/2019 Before Class: knit your rectangle on our machine Before Class: post Knitting Project inspiration 2/3rds Gauge Dependencies and Slack Stitch Scheduling Discussion: Knitting Project ideas Tube Layouts and Gauge Mappings
02/14/2019 Before Class: upload Knitting Project documentation Critique: Knitting Project Research: Knitting simulation
Flat Sewing
Sewing Project (02/21/2019 - 03/13/2019 end of semester)
02/21/2019 Before Class: watch (the secret life of) sewing machines Sewing Intro Cut-and-sew, Embroidery, Quilting How Machines Sew CNC Sewing Our Embroidery and Quilting Machines Data formats In Class: Make an interesting line
02/28/2019 Before Class: post Sewing Project inspiration Mini-Critique: Interesting Line single-line pattern generation Interfaces for single-line patterns and embroidery design Smocking Stuffing Tensegrity Structures changing material properties with embroidery Discussion: Sewing Project ideas
03/06/2019 No Class: Mid-Semester Break
03/13/2019 No Class: Spring Break
Weaving Project (03/20/2019 - 04/03/2019)
03/20/2019 Before Class: upload Sewing Project documentation Critique: Sewing Project Weaving In Class: Hand Weaving With Paper Drafting, double cloth Intro to the Jacq3G library In Class: Algorithmically-Generated Weaving Pattern Research: 3D Weaving
03/27/2019 Before Class: post Weaving Project inspiration Discussion: Weaving project ideas Research: Yarn-Level Woven Cloth Simulation (video)
04/03/2019 Before Class: upload Weaving Project documentation Critique: Weaving Project In Class: Weaving Side Views
Remainder of Class
Final Project (04/10/2019 - 05/01/2019)
04/10/2019 In Class: Weaving Side Views Wrap-Up In Class: Final Project inspiration boards Discussion: Final Project ideas In Class: Final Project Work Time
04/17/2019 No Class: Carnival Make-Up Day For Monday Classes
04/24/2019 Class starting at 3pm Autograding (for clothing) CT Scans and Rendering (cloth, yarn)
05/01/2019 Before Class: upload Final Project documentation Critique: Final Project