algorithmic modeling for Rhino


Space Syntax

Space Syntax is a theory of architecture and built environment that seeks to explain the effect of spatial configurations on behavioral patterns of people. SYNTACTIC tools bring Space Syntax theory into parametric design workflows. More information on syntactic design methodology:

My PhD dissertation (see chapters 3 & 4)

Designing with Space Syntax

Syntactic Design Methodology

For more information, videos, news and updates you can visit the following website. 

See a video demo-tutorial here

The plugin is available for download here:

This plugin is completely compatible with SpiderWeb for Grasshopper and we hereby thank Richard Schaffranek for all we have learned from this extremely useful plugin


UPDATE: Genesis Lab [webpage][website] is to modernize, open-source, and develop the toolkit starting in December 2021. Stay tuned for updates through my YouTube Channel and ResearchGate

Location: Delft
Members: 635
Latest Activity: Nov 22

Hi, All components are ready. We are just wrapping all our VB codes into a GHA.

Discussion Forum

Bake legends/export graphs 3 Replies

Hello everyone,I just discovered space syntax and I am having a great deal of fun playing with it however, I can't seem to bake the pie chart, or the legends or anything. Any ideas how I can export…Continue

Started by Stefania Dinea. Last reply by Sabrina Morris Nov 22.

"DiskoGraphDrawing" Icon 3 Replies

Hi There, I'm using the latest version of Syntax (downloaded today) on Rhino 6. Is it correct to assume that this isn't 100% compatible with Gh on R6 at this point?The issue I am having is the first…Continue

Started by Chris Dimarco. Last reply by Mary Bliss Nov 21.

space syntax area refrence 3 Replies

HiI used your space syntax for an architectural function relation diagram, but i have a problem because there is a rule that number of points and areas should be the same, so in a situation that i…Continue

Started by maryam ma. Last reply by GabrielaSullivan Oct 23.

Gradient issue with Syntactic 6 Replies

Hi guys,I don't know what is wrong with this simple definition on space syntax...Any ideas?Domain...lists...input curves?Thanks...…Continue

Started by Andrés Utz. Last reply by Nelson Oliver Sep 20.

Comment Wall


You need to be a member of Space Syntax to add comments!

Comment by Pirouz Nourian on February 27, 2023 at 7:17am

Hi Fahad

Thanks for your kind words! I honestly don't see any problem with either of the pictures and don't understand what you mean by linearly. I can suggest to carefully redraw a constellation of points and lines (simple lines, not curves) and then select the whole bunch of points separately and feed them into the points input of the NodeGraph component and then select the whole bunch of lines and feed them into the lines input (for that it might be handy to use an empty curve container). I hope this helps.

Comment by Pirouz Nourian on February 27, 2023 at 3:35am

hello Fahad, 

Can you please explain what you mean by a linear sequence of nodes? Are you referring to a map or graph drawing or grasshopper nodes?

Comment by Pirouz Nourian on October 6, 2022 at 3:36pm

Hello Kim, this component guesses an average size for the presentation of the labels; I can see that the size is too big so the smart procedure is over-engineered. Anyhow, you can turn off the preview of this component and use a controllable tex3D component to draw labels with an arbitrary size, but for doing that you need to create the labels, e.g. by using a Series component (provide the number of nodes by using a List Length component to the Series). 

Comment by Kim Ricafort on October 6, 2022 at 7:17am

Hello everyone!

I just have a question on NodeLinkGraph component. Just wondering if anyone knows how to reduce the size of the text of the points? I worked fine on the first diagram, but now it's too big to even be legible. 

I need it quite urgently.

Thanks a lot!



Comment by Pirouz Nourian on February 16, 2022 at 1:07am

Hi  Eman Baadullah, good question! The answer is rather long; you can have a look at our new open-source approach in the course Spatial Computing : we are using a Multi Agent System to grow the parts of the building in 3D based on voxels. We also have a new open source process in Python for forming bubble diagrams in 3D that matches this process in VectoRelax (Graph Relaxation). I hope this helps. 

Comment by Samane on February 5, 2022 at 8:56am
Comment by worawit hansombu on February 4, 2022 at 11:27am
Hi I'm a student from Thailand I want to download this but I can't download 
it because my Gmail doesn't have access. And I have asked for permission many times.
please help me
thank you.
Comment by Eman Baadullah on January 29, 2022 at 2:53am

Is there any way to convert the bubble diagram to a floor plan and control the shape of the rooms or areas?

Comment by Eman Baadullah on January 28, 2022 at 10:58pm

Hi.. Where can I find more videos and tutorials about syntax?

Comment by Pirouz Nourian on January 26, 2022 at 10:50am

Hi Asya, sure, happy to help, I find the Termite nests very inspiring; thanks for sharing the picture! Re your questions:

1. The notion of a 3D graph is somewhat confusing because the graph itself is not a 3D space but yes, sure, if the vertices are "embedded" (mathematical term for 'drawn'/placed) in a 3D space you can colloquially call it a discrete model of the 3D space... Bottom line is that you need to produce the topology of the graph as a set of edges connecting those vertices. Since you have the models as meshes, you kind of implicitly have the graph data in the mesh as face to face adjacency graphs. If you are familiar with Python I can help you write that. Or I might even find it as I have written it before and share it. In the meantime, have a look at Ivy, it has a tool that can produce such graphs (as far as I remember).

2. once you have your graph data as a set of edges, practically a set of tuples of two integeres, referring to the vertex indices, then you can initiate an NX graph and then you are all set for computing geodesic distances

3. I suspect that NX would be/could be faster in running some analyses but I must say I did not quite fully understand what is the goal/process. If you have a publication or a proposal or a description of the process please feel free to send me through email p.nourian at I would appreciate it if you could summarise the idea in a workflow diagram (even if drawn by hand)



Members (635)






  • Add Photos
  • View All


  • Add Videos
  • View All

© 2023   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service