The hardest new skill for designers is abstraction. Why? It involves thinking more like a computer scientist than a designer. But does it? Designers use abstraction all the time, in organizing projects and drawing sets. To remove unneeded detail empowers concentration on the issue to hand. Abstract representation enables progress on concrete issues such as circulation, light and structure.

Just as a designer would never specify a building (beyond a doghouse, of course) completely in a single drawing, a parametric modeler should never work in a single model. A complex model is made of (mostly reusable) parts.

Reusable, abstract parts are a keystone of professional practice. Over the last several years, my research group at Simon Fraser University has used patterns as a basis for understanding, explaining and expressing the practice and craft of parametric modeling in design. This has resulted in several theses and papers, in a design patterns website and in this book.

A pattern is a generic solution to a well-described problem. Its description includes both problem and solution, as well as other contextual information. Patterns have become a common device in explaining systems and design situations, and their structure varies across the domains in which they have been used. Here we use a simple pattern form comprising Title, What, Use When, Why, How and Examples. The Title should be a brief and memorable name by which the pattern will be known. What uses an imperative voice to describe how to put the pattern into action. Use When provides context needed to recognize when the pattern might be applicable. Why gives motivation for using the pattern and outlines the benefits that accrue to its use. How gives the mechanics of the pattern. For us, a distinguishing feature of a pattern is that it has an explanation of mechanism, that is, all instances of the pattern have similar symbolic structure. Examples, which we call Samples, provide concrete instances of the necessarily abstract pattern descriptions.