Interview with Tony Buser, creator of CloudSCAD
Tony Buser1 is the creator of CloudSCAD a web based version of OpenSCAD a popular 3D modeling program. You may know Tony from his website where he blogs about his MakerBot, #481 named “Tea,” and his RepRap named “Earl.” Or, you may know him from the famous lazzor dinosaur battle of August ’10. Despite our differences, Tony graciously agreed to an interview so that I could find out more about why SCAD’s should live in the clouds.
MakerBlock: What is OpenSCAD?
Tony: OpenSCAD is a 3D modeling program where you create objects using a scripting language (similar to Javascript). Everything is done with code unlike most programs such as SketchUp or Blender. In OpenSCAD you can’t click on the object and move or draw shapes, instead you have to define their shape using the programming language. I love it because I am a programmer and if feels very natural to me. I use it for just about everything I design. It is very easy to create precise shapes and measurements in seconds. It’s also so awesome to be able to write code that is directly transformed into physical objects. It’s like the Matrix, man. There is no spoon.
Please tell me it’s more like the first Matrix movie and nothing like the third. So, are OpenSCAD and CloudSCAD basically for programmers? Why should a non-programmer be excited about it?
For creating stuff – yeah definitely geared towards programmers. However, in terms of finding and customizing stuff to print – totally friendly for non-programmers. Also, since you’ll be able to upload STL files, it’s also useful for people who just want to share designs like they do on Thingiverse.
There are a lot of open source CAD programs out there – HEEKSCAD, OpenSCAD, Blender. Why do you like OpenSCAD?
In other programs I found myself repeatedly clicking and moving things around because something annoyingly got nudged off center, and getting dizzy navigating labyrinths of confusing menus and sub menus, etc. In OpenSCAD it’s just me, a text box, and a render window. Since OpenSCAD is just text code, it means groups of people can more easily collaborate on projects. The code can for instance be checked into a source code version control system like git or subversion. Changes between versions can be tracked. That is pretty huge. See things like the Parameterized Mendel project on github. http://github.com/timschmidt/parameterized-mendel That uses another feature of OpenSCAD that is awesome – parameters. Think – 1 design for a ring that can be used to spit out any size to fit your specific finger. Other CAD programs have some support for parametric designs, but with OpenSCAD it’s second nature and very powerful. That is also a feature that CloudSCAD really takes advantage of.
Is this your way of glossing over there not being an undo button?
There will be an undo button.
What is CloudSCAD? Is this just OpenSCAD? How is it different?
CloudSCAD takes OpenSCAD onto the web. It uses OpenSCAD to compile scripts into STL on the backend. This means that you don’t have to install anything on your computer. It also means you don’t need a powerful computer to create 3D printable objects. For instance, it works great on a slow netbook or even on an iPhone or iPad using Mobile Safari. It really takes advantage of the fact that 3D objects in OpenSCAD are just text files. That allows for some interesting things such as automatically parsing the code to display the parameters as simple HTML forms. So a person could come to a web page and download an STL file to print on their printer with their specific requirements (hole diameter, shape, size, etc) and that person doesn’t have to touch a line of source code or even know what OpenSCAD is.
How does CloudSCAD really take advantage of parametric designs?
See this example: http://blog.cloudscad.com/beta-testing
How does CloudSCAD deal with non-manifold designs?
Openscad is pretty good at preventing non-manifold models. I’ve never had any of my designs end up non-manifold.
How does CloudSCAD deal with flipped triangles?
Due to the way OpenSCAD works, I think it’s impossible to have flipped triangles.
Are you planning a simplified version of CloudSCAD for non-programmers? Something where they don’t ever even see the code – just the input boxes and a preview screen?
That is pretty much what you’ll see when you view someone else’s projects that they share.
Clicking faster and shaking my mouse doesn’t seem to make CloudSCAD work faster. Will this be fixed in the next version? (And, none of that “It’s a feature” nonsense!)
It’s currently running on the smallest RackSpace Cloud server at the moment, that’s the main reason it’s so slow and I’m only allowing a few people in to test it.
So… click faster? Can I upload, download, import, export models?
Right now you can copy/paste any OpenSCAD script into CloudSCAD, view the model inline on the webpage, and then export it to an STL file. One of the features of OpenSCAD is that you can import external files such as STL and DXF files and then use those shapes as objects in your design. So that means I will eventually add the ability to upload those other file types as well.
Will I be able to edit STL’s within CloudSCAD? Will I be able to save the result as an OpenSCAD/CloudSCAD file?
Basically yes, you’ll be able to upload an STL file and include that STL in your Script. However you can’t exactly edit the STL, you can build upon it like a building block. You can do all the OpenSCAD operations to it’s shape like union(), difference(), etc.
What’s it cost?
Free! I’m hoping to perhaps make money by interfacing with 3D printing services such as CloudFab and Shapeways so people could order high quality prints of the objects they and others design all through CloudSCAD.com.
I like free!!! Will CloudSCAD be open source too?
I’m thinking about it. In the meantime I’m going to eventually open source the STL rendering system I wrote because I think a lot of other sites like Thingiverse could use it. It allows you to view the model and rotate it in the browser using the Canvas HTML tag (and eventually using WebGL) and is built off the Three.js javascript library. http://github.com/mrdoob/three.js/ The code I wrote to load STL data looks impressive, but it’s really pretty simple and I’m surprised no one else has done it until now.
Since you’ve let me take a sneak peek at CloudSCAD, it looks like that rendering engine allow you to rotate and even zoom in and out. Are there any other plans to make it auto-rotate as you work on the object? Kinda like that scene in Swordfish where Wolverine writes a computer virus using eighteen monitors?
Totally, I just did an update to the rendering engine last night to make it much more Matrix-y. I was thinking of making it spin by default too.
As awesome as it is now, it’s going to be 1000x more awesome once browsers support WebGL. The framework I’m using (three.js) basically makes it a one line code change to enable WebGL rendering with all the awesome lighting and shading and speed WebGL offers.
Why should people be excited about CloudSCAD?
I’m hoping some awesome things will happen once 3D printable objects suddenly have a web based programming API. Unique and customized shapes could be created using web services. If you’ve ever read Makers by Corey Doctorow, I could see this as being a basis or framework for the system that linked up all the rides and printers.
One thing I was thinking about is someone could build on top of this to do things like letting you subscribe to an RSS feed of physical objects that are automatically customized for you. Imagine waking up every morning with a new bracelet design, perfectly sized for your wrist, waiting in your 3D printer.
I have read that book! The system that linked all the rides and printers in Makers would propagate changes from one ride throughout the network of rides.
I think really awesome things will start to happen once models for parametric 3D printable things gain a web API that can be automated and do all kinds of mashups and other buzzwordy things.
Ah! So, the truth comes out! You want everyone to upload their measurements to CloudSCAD so you can create ABS duplicates of MakerBot operators!
Like my uncle said when he first heard about the MakerBot – can you print a woman yet? The movie Weird Science has taught me that might not end well.
Actually, that would be pretty awesome. I would want to subscribe to a printable toy feed.
All we need is a Disney in a Box subscribed to http://cloudscad.com/tags/disney.rss
What about a randomizer? Or a button that will take two random CloudSCAD files and smoosh them together?
Mashups like that would be totally doable. Useless, but maybe interesting as an art project.
Is CloudSCAD a game changer?
Who knows? It sure is fun to play with!
Who works on CloudSCAD?
It’s just me so far.
Hey! I’ve heard of you! You’re the guy who wrote CloudSCAD, right?
Can I play DOOM on it?
You could totally design a Doom level in OpenSCAD and then walk around inside it. Although it might be kinda slow. Better yet, you could use it to print a life sized DOOM game to play in the real world!
I’d totally print a BFG 9000.
What’s the best way to get someone started learning and modeling on CloudSCAD?
For now, read http://en.wikibooks.org/wiki/OpenSCAD_User_Manual. But once CloudSCAD is open to everyone, it will be super easy for anyone to get in there and start playing with creating objects.
Okaaay. What’s the best way to get someone started learning and modeling on CloudSCAD that doesn’t involve reading manuals?
Uhm, the same way I learned how to write HTML – everything on CloudSCAD will basically have a View Source button.
If you could modify your MakerBot to print absolutely anything at all exactly once what one thing would you print?
I’d print a 3D printer that was capable of printing absolutely anything as many times as I want.
- Pronounced “Boozer” as he will quickly remind you… [↩]
| Tagged with | buser, cloudscad, interview, openscad, scad, scadscad, tony, tony buser | 4 comments |



4 Comments so far
Sven Hecht
How about
RepRap/Makerbot + Arduino Ethernet Shield
= webbased interface
-> one click print out of cloudscad
perhaps even: reprap://cloudscad.com/myfile25?width=10&height=20
also cloudscad as default stl-viewer in windows/linux/mac…
enable WebGL optional via browser detection: http://www.doesmybrowsersupportwebgl.com/
Google Chrome Canary already has WebGL
I would love to see a sell this design button to put it on your cloudfab-store.
RepRap Demo | Berks CoLab
[...] the printer continued on, Tony turned to the web browser to demonstrate a web application he has created called CloudSCAD. Within it he demonstrated a new type of 3d model for the RepRap, that can be [...]
Playing with OpenSCAD / CloudSCAD | MakerBlock
[...] Thingiverse blog posts on OpenSCAD I tried it out again. Well, to be fair, I’ve been trying Tony Buser’s CloudSCAD. I’ll get around to actually installing OpenSCAD, but playing with CloudSCAD is so dang [...]
Online CAD Options - MakerBot Industries
[...] really amazing online CAD programs released in the last seven or so months. 1 There’s Tony Buser’s CloudSCAD, 3DTin.com, and just today TinkerCAD just entered open Beta. Interestingly, I don’t see [...]