Bldg Kit

A computational building toolkit and code library for generating zoning compliant residential building designs, built using Rhino Grasshopper, Javascript, Mapbox, and Python. Bldg Kit can be called from within a Grasshopper model or run as a web service to integrate into a standalone webapp. The code libraries include custom implementations of geometry classes as well as implementations of computational design algorithms for generating building masses within the zoning elements based on user-input unit mixes.

Generating zoning envelopes

To calculate the zoning envelopes within which valid building forms can be created, a custom Polyline Class is used which supports offsets with variable distances for each edge. Using this approach, zoning envelopes can be described as a series of offsets of the original parcel boundaries according to the setback and view plane requirements along each edge.

bldgkit

Diagram showing zoning envelopes generated for a variety of non-typical and non-convex parcel boundaries and a variety of zoning and set-back requirements. The custom Polyline Class can create offsets using different offset values for each edge, and supports output of multiple resulting polylines in cases where the offset Polyline intersects itself (as can be seen in the branching zoning envelopes with multiple peaks).

bldgkit

Study fitting maximum building volumes of set depths inside a generated zoning volume.

Placing building massing

Once a zoning envelope is generated, building massings can be generated by trying to place a building form of a given depth along each edge of the zoning envelope at each level starting with the highest, then projecting down floor by floor while growing the building along its length as much as possible until the FAR limit is reached.

This technique can be used to generate a finite number of valid design options for any given parcel and set of zoning constraints. The designs can then be sorted by Gross Floor Area (GFA) with the best design being the one that fits the most GFA unto a given parcel, subject to max Floor Area Ration (FAR) which controls the maximum floor area of the building.

bldgkit

Study of fitting the single largest building volume on two parcels with changing zoning requirements.

Controlling unit mix

A critical feature of the building generator is it allows users to set the percentage of different size units in the building. This allows developers and architects to evaluate potential building scenarios for specific sites and markets.

bldgkit

Configuring unit mixes in the webapp

The generator is not only able to match a given unit mix within the building, but also lay out the units inside the building in such a way that proper egress corridors, circulation cores, and unit topologies make sense. This is achieved through a standard catalog of unit types that can be combined in various ways to create various building shapes including bar, L, and courtyard typologies.

bldgkit

Catalog of unit modules for standard bar as well as building end conditions

bldgkit

Sample of building shapes produced for four different parcels

bldgkit

Variety of different valid building designs for a given site and zoning requirements