Projects

Account

Support

Profile

Auto City

Category

Year

Computational Design

2022

Role

Individual Project

Skills

ghPython, Grasshopper, Rhino Script

Current design practice with manual sketching limits designers' searching for optimal design solutions. What is a better workflow to early design prototyping that allows designer to explore large set of design options? This project explores a computational method to urban design that utilizes the power of automated generation.

Auto City

Category

Year

Computational Design

2022

Role

Individual Project

Skills

ghPython, Grasshopper, Rhino Script

Current design practice with manual sketching limits designers' searching for optimal design solutions. What is a better workflow to early design prototyping that allows designer to explore large set of design options? This project explores a computational method to urban design that utilizes the power of automated generation.

Auto City

Category

Year

Computational Design

2022

Role

Individual Project

Skills

ghPython, Grasshopper, Rhino Script

Current design practice with manual sketching limits designers' searching for optimal design solutions. What is a better workflow to early design prototyping that allows designer to explore large set of design options? This project explores a computational method to urban design that utilizes the power of automated generation.

📑Overview


With urban development rising all over the world as well as the computational power advancing in the design and planning industry, generative design may be a powerful tool for designers to quickly create, explore, and potentially evaluate a large set of options. This project utilizes the strategies of sampling and rule-based generation to create a potential urban block layout. The workflow is divided into three parts: street generation, parcel extraction, and building generation. The input for the mechanism simply requires a boundary curve, with several user-defined parameters.

📑Overview


With urban development rising all over the world as well as the computational power advancing in the design and planning industry, generative design may be a powerful tool for designers to quickly create, explore, and potentially evaluate a large set of options. This project utilizes the strategies of sampling and rule-based generation to create a potential urban block layout. The workflow is divided into three parts: street generation, parcel extraction, and building generation. The input for the mechanism simply requires a boundary curve, with several user-defined parameters.

📑Overview


With urban development rising all over the world as well as the computational power advancing in the design and planning industry, generative design may be a powerful tool for designers to quickly create, explore, and potentially evaluate a large set of options. This project utilizes the strategies of sampling and rule-based generation to create a potential urban block layout. The workflow is divided into three parts: street generation, parcel extraction, and building generation. The input for the mechanism simply requires a boundary curve, with several user-defined parameters.

🛣️Road Generation


The street generation algorithm automatically generates a desired total number of streets. The streets are separated into a main road and subsequent smaller road network. The main road is taken from the medial axis of the input boundary curve. A Medial Axis is defined as the collection of points within the polygon that are closest to more than one of the edges. It is an effective descriptor of shape (and it was referred to as the "skeleton" of a figure). To detect the medial axis of a polygon, one method is to use a Voronoi diagram and select all the vertices and edges within the polygon. Afterwards a main direction vector is determined and the vertices that are within the deviation tolerance are selected to generate the main road curve.

After the main curve is determined, the sub-streets network is created through sampling with a tree data structure, where every street segment is a tree node. In every iteration, a node is randomly selected from the tree to be the parent node.

⛲Parcel Extraction


After the streets are generated, closed polygons are extracted from the street pattern. The polygons that are above the minimum area requirement would be used for building generation, while the rest can be treated as parks or other public spaces.

🏢Building Generation


With the appropriate parcels, the building generation used the algorithm proposed in the paper), “Automated Parametric Building Volume Generation: A Case Study for Urban Blocks” by Osintseva et al. (2020). The method starts with an initial building type—in this case I used the “blocks” type—and apply different action rules through a sampling process with a user-defined number of iterations. There are a total of four rules implemented in this project: Setback, Open Edge, Yard Building, and Tower. “Setback” places setbacks on the perimeter of the building to create entrance or plazas; “Open Edge” deletes one edge of the block; “Yard Building” places additional buildings in the inner courtyard of the block; “Tower” places additional floors on the perimeter of the block to form towers.

✨Project Highlights

✏️Takeaways


I was able to implement a generative workflow for approaching urban lots, through which I learned about medial axis and how to implement a tree data structure. Moving into the future, one aspect this project can improve on is establishing more realistic (or goal driven) rule for building generations. Another aspect is how to generate more realistic street conditions, which may involve filtering out irregular shaped lots.

© Elise (Xinyi) Wang 2022

© Elise (Xinyi) Wang 2022