Parametric Design Patterns: Index


Revit is generally thought of as a documentation tool, a medium for expressing a complete design ready for construction. At its core, however, it’s a change engine, a relational database with a 3d front end. Its entire structure is around relationships and the constant reassessment of those relationships based on ongoing alterations of design intention and constraints. Forms are (or can be) a result of associations, not the cause. Generally this engine is used to allow for ongoing or last minute alterations of designs to directly percolate to construction documents without the need for costly and imprecise revisions. The same technology can be used throughout a project to create models that reflect fairly abstract relationships and ideas.

In Robert Woodbury, Onur Yuce Gun, Brady Peters, and Roham Skeikholeslami’s book Elements of Parametric Design, the authors explore what it means to work/design/model/transform in a medium that is about CHANGE. Their thesis is that parametric thinking is an old method of designing and that computers simply enable this methodology. In typical CAD packages it is easy to create lots of geometry, but it is very difficult to change geometry. It is this shifting and changing of data structures as a response to intentions and performance requirements that makes for great design tools, and is the backbone of parametric design.

Woodbury discusses 14 patterns as significant conceptual tools in the execution of parametric designs. Each of the patterns is a discrete illustration of a set of associations that result in geometry. Woodbury’s examples are drawn from Bentley’s Generative Components, and they have been reproduced in McNeel & Associates Grasshopper plugin for Rhinoceros by Tsung-Hsien Wang. I am re-presenting Woodbury’s patterns in Revit (and its smaller cousin, Project Vasari) to demonstrate the power of the platform as a DESIGN tool in addition to being a DOCUMENTATION tool.

Below is a list of links to the patterns, with images next to the ones that have Revit/Vasari examples. I haven’t attacked them all yet, and so far I’m only addressing the ones that can be managed without coding. I will be updating the list, but for the ones I have not yet addressed, there are links to Woodbury’s site.


“Use clear, meaningful, short and memorable names for objects.”


“Control (a part of) a model through a simple separate model.”


“Drive change through a series of closely related values.”


“Build simple abstract frameworks to isolate structure and location from geometric detail.”


“Use proxy objects to organize complex inputs when making collections.”


“Produce a transformation of an object in another geometric context.”


“Make an object respond to the proximity of another object.”


“Change an object's form by translating and/or rotating its rigid components. “


“Organize collections of point-like objects to locate repeating elements.”


“Use a function in a new domain and range.”

2011-02-23_2252_002Recursion 1, Recursion 2

“Create a pattern by recursively replicating a motif.”


“Re-present (abstract or transform) information from a model.”


“Change an input until a chosen output meets a threshold.”


“Select members of a collection that have specified properties.”


  1. Seems like and interesting book. Can't wait to see how you do it in revit/vasari!

  2. And see one project using it:

  3. The Dali museum isn't the best example of what Zach is trying to accomplish (Sketchup, Rhino, then Sketchup and 3D mesh exported to Revit to create technical drawings)..unless the info in the link provided isn't accurate "...The form of the Enigma was first shaped using Google SketchUp. The geometry was then brought into Rhino for refinement into a smooth, fluid form. It was then imported back into SketchUp to create a wire mesh form. This was exported to Autodesk Revit software to generate the technical model with framing members and glass panels. Likewise, the team used SketchUp and Revit to design the helical staircase..."

  4. hi zach
    congratulations. this is great serie. especially the parts on how to use the adaptive stuff.
    considering that cathedrals were designed using a compass, i'm curious, what else these differential geometry machines can bring to mankind.

  5. Sorry, but I don't know where to post this question. When I open Vasari.exe (I don't put it on C:/Program Files), this error appear "Revit could not load CURTAINGRIDFAMILYUI.DLL". I use Win 7 64bit and Revit Architecture 2011 64 bit. Before, I use Win 7 32 bit and Revit 2011 32bit, and everything was ok. Can you help me, please? Thank you very much indeed...

  6. sounds like you have a corrupted download. Try downloading it again and try putting it somewhere other than the program folder.

  7. I finally had a moment to read / look at what you've posted. My office blocks streaming media so its been tough for me to keep up with your posts.

    My question is are you in the process of working with recurison ? I'm extremely interested in that.
    My thoughts about it with out trying it myself are that it may be linked to the underlying code of detail/repeating family. by their nature they are recusive, but how to use that in a generative fashion is where my knowledge isn't up to speed yet.

    So good luck keep it going.


  8. @SpaceCreater: yes, thinking about recursion, but almost certainly needs API to do it in a real way. There are a number of ways to get similar effects with increment and manual placement, then manipulating parameters, but I think it really deserves a coding solution. Same with GoalSeeker

  9. This comment has been removed by a blog administrator.

  10. Hello Zach, I don't know where I can ask my question, but I need help. Could you help me and tell me how I can make a möbius in Dynamo?


Post a Comment