THE FAR GAME

Stephen Zimmerer
Generative Design Course
8 min readMay 9, 2022

--

COMPUTATIONALLY OPTIMIZING GROSS FLOOR AREA WITHIN LOCAL ZONING CONSTRAINTS

Published by Alison Lam, Madeleine Sung, Stephen Zimmerer, Myungju Ko, and Zihao Zhang

Iterative process of computationally derived building massing studies

Introduction

When designing for clients in high-density cities, an architect’s top priority is typically maximizing their building’s gross floor area while staying within the size constraints provided by local zoning codes. Maximizing gross floor area (GFA) enables the client, typically a developer, to optimize profits by maximizing the building’s leasable space. Local zoning codes typically provide constraints for a building’s maximum floor area ratio (FAR), height, and setback from site boundary, as well as further setbacks determined by environmental parameters.

Often, the architect’s schematic design process is performed in tandem with analysis of these objectives and constraints. The architect develops a building massing and then analyzes the scheme’s gross floor area and compliance with zoning code. This process is then repeated multiple times as the architect iterates different spatial layouts, refining and rejecting each as they search for the scheme that maximizes GFA within the constraints provided by zoning code.

Our team asked how automation can assist and expedite this process, hypothesizing that the computer can replace the architect in performing these first iterations and analyses. Using generative design, the computer can develop multiple design iterations that meet the constraints provided by zoning code, and then select among these iterations to determine a massing that maximizes gross floor area. This massing scheme can then be developed and refined by the hand of the architect.

In our model, the computer maximizes gross floor area within zoning constraints provided in the form of FAR limits, setback requirements, height limits, site coverage limits, and limits provided by the sky exposure plane. Our model uses Rhino with Grasshopper and Discover to generate massing models computationally that can then be developed by the hand of the designer. Our project uses a site in Seoul as a case study, but the constraints provided could be retrofitted to any site globally by inputting the site boundary, represented by a simple polyline, into a rhino model and then plugging the setback requirements, building height limits, site coverage limits, maximum FAR, and environmental setbacks into the Grasshopper model.

Methodology

Overview of computational design process

A video describing our design methodology can be viewed here.

Design Space Model

Overview of Grasshopper model

The Grasshopper model that we developed is primarily responsive to one manual input from the Rhino model: a polyline that represents the site boundary. The Grasshopper model then uses different groups of components to generate a volume which represents the maximum possible spatial extents of the massing, based on the constraints provided by local zoning code.

GIF showing how a volume is derived representing for the maximum possible extents of the building, using constraints provided by local zoning code

The first major group of components in the Grasshopper model creates a volume defined by the building setback requirement and height limit. For the site that we studied in Seoul, the setback requirement is 0.5 meters from the lot line, and the height limit is 25 meters. A volume is created by extruding the perimeter of the building lot, offset to the amount specified by the setback requirement, to the height determined by the building height limit.

The next major group in our Grasshopper model defines the sky exposure plane, a requirement for new buildings in Korea so that they do not over-shade buildings on their north side. The sky exposure plane is generated by the boundary of each site adjacent to the north-facing side(s) of the lot, which are represented by polylines in the Rhino model that are manually inputted into the Grasshopper model. The sky exposure plane extrudes vertically by 9 meters from each of these boundaries, then is set back 4.5 meters, and then extrudes at a vertical slope of 2:1. These exact numbers (9 meters, 4.5 meters, and 2:1 slope) are determined by the local Korean zoning law.

The Solid Intersection component in Grasshopper combines the limits generated by the site’s setback requirements, height limits, and the sky exposure plane to generate a volume that represents the spatial constraints of the massing. If a designer was generating massing for a building in a region with different environmental requirements, they could develop an alternate set of components that created a limit based on local environmental constraints, and then plug them into the Solid Intersection component. If they were generating a massing in a region with no environmental constraints, they could simply delete the part of the script that generates the sky exposure plane, and the massings generated would likely look more like simple rectangular extrusions.

Once the model has generated a volume that represents the maximum possible spatial constraints of the massing, the next group of components creates floor plates within this boundary, the heights of which are inputted manually. In our model, the first floor is set to be 4 meters tall and each successive floor is 3 meters tall, but these inputs could be adjusted depending on the desires of the architect and client.

