Modular city with Geometry Nodes

I have been dabbling with automated tools for generating geometry node setups for quite a while, with Grasshopper, Blender, and more recently Geometry Nodes within Blender. And while there are many examples of script-based city generators, they are all either too automated, too random, and/or too imprecise. So the goal of this setup is to create something that can be useful both professionally to architects, planners, and urban designers, while at the same time serve both as a more precise artistic design tool.

Here is the video of how it works and how to generate it. In case you are interested, a complete breakdown and files are available on Patreon.

We as architects, urban designers, and planners get what planning a large scale development may look like solely from the massings. Yet, everyone else likely can't envision of what we propose may actually look like or what the scale may be. So, many architects spend a long time trying to add a sense of the architecture during the planning process, when it is quite far removed from what the architecture may encompass. Yet, again, this step is needed to let everyone else know what we are envisioning. So, with this modular set up, the idea is spend less time in post-processing an architectural idea and more time designing robust projects, neighbourhoods and more.

How it works

Here is the gist of how this modular city approach works.

Overview of modular city design with geometry nodes in Blender

It starts by creating some manual masses building masses as shown in the thumbnail. The masses can be manually drawn or they can be automated with either modifiers and/or geometry nodes.

Then, within Geometry nodes, a three dimensional grid of points is created that utilises the same size as an scale as the rest of the grid. The grid is filtered to points only within the drawn masses. Then modules are instanced on each point.

This is incredibly efficient as there are no booleans to work with, just simple tests for inside/outside relationships and then instancing. Of course, the architectural language based on this logic is quite pixelated, but it works very fast. Also, different types of modules can be designed to work in different ways.

The files and a more detailed breakdown is available on Patreon.

Previous
Previous

Parametric Ridge Shell

Next
Next

Affinity 2 Review for architects and designers.