Processing for Architects
I'm writing the software for my thesis project in Processing, an integrated development environment created by Ben Fry and Casey Reas as a tool for artists and designers to explore software development as a part of their creative work. Processing employs the Java programming language along with code libraries that provide a quick start for creative types to build software that deals with visual effects and interaction.
In architecture, while two dimensional images are useful, being able to produce and manipulate three dimensional data is even more so. Luckily Processing includes the capabilities of OpenGL, industry standard software for visualizing and creating 3D scenes. While most development environments require a fairly deep knowledge of the mechanisms within OpenGL, Processing takes care of these intricacies for the developer. Perhaps even more importantly, there are a growing number of Processing users who contribute code and help to those who are new to the tool.
To get started, you can download Processing for free. As an effort to speed the uninitiated along, I've created a simple example program (called a "sketch" in Processing parlance), that you can use to start exploring. Before we begin you will need a few supplies:
Unzip it and place the "Processing" folder in with the rest of your applications (generally Program Files on Windows and Applications on Mac) and make a note of where you placed it.
- Kristian Damkjer's very helpful OCD Library
Unzip it and place the OCD folder in the libraries folder inside the Processing folder you placed in with your applications. (On Windows, something like c:\Program Files\Processing\libraries\ and on Mac something like /Applications/Processing/libraries/) This library makes moving around the 3D scene much less complicated.
- My 3D Processing Example
Unzip it and place the template3d folder on the desktop or similar location for now.
Start up Processing and select File > Open and locate the template3d folder. Select the template3d.pde file and then the Open button. What you'll be looking at is the Processing user interface with some sample code that I wrote to act as a starting point for 3D sketches.
Press the Run button (the one at the top with the triangle) and the sketch will start up. The sketch generates a series of random boxes, which can be regenerated by pressing the R key.
Try moving around the scene by dragging the mouse around, which orbits the camera around. Holding down the Shift or Alt keys down while dragging will pan or tilt the camera, respectively. Pressing the X key will export a DXF file of the scene to the template3d folder and pressing the I key will export an image of the current view.
The navigation and export functions included in this example are the primary elements that I've identified as crucial for any Processing sketch that will be used in an architectural setting. The random boxes in the example are included as a basic introduction to drawing 3D geometry in Processing. Try changing the maxDimension value at the top of the code to something like 20 to see how a small modification can have a big effect on the output. The Processing site has some good tutorials, should you want to explore more.
I'll be writing about more Processing techniques useful for architectural work in the weeks to come.