by ckaos, published

Coffeescad by ckaos Dec 3, 2012



Coffeescad by ckaos is licensed under the Creative Commons - Attribution license.

Liked By

View All

Give a Shout Out

If you print this Thing and display it in public proudly give attribution by printing and displaying this tag.

Print Thing Tag

Thing Statistics

7599Views 554Downloads Found in Tools


Parametric modeling tool similar to OpenScad, but running in your browser, using a Coffeescript base & syntax :
this means support for classes, real variables, advanced iteration etc )
and a better code editor! (line numbers, syntax highlighting, search & replace ...)

Update : august 2013
The project has grown a fair bit, website is now at http://coffeescad.net
and you can give the latest version a try here :


Hello everyone!
This is the first public release of Coffeescad, a parametric, web based modeling tool: it was born out of:

  • love of openscad
  • frustration of its limitations as far as code editing and programming language goes (no classes, no real variables etc)
  • the great openjscad library
  • lots of passionate discussions with other reprapers/tinkerers/coders

The github repository can be found here :

You can give the current version a go here :

Feedback, bug reports and feature requests are more than welcome!
Hope you will enjoy it!

Ps: The attached zip is just a github snapshot, please use the github repository to get the latest versions instead.
Small Ps : licence is actually MIT

More from Tools

view more

All Apps

Upgrade this Thing with Thingiverse Apps

Tools and Utilities

Repair, slice, or enhance this Thing

Auto-magically prepare your 3D models for 3D printing. A cloud based 3D models Preparing and Healing solution for 3D Printing, MakePrintable provides features for model repairing, wall thickness...

App Info Launch App

I was curious, are you still in active development on this guy? I am taking some time off work, and was looking to start some small-medium scale projects, and would love to them in coffeescad (but would hate if this had hit a dead end.)

Best Scad editor out there. I wondering if there is any libraries repository. I am looking for a box/enclosure library, in particular.

Something like this has been my dream for a long time. Openscad (IMHO) is terrible, but its just the best of it type available. I hope this project is still alive; I would love for this to become the defacto standard for programmatic object creation

Thank a lot CrazyJaw :)

Yes I am still working on it , the project now has a webpage here : http://coffeescad.net/http://coffeescad.net/

and if you want to use the latest version you can go to http://coffeescad.net/online_edge/http://coffeescad.net/online_e...

it is still in early alpha, so lots of improvements and new features coming up !

I totally love the way to create polygons! And the ease with which one gets rounded corners. I've just started playing with it, and it already feels so powerful. Really awesome work!

thanks a lot :)

i cant do anything with the files from github but the Demo is awesome!

Absolutely Awesome!!

I miss a couple of things I can't live without and I don't seem to find the way to do them: polyhedrons and rotate_extrude :)


How hard would it be to add tools to create primitives in one click?
(I mean, click on the "cube" button, fill properties, click on add... voila!)

Thanks a lot Aubenc , and sorry for the late reply !
Polyhedrons are not in (yet), but rotate extrude , is :)
You can see it in action in the "shapes" example under file->examples
it works very similarly to openscad:
shape = thingy.extrude  offset: [0, 0, 100]  twist:45  slices:10

You are also completely right about "one click primitive creation", I added that to the list of "issues" on github , which means it will soon be implemented !

I think you are describing a linear extrude with a twist. Rotate_extrude produces a surface of revolution, like getting a torus out of a circle, while linear extrude with a twist is like getting a helix out of a circle

That sounds great! And after reading your answer to emmett's comment bellow...

...I feel this thing can become THE design software to use.

Thanks a lot for the outstanding work you're doing with this!!!

This is a cool idea and the web interface looks very nice. However, the one big advantage of OpenSCAD's syntax is that it's very compact and linear, which I think helps make complex geometry readable. It would be useful to see some side-by-side comparison of OpenSCAD and Coffeescad scripts that make the same object.

Hello Emmet, thanks for the kind words.
You are right, a concise syntax is more pleasant to use, that is one of the reasons why I chose Coffeescript over Javascript as the language. 

Coffeescript uses indentation instead of curly braces, so it is also a matter of taste as well, but the examples in the screenshots could also be written like this (for example)

circle = new Circle ( d:100, $fn:10)
instead of 
circle = new Circle  d:100  $fn:10

i'll whip up some more concrete side-by sides if you want, but  please also keep two things in mind:

  • coffeescript and thus coffeescad has a lot more "language" features compared to Openscad (real variables, advanced iterators etc)
  • the syntax for geometry creation of Coffeescad is not yet final


 Nice, that's good to know. Can you also nest union and difference statements like you can in OpenSCAD? That's what I mean by linearity. For big stuff a module is nice, but for most things I'd rather see all the details in the order they're applied. I'm not familiar enough with coffeescript to know what kinds of syntax are available.

You cannot nest operations per se (although, that is something I might add further down the line), right now operations are linear :ie

result =shape.subtract(cyl).translate(@pos).rotate(@rot).color([1,0.5,0])

I am planning lots of details documentation and examples, so it should help a lot with the syntax and possibilities :)
(There are also a few examples provided in the current version under file->examples :)

This is BIG BIG NEWS!!! I love it! Maybe preaching to the choir... but watch this if you dig coding physical things:

Thanks a lot Erik ! Nice to hear, especially from you ! (big fan of the Ultimaker!)
Very nice presentation/ overview of both the history and "process" of "3d printing" ! Good to see you spreading the word!