September 13, 2019

Cuttle, a new CAD tool for rapid prototyping

Hi!

I'm starting a newsletter to send updates on my CAD project, Cuttle. This first entry will be significantly longer than future updates since I'll be introducing and contextualizing the project.

Cuttle is a CAD tool for CNC cutting machines -- laser cutters, paper cutters, CNC routers.

It's both a vector editor (like Illustrator) and a programming environment (like Processing or OpenSCAD). The objective is to be able to move fluidly between these two ways of designing shapes.


Origin

I've been creating authoring environments that combine spatial thinking with programming for the past ten years.


A big inspiration was this provocation from Bret Victor: why do the two environments on the top look so different from the two on the bottom? Can we have authoring environments which prioritize spatial thinking while also enabling the generativity and flexibility that we associate today with code?


Recursive Drawing was my first experiment in this vein. A few key ideas flow throughout my subsequent work:

1. Created shapes can be reused within other shapes -- the way functions can be called by other functions in a programming language.

2. By gesturing on the canvas, you are building and manipulating a program which is interpreted to create graphics. Traditional graphics editors manipulate the raw graphics themselves -- the "literals", e.g. pixels or vector paths.


Later I made Apparatus, a tool for creating interactive diagrams. Now, each shape on the left can be parameterized -- we have real functions!

I ended up using Apparatus to create laser cut art, like this zoetrope:


I don't think I could have created this without an environment like Apparatus. This experience was the seed for Cuttle.

In contrast to Recursive Drawing and Apparatus which were research prototypes, I intend Cuttle to be a practical tool. The end result should be software that I use in my own art and design practice -- and hopefully others do as well. In many ways, I intend to walk back some of the more experimental ideas from Apparatus and hone in on the features that have proven effective for CNC.


Rapid Prototyping

A very important principle to me is that the computer side of creating objects is only a small part of the CNC design process. Ideally Cuttle will facilitate spending less time on the screen and more time working with your hands and physical objects.

Today, most people with access to a laser cutter work with it the way people worked with computers in the 1950s. You book time on the machine, work in CAD to perfect your design, then hope that at the laser appointment there are no "bugs" and all the pieces fit together.

But I've noticed this is not how people who own their own laser cutter work. Instead they're constantly making lots of draft parts and they iterate in the physical world rather than iterating in CAD. Desktop CNC paper cutters (like the Cricut) make this casual form of in-the-world iteration even more accessible.

I want to support this kind of workflow with Cuttle. Not simulating the world in the computer, but getting draft physical parts cut quickly and with minimal effort. Out of the screen and into your hands.

This is also why Cuttle is prioritizing 2D for now. I want to make 2D parts as quickly and flexibly as possible, then do 3D in the world.


Stochastic Labs Residency and Workshop

I had the privilege of spending July and August at Stochastic Labs working on the first iteration of Cuttle. Stochastic Labs is an artist residency hosted at a beautiful Victorian mansion in Berkeley, CA. I enjoyed the stimulating interactions with my co-residents and Stochastic's extended community, and the space, timeline, and structure to really dig in to this project.

I grounded this iteration around an art project called Sun Seeds, a recent collaboration with Monique DeSalvo and Ryan Alexander.


The design process around these sculptures included paper and scissors, vector graphics editors, geometry produced by code, and lots of paper prototypes. I set as my goal to develop the CAD environment I wished I'd had for Sun Seeds, and to accelerate the design process to the point that I could lead a three-hour workshop with participants designing their own sculptures like this.


Amazingly, I managed to reach this goal. Workshop participants made shapes, learned things, and had a good time! It was very encouraging.



Next Steps

I'm gearing up for my next iteration on Cuttle. I need to find a new space and routine now that the Stochastic residency is over.

A two-month development cycle seemed to work well. I'll probably host another workshop at the end of that. I also intend to get the software and documentation into good enough shape that remote friends can give it a spin.

Most importantly I'll be using Cuttle for my own CNC projects from here on out.

To all who have read this far, thank you!! I would love to hear your feedback, ideas, dreams, etc. Definitely let me know if you'd like to use Cuttle in your own CNC workflow. Shoot me a quick email. It will encourage me to keep working on this project!

Until next time,
<3 Toby

PS: If you're reading this on the web, please subscribe to get updates. And feel free to share this newsletter with anyone you think would want to use a CAD tool like this, or email introduce me! :)