[CAD note] SCRIPTING
NF and Partners, SMG, Smithsonian Institution Courtyard Enclosure, Washington DC, 2004
In 2004, NF and partners won an invited international architecture competition to design a new courtyard enclosure. Early in the project, the SMG was brought in to advise the project team on modeling techniques, to develop new digital tools, and help solve the complex geometric issues involved. Instead of simply translating initial sketches, capturing design intent involves the development of a digital schematic that can be easily used by the designers to control and manipulate the complex geometry. Design constraints are encoded within a system of associated geometries. Three surfaces, column markers, and a computer script control the entire roof geometry. Constraints such as edge beam location, dome heights, and drainage locations are informed by the design surface, which is created from a series of simple control lines. The parameterization of the grid surface sets out the plan locations of the design nodes, while the height location is given by the design surface. The relationship between these surfaces and a third surface controls the beam twist. The set-out geometry performs as a mechanism to control the parameters of a generative script.
Using the set-out geometry and a set of parameter values, a computer script creates a variety of detailed roof components. The script adapts each component to its local condition and, through a performance evaluation, the components respond to their environment. The use of scripting as a design approach provided many benefits:
1. The simultaneous generation of multiple representations within a single model; a center-line model for structural analysis; a triangulated flat-panel model for acoustic analysis; a simplified model for hidden line visualizations; lighting node position models; node and beam set-out drawings and spreadsheets; unfolded beams for the digital fabrication of scale models; and a complete model of all roof elements for the creation of drawings by the project team.
2. The independent development of roof configuration and individual component strategies. The roof geometry was free to change without affecting the logic of the beam section or panelization system. Within the script, different modules of code could be inserted, removed, or edited to create new roof options. Using this approach, the long-chain dependencies of a fully associative system did not exist, and modification was simpler and regeneration much faster. When changes were made to the script or to the set-out geometry, a new digital model could be generated rapidly. A dynamically parametric model was not necessary.
3. A computer-generated model gave very precise control over the values and relationships within the roof system. It produced consistent and repeatable results where the design history was saved as a copy of the generating script and the set-out geometry used.
The design evolution involved the use of many different media and techniques and an intense dialogue between a large team and many consultants. The script became a synthesis of all the design ideas and was constantly modified and adapted during the design process. This explorative approach required knowledge of both programming and architectural design combined with interpretative skills on many levels. It proved a fast and flexible approach. The final version of this generating code was 5,000 lines in length and had 57 parameters – some numeric values and other switch – controlling options. Using only the set-out geometry as input, the script generated approximately 120,000 elements in about fifteen second; 415 models were generated over six month.
It is possible to generate thousands of different options by using scripting. It therefore becomes increasingly important to not only understand the system constraints, but to have a clear strategy for evaluating the generated options. The design was evaluated by many methods: structural, environmental, acoustic, and aesthetic. While there was no attempt to automate the feedback process, it did prove beneficial to work closely with consultants to better understand their data-input needs for their analyses. By building the production of this information into the script, the generation/analysis cycle could be shortened.