Towards an Architecture Compiler
project critics: Kyle Steinfeld
In computer science, a compiler is a program or set of programs that transforms human-readable source code into machine-executable object code. Compilers translate high-level descriptions of a set of intentions to low-level instructions for a set of actions. An analogous process may be found in architectural design, as the traditional design process proceeds from documents that describe a set of architectural intentions (concept design) to those that detail instructions for actions on the building site (construction documentation). This project seeks to apply design procedures borrowed from software engineering to architectural design, and speculates on the potentials and problematics of an "architecture compiler".
To that end, this project lays out the following aims:
An important distinction between our two examples above - code compilers and architectural design development - is that compilers of computer code are automated while the analogous development of a work of architecture from concept to execution represents a significant investment of human intelligence and labor. While past attempts to integrate automated processes into architectural design in a way that challenges this distinction have failed to meet their aspirations, recent advances in parametric modeling, digital fabrication, and computation-assisted architectural design suggest that the current context may offer a more hospitable environment to such a project. Success in this endeavor would no doubt bring about a host of benefits: compiling high-level descriptions of architectural form would allow for automated iteration over representations that are impactful and easy to manipulate, while not giving up detailed analysis and evaluation. Seen in this way, a compiler for architectural form represents an important prerequisite for the application of the declarative design method to architectural design, one of the central aims of the Studio One program.
For the purposes of this project, we narrowly define an "architecture compiler" as an automated process that takes a high-level descriptions of an architectural form, and produces a set of low-level data and instructions for its material realization. While complete automation is our aim, we will accept and take note of moments when the intervention of a human agent is expedient.
The compilers we produce are be platform-specific, and developed alongside the specific constraints of a particular material system - which we may understand as inclusive of a material (ex. sheet steel, leather, plaster), a process of fabrication/formation (ex. cutting, casting, milling), a method of joining/assembly (ex. jointing, glueing, stacking), and an approach to the geometric rationalization of a given design form (panelization, flattening, subdividing). These most salient properties of the materials and processes we choose to work form the basis of a series of modular steps taken in moving from a high-level description of a design to the data required for fabrication. These steps, which we refer to in this project as "compiler passes", give structure to our investigations and form the basis of the assignments. Some of these passes are developed from scratch, and may encapsulate a modest workflow-related procedure such as the automated contouring, numbering, layout, or labeling of cut sheets for fabrication. Others adapt and sequence well-known and robust existing algorithms, such as the generation of flat polygons for 2d-cutting, solid and surface subdivision for 3d-milling, or geometric relaxation for finding similarly-sized elements.
Outcomes are coordinated amongst the Studio One cohort, and are expressed as routines written for the Grasshopper environment, so that a comprehensive shared toolkit results.
Students formulate explorations of possible spaces of design made possible by chaining and/or synthesizing pipelines produced by the class as a whole. The navigation of this design space will be guided by the application of the declarative statement of intent developed in the previous semester's seminar, and will be folded into the production of a 1:1 scale prototype, potentially related to a design proposal under concurrent development in the studio.
Some other projects from this same class have been posted, as well as some interesting student work from this same year.