Input Parameters

There are two input parameters generated by Discover. This meant that Discover generates multiple design iterations using these two input parameters and then discards options as it searches for the optimal inputs to maximize GFA.

The first input parameter that Discover generates is the number of floors in the building, a categorical parameter. The second input parameter that Discover generates is the x and y coordinates for 4 points that determine the perimeter of the building’s ground floor. The x and y coordinates of each of these points are set as continuous parameters, whose minimum and maximum values are determined by the volume that expresses the maximum extents of the building’s massing. In order to determine the x and y coordinates for 4 different points to determine the building’s footprint, Discover generates 8 total input parameters.

The footprint of each of the successive floors is determined by the input parameters that determine the footprint of the first floor. For the successive floors, each point is tested to see if it still falls within the volume that identifies the building’s maximum possible spatial constraints. If the point falls outside of these constraints, Grasshopper’s Curve Closest Point component is used to move the point inside of the spatial constraints. This means that for our site in Seoul, the model mostly yields terraced outcomes, as the model steps in order to stay within the constraints provided by the sky exposure plane.

The placement of the core of the building is determined by Grasshopper using the input parameters generated by Discover. The core is placed by intersecting the top floor plate and the bottom floor plate, and then determining the center point of this intersection. The outline core, which is manually referenced by a Rhino polyline, is then placed at this center point and extruded to the same height as the building.

Performance Metrics

Design iterations generated by Discover, with the x-axis indicating the generation number and the y-axis indicating GFA, a variable the program seeks to maximize

Paradoxically, the objectives and constraints of the optimization run by Discover are effectively the same. The first objective is to maximize gross floor area (GFA). However, floor area also represents the first constraint: gross floor area had to be less than the FAR determined by local zoning codes. For this site in Seoul, maximum FAR is 250% of the site boundary.

The second objective is to maximize site coverage, as a means of maximizing gross floor area. However, site coverage also represented the second constraint. The building cannot cover more of the site than is allowed by zoning code. For this site in Seoul, this amount is 50%.

Design iterations generated by Discover, with the x-axis indicating GFA and the y-axis indicating site coverage, both variables the program seeks to maximize

Results

Our model mostly generates buildings that terrace at a vertical slope of 2:1. This result responds to Seoul’s requirement that buildings are contained within a sky exposure plane that extrudes at the same slope.

Within the massings generated by our model, some of the floor plates are too small to be reasonably utilized for architectural floor plans. If we continue developing this model, one thing that we will add is a minimum size required for each floor plate generated.

Optimal architectural massings computationally generated to maximize GFA within 5 adjacent sites

Conclusion

Computationally optimizing a building’s massing proved to be an exciting and efficient means of automating the design process, as is demonstrated by the building massings that our team was able to generate. For designers globally, there are bound to be opportunities to use this as an iterative way of generating optimal building massings by manually inputting the site boundary and core layout and then adding local zoning constraints to the Grasshopper model.

This automated generation of building massing should be performed at the earliest stage of the design process, as the massings it generates are quite crude. They lack the tactile and ephemeral qualities that transform the building into a living object with experiential qualities. They do not determine spatial qualities such as atmosphere or materiality, or important social considerations, such as who has access to the building and how this is demonstrated architecturally.

Architectural floorplans developed manually from the computationally-generated building massing
A rendering of the developed scheme indicating glazing, parking, and landscape design

We also conclude by re-stating that this is fundamentally a tool for optimizing leasable floor area within legal zoning constraints with no regard to the material conditions of architecture or the social frameworks within which it is placed. As such, this tool ameliorates the work of actors who view architecture as a tool for generating the maximum possible profit from the land upon which it sits. It is not necessarily of benefit to any other party involved.

We leave the resolution of these issues and paradoxes to the hand of the architect: to develop the computationally generated massing into an architectural layout that is thoughtfully considered with regards to materiality, layout, and access.

--

--

Stephen Zimmerer
Generative Design Course
0 Followers

M.Arch candidate at Columbia University GSAPP. Broadly interested in housing, sexuality, and Lacanian psychoanalysis.