The presented study is made for Cape Town city in South Africa, in which approximately 7.5 million people living in informal settlements and about 2.5 million housing units are needed. This motivates us to develop upgrading strategies for informal settlements. For this purpose, we developed an adaptive and interactive tool for rapid computational urban design prototyping. The tool can be used to generate urban layouts including street networks, blocks, parcels and buildings based on requirements specified by an urban designer. For implementing  the layout generation process, we developed an underlying tree data structure to represent street networks and parcellings. Moreover, network analysis methods were applied for controlling the distribution of buildings in the communities so that preferred neighborhood relationships are considered. Finally we demonstrated how to compare designs based on spatial analysis.

Research Team: Reinhard Koenig (contact author), Peter Bus, Yufan Miao, Chang-Mei Chih, Artem Chirkin.
The presented research evolves within the context of a collaboration with Scott Lloyd from the Urban Think Tank (U-TT) at ETH Zurich.


This page contains accompanying material for the paper Computational Urban Design Prototyping: Interactive Planning Synthesis Methods Demonstrated by a Case Study in Cape Town, published in the International Journal of Architectural Computing (IJAC), [it’s currently under review].

The Computational Urban Design Process

We implemented a new data structure for a slicing tree. The slicing (A) starts from one edge (1). After that, it slices the edge (2) on the left side of the slicing line (B) and next the one on the right (C, 4). A slicing line is stored in the slicing tree by assigning it to the edge it crosses. At the same time, the slicing lines are ranked based on their levels in the tree structure.

The case study area is Enkanini in Cape Town City, South Africa, for which we generate urban planning variants in a fast and interactive way.

Example of two urban layouts for the sliced parcels, generated freely (left) and using initial street segments to guide street network generation (right).

To increase the precision for generating parcels with a defined width, we nested the block and parcel generation.

Using the Speckle plug-in for Grasshopper the generated urban layouts can be made accessible online to share and communicate the design as well as to allow stakeholders to explore design alternatives. In accordance with the initial specifications, the interface allows to change the dimensions of the parcels within a defined parameter range using sliders to adjust the parcels width and depth.

The generated urban layouts can be analysed with various methods. In this example we assessed pedestrian accessibility of the educational and commercial facilities by using a gravity-based method.

Video of the Computational Urban Design Process

Related Publications

Sorry, but the selected Zotpress account can't be found.

Download Grasshopper Definitions


The Grasshopper files are created for Grasshopper (build 0.9.0076) with Rhino3D v.5. To open and run the models you need to install the DeCodingSpaces-Toolbox (we used version 2018.01) – food4rhino is not always working.

Download Adaptive EmpowerShack Grasshopper Definition

Pin It on Pinterest