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.”
“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.”