University of Minnesota (Aaron)



Sep '06 - Feb '08

  • anchor

    Processing for Architects

    By Aaron Westre
    Feb 13, '08 4:49 PM EST

    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:

    • Processing

      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.

    Processing Interface

    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.

    The template3d sketch

    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.


    • Don't forget to mention the book.

      Feb 13, 08 9:50 pm
      Greg J. Smith

      The book? There are about six now!

      Feb 13, 08 10:27 pm
      wes thomas has some amazing videos
      just search for processing

      Feb 14, 08 1:39 am
      Greg J. Smith

      And if archi-processing is your thing, keep your eyes peeled on Marius Watz of generator.x and code and form.

      Feb 14, 08 1:51 am

      We have a few processing tutorials up at - mostly for our Search: Advanced Algorithmic Design class at the Columbia GSAPP - all are welcome to check them out! Processing is a great environment to work through large numbers of iterations and complex data sets.

      Feb 14, 08 3:07 pm

      When I learned about Processing we switched over to MEL in Maya as soon as we got 3d - I didn't know you could even do that in Processing. I think the languages are very similar. Will Processing let you output files that can be taken somewhere else and rendered? What's the advantage of using it for 3d?

      Feb 15, 08 8:25 am
      Aaron Westre

      You can export to DXF and Collada formats so far.

      Feb 18, 08 12:17 pm
      Greg J. Smith


      Thanks for sharing your resources. I've been noodling with Processing over the last year and need to dig into it further once I've cleared my desk off a bit in the coming months.

      Feb 18, 08 1:18 pm
      Queen Monkey

      That stuff is really fascinating!!! I've been meaning to read into this for a few months now..... What do you think is a good book to get me started?.....

      Feb 20, 08 6:20 am
      Greg J. Smith
      Code and Form is a great reference.. especially since Marius is getting into Rhino now.

      As for Code 101 - check out Craig Shiffman's Nature of Code

      I can't wait to clear my desk off and start play with processing again!

      Feb 20, 08 8:29 am

      Hey thanks a lot for this. I'd messed around w. Processing a few months ago but got sort of bored when I had no clue how to do things three dimensionally. This is a cool template!

      Unfortunately I found that when I exported the image from your default settings of 800x600 it was of course very pixelated... so I experimented with 2000x2000 and found that it was less pixelated but still had that strange effect of having inconsistent line weights and sometimes even appearing hand-drawn. I kind of like this weird inconsistent line it's making; it's visually interesting. But for making tight design drawings (like the one due next week) it wouldn't be particularly successful. Something tells me it's got only a little to do with pixelation. I've just tried something ridiculous like 6000x6000 pixels but that's when my computer got scared of that enormous pixel count (I've got slightly dated specs with 1.8 ghz and 512mb but it will happily run Rhino with just a few lengthy renderings). Maybe if I work on one of the supercomputers on campus things would get better at least in the amount of time it takes to view the image, but the real problem is the messed up line weights.

      I'm sure Aaron doesn't want to be tech-guy after offering up this cool little solution so anyone else can reply of course.

      Feb 20, 08 4:45 pm
      Aaron Westre

      There's also a pdf export library that you can read about on the processing site that allows you to export vector files, which don't have the pixelation problems. There are also ways to export huge hi-res images by tiling smaller images together, which the site also has resources on.

      Mar 12, 08 6:23 pm

      The Processing offers the rapid beginning of software that contract with visual effects and communication. There are useful lengthy images that are able to create and influence three dimensional data.


      Minnesota Alcohol Addiction Treatment

      Aug 27, 08 9:44 am

      Block this user

      Are you sure you want to block this user and hide all related comments throughout the site?

    • Back to Entry List...
  • ×Search in:

Affiliated with:

Authored by:

  • Aaron Westre

Recent Entries