Skip to content
Script-based CAD/CAM in Python
Python C Other
Latest commit 0be39cd Aug 7, 2014 @tytouf tytouf Merge pull request #17 from tytouf/fix_load_stl
Fix load of binary stl files


kokopelli is an open-source tool for computer-aided design and manufacturing (CAD/CAM).

It uses Python as a hardware description language for solid models. A set of core libraries define common shapes and transforms, but users are free to extend their designs with their own definitions.


The CAM tools enable path planning for two, three, and five-axis machines. At the moment, paths can be exported to Universal and Epilog laser cutters, the Roland Modela mini-mill, three and five-axis Shopbot machines, and plain G-code. A modular workflow system makes adding new machines easy.


In addition, models can be saved as .svg and water-tight .stl files.


kokopelli stores designs as Python scripts and executes them. This means that you can do cool things like using numpy to process arrays, load and process images with PIL, or even scrape web data and use it to inform designs.

However, it also means that bad actors can write malicious scripts.

As such, do not open a .ko file from an untrusted source without first examining it in a text editor to confirm that it is not malicious.


kokopelli has been tested on Mac OS 10.6+ and Ubuntu 12.04 LTS.
A Mac application is available here.
To build from source, check out the instructions on the wiki.


kokopelli grew out of the MIT course "How to Make Something that Makes (Almost) Anything". In that course, I worked on fast geometry solvers and developed a fairly basic UI. My work expanded on the fab modules project, which allows fab lab users to make physical artifacts on a variety of machines.

This work grew into my Master's thesis at the MIT Center for Bits and Atoms. This thesis focused on volumetric CAD/CAM workflows. Now that it is complete, I'm releasing this tool for others to use and develop. It has already been used by folks in How to Make (Almost) Anything and Fab Academy, but I'm excited to offer it to a larger community.


(c) 2012-2013 Massachusetts Institute of Technology
(c) 2013 Matt Keeter

Something went wrong with that request. Please try again.