Space syntax / adjacency relationships generation

Hello Beautiful Dynamo Community!

I’m wondering if anyone has experience utilizing Dynamo for iterative adjacency studies, like this one in grasshopper:

Is this possible in Dynamo? I’m a Dynamo noob, but I’d really like to learn it and I feel like this could be a great opportunity to learn it while achieving a study I need to complete for my thesis.


Thanks! Andrew

Andrew - I have been experimenting with using Dynamo to generate designs from scratch, way before I begin to imagine physical design solutions. While I’d say my approach is the inverse of what I saw in your link, it is more about abstract ideas finding expression in lines of code and resulting in their physical manifestation, than just establishing spatial relationships. A rough outline of my approach

  • I use dynamo to create a site specific contextual mass.
  • Then I sub divide this mass based on their spatial qualities
  • Various configurations of sub divisions (rooms) are obtained by altering parameters (primarily height, so far)
  • The obtained mass is then imported into Revit and developed further
The actual process may be a lot more elaborate and detailed, but the above points capture the gist of the basic design process that can (and should) be extended further. A code based approach to complete building design. I don't know if it can mimic everything that grasshopper does, but it sure is quite powerful if you can think creatively and originally. Hope the following examples give you an idea of Dynamo's potential as a design tool. Below is an example. I'll post more in separate posts below as I'm unable to attach them in an orderly manner, in this post.

Bauhaus Dessau Museum Design Competition

Bauhaus Museum Dessau

1 Like


Guggenheim Helsinki Design Competition

or on the Competition Website


Thanks for the reply, Vikram. Interesting projects and approaches; I will need to continue researching the possibility of specifically doing the adjacency diagramming as it is a requirement for the project.

1 Like

Andrew, Could you please direct me to links on the specifics/theory of adjacency diagramming? I might like to explore it too.

At present, I’m looking at them as dynamic bubble diagrams and think it should be possible to achieve with Dynamo.

From this video I gather that adjacency studies involve a physics engine and the process is very much three dimensional (contrary to my first impression).

Will see if I can explore/research the concept in Dynamo. However, did not manage to grasp the relevance of the physics engine to the design process. Very interesting, though.

Vikram, your commitment to exploring this with me is greatly appreciated! I’m sure Dynamo has the potential to be a great tool for something like this as well. The video you posted is great; it is similar to what I’m trying to achieve. I hadn’t considered the 3-dimensional environment, however. I’m trying to achieve an adjacency diagram in plan, like shown starting at about 3:40 in the youtube video I included in the original thread. I want to tell the computer what the spaces are, how big they are, and what their adjacency requirements are, and then let it test iterations to find the most efficient layout.

1 Like

Hi Andrew,

This is definitely a very interesting use case for Dynamo. However I think tat the right question to ask here is how do you define the most efficient layout? Unless you can clearly define your efficiency criteria and create directly applicable tests for each of them, I don’t think you’ll be able to accomplish this with Dynamo.


In fact, the exercise will be to define the adjacency criteria and identify flexible parameters for iterations.

The graphics and presentation approach/style in Dynamo may have to be different, but the overall idea, I’d say, is doable.

Need to focus more on the basics of the concept, the frills of the presentation can be looked at later.

@ Dimitar: that’s correct. I don’t know how to code it, but the thought is there would be an input for the adjacency strength: 1-10, 10 being critical adjacency. Perhaps a blank input equals no adjacency required, or none. For example, the Entry Vestibule has an adjacency strength of 10 to the Reception Desk, but none to the Storage Room. The Reception Desk has an adjacency strength of 8 to the Director’s Office, but only 3 to the Board Room, etc. etc.

@ Vikram: I agree; graphics are not important for the exercise.

1 Like

Preview of a Space syntax / adjacency relationships definition, I’ve been working on.

Made decent progress and it works petty well, but needs some more work before I can post it here.

Different arrangements are generated by altering the Area and Adjacency factor.

But, for a particular set of values, as of now, there is only one possible distribution pattern.


1 Like

I’ve created a new thread to take this forward as I felt that the images I’ve posted above make it a bother to scroll to the end of the discussion.

Please continue to follow this discusssion at: Space Adjacency Study

@Vikram_Subbaiah hi! I also checked the latter post but couldn’t reply there. Your work is amazing and I would like to ask if you worked further on the subject. I’m trying to adapt the space syntax method to sole objects and, rather than spaces(though it is the same as objects require a spatial presence). So I’d appreciate -if it is possible for you- if you share any other information you can provide :slight_smile:

Try the below link for the same topic on the current forum…

While I have worked further on spatial design with Dynamo, the approach and intent has been quite different and specific to defined scenarios.
If you can be specific about your context, I’ll be more than happy to share, if I have something.

1 Like

Hi everyone, I have been playing around with space adjacencies too.
I noticed that your script has only single adjacencies.

I have been trying to create a simple bubble diagram and optimize the adjacencies with refinery and trying to avoid them hitting each other.
any suggestions would be helpful, thanks :smiley:

Newone.dyn (254.4 KB)
Simple.xlsx (8.6 KB)

I’ve been trying the same and I’m missing a few packages, someone said to make do with a custom node but I’m not that great with python