OpenSCAD, 3D Objects, and 3D Printing
OpenSCAD 3D Object as Art
I recently joined the Workshop 88#1 Google group after attending one of their meetings. In going through some of the group discussions, I came across one regarding 3D printing and the choice of software that people made in order to create 3D objects for printing. One of the software selections mentioned was OpenSCAD, an open source product that I have been aware of but never used.
The software is described on the OpenSCAD web site as follows:
OpenSCAD is software for creating solid 3D CAD models. It is free software and available for Linux/UNIX, Windows and Mac OS X. Unlike most free software for creating 3D models (such as Blender) it does not focus on the artistic aspects of 3D modelling but instead on the CAD aspects.
OpenSCAD is not an interactive modeller. Instead it is something like a 3D-compiler that reads in a script file that describes the object and renders the 3D model from this script file.
The power, and weakness, of OpenSCAD is its use of a programming language (script file) to build models. This is in contrast to a traditional 3D modeling program digital artists use, like Lightwave, that supports an interactive mouse-driven style of object creation.
The OpenSCAD user interface is pretty straight forward. Of course that is because the work of creating 3D objects is done via coding. One of the most common complaint about traditional 3D programs is the complexity of the user interface – which makes sense when you consider the variety and complexity of the operations users are performing interactively.
With OpenSCAD, I was able to create simple 3D objects fairly quickly by getting a handle on the scripting language's syntax. In fact I have illustrated this article using a 3D model I created. The object is composed exclusively of cylinders on which I executed a series of translations and rotations. I should point out that for the illustration of the model I used a Photoshop adjustment layer to alter the hue of the image as rendered in OpenSCAD and used a Photoshop layer style to add a drop shadow to the image.
I do own Adobe Photoshop Extended. Photoshop Extended is the version of Photoshop that supports working in 3D with 3D objects. OpenSCAD saves 3D objects in the STL (Standard Tessellation Language – for more see the Wikipedia STL entry) format. Unfortunately STL is not a 3D format that Photoshop Extended CS4 recognizes. Also unfortunately the selection of 3D file formats that CS4 supports is extremely limited. Surprisingly neither the CS5 or CS6 upgrades have added support for any additional 3D file types. That means that if I want to work with the 3D objects created by OpenSCAD, I will either have to use software other than Photoshop or I will have to use an intermediary program to convert the STL file into one of the very few formats Photoshop recognizes. My preference is to not use Photoshop.
Will I Use OpenSCAD?
There are a plethora of 3D programs available today. Some, like OpenSCAD, are designed for the CAD market. Most aren't. However, the explosion of 3D printing has generated new interest in CAD programs – especially within the hacker and maker community. For my part, I expect that I will continue to explore OpenSCAD and will attempt to find opportunities to make use of it. I must confess that I do find the programmatic nature of the 3D object creation process appealing.
Note #1: Workshop 88
Workshop 88 hackerspace in Glen Ellyn
Located in Glen Ellyn IL, Workshop 88 is a hackerspace – also referred to as a makerspace. On their web site, Workshop 88 is described as being focused on science, technology, mechanics, culture and the digital arts and offering a space where people with diverse backgrounds can socialize, collaborate and learn. For more, see the Workshop 88 web site. While my principle interest in investigating the group is to potentially teach a Processing class for them, my secondary interest is in learning more about 3D printing. Given that they have a 3D printer and I don't, this provides an excellent opportunity to learn more about that aspect of digital creativity.
If you are interested in learning more about OpenSCAD and 3D model making, you may want to check out the following.
- Make: Projects – 3D Models with OpenSCAD: Easily program your 3D models instead of sculpting them
- OpenSCAD Design Tips: How to Make a Customizable Thing – at Makerbot.com
- Script-based modeling with OpenSCAD at Shapeways.com
- Download OpenSCAD
- OpenSCAD Cheat Sheet
- OpenSCAD User Manual/Print version
On the subject of models, I'll leave you with a quote from John von Neumann: The sciences do not try to explain, they hardly even try to interpret, they mainly make models. By a model is meant a mathematical construct which, with the addition of certain verbal interpretations, describes observed phenomena. The justification of such a mathematical construct is solely and precisely that it is expected to work.
I'll close by recommending that if you are interested in creating 3D models then give OpenSCAD a try – it's free so you've got nothing to lose.