I've been told that my posts are 'shop-talk' heavy. This post probably won't differ in that regard, but it'll have way more explanations and illustrations--starting with the results of an experiment in parametric design I conducted in my third year in school.

Parametric design is a fancy name that can lend itself to several interpretations. It refers to a mode of computer assisted design where forms, surfaces, sizes, shapes, configurations etc. are manipulated and controlled by a set of parameters. In execution, it usually entails the use of a software that generates shapes mathematically, which allows easy manipulation by applying mathematical functions. Here, 'parametric' refers to parametric equations.

Now when I say Parametric design can be variously interpreted, it is due to the notion that all design is 'parametric' in the sense that it is developed using sets of parameters. The model of design thought (framing a problem, making a move, then evaluating) comes down to what criteria--which parameters--you assess your work by. However, when generating design solutions using scripting (scripts-small computer programs that perform specific functions) and mathematical equations, the steps of design thinking collapse into a fluid state. The script is formed with a specific framing of the design problem in mind and evaluating parameters are built in. A series of moves are undertaken by the script, which output a result that can be manipulated (move + evaluate). All of these steps happen in real-time nearly simultaneously with a degree of fluidity which is harder to achieve with traditional methods.

My example above was achieved through a long arduous process. I started with a vary basic script that output a series of points and sizes that were randomly generated over several time intervals. Basically, the script started with one point and rolled the dice as to whether it would split into two points and move, grow to a larger size, or do nothing. The arduous part was taking output like this:

... and manually entering it into 3D modelling software. The purpose of this exercise was to design housing units that could infill empty spaces in the Bella Vista neighborhood of Philadelphia. I wanted to achieve this using randomly generated form-patterns that could be sculpted into apartments. The software generated something like an architectural lump of clay to be hollowed out and inhabited. (More on the original project here)

I reattempted this feat recently using Rhino (3d modelling) and a parametric scripting plug-in called Grasshopper. I achieved in a day what I sought to do in a semester...

To make more sense of this I will try to pull back the curtain and show how the process works. To start with, one has to have a general idea of what is to be achieved. My project description above offers that. Secondly, a series of steps have to be determined to achieve that outcome. This is analogous to a computer programmer's flow chart. Below is a rough outline of what I wanted the script to do:

  1. Define a three dimensional boundary (the space between buildings in Bella Vista).
  2. Populate that space with a list of randomly generated points. The points should be scatter-shot.
  3. Assign cubes of random sizes to each point to create a cluster of different sized cubes.
  4. Merge the cubes into a solid and hollow out the inside to create an architectural space.
  5. Select a random set of points on the outer surface and assign randomly sized boxes to those points.
  6. Subtract the second set of boxes from the first to create openings (windows and doors).
The great thing about this approach is that the script is capable of generating infinite possibilities besides the one above. And specific to Grasshopper is how easy and intuitive the process is once you understand the interface. Below is a screenshot of the script that created the first set of boxes (the window script is separate). You can see there are slide bars scattered throughout that can change the output of the script:

 I've only scratched the surface with this project. Parametric design tools have already created many new opportunities for advanced forms and processes in design and fabrication. If used unquestioningly, they may also lead to banality. The trick is to match these capabilities with astute observations of our surroundings--physical and cultural--to design a better world.


  1. Shout-out to Mark Gormley for the original script!

  2. You've just shown, in a day might I add, how quickly technology can catch up to Mark Gormley's brain:) Mark, you're still a few steps ahead!

    Great way to see how many ways to achieve one end. Excited to see an animation or two...moving it into the 4th dimension:)

  3. Hey Lowell, great work, can you upload the gh file of the model?