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: https://genesis-lab.dev/products/syntactic/

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

NEW VERSION WAS RELEASED ON JANUARY 25, 2015. 

See our newest results these publications:

Voxel Graph Operators

Voxel-Based Spatial Ergonomics Research

Evaluating Spatial Configurations as to their [Adaptive] Reuse Potential

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

  • Richard Schaffranek

    Hallo,

    Nice to see more people engaging with graphs and space syntax in Grasshopper. Did you know of http://www.decodingspaces.de/ ?

    What kind of data is the Graph structure, is it compatible to SpiderWeb? 

    Richard

  • Pirouz Nourian

    Hello Richard,

    In fact I have learned a lot from your plugin and your teachings online (a formal acknowledgement will follow :)). The first time I started to do something with graphs in GH I noticed the output of the proximity component, which is exactly a datatree indicating the indices of the connected nodes. It was a wise choice to use the same format for the graphs. So, it is perfectly compatible with Spiderweb; and it is part of the plan to introduce these in connection with Spiderweb. I have checked the decoding space components, but I had difficulties connecting to their technical approach as they are using a different data type for graphs, which is not readable from outside. 

  • djordje

    Very interesting Pirouz,
    Hope you will post some example files too.

  • Daniel Hambleton

    Great group! I've been quite interested in this topic for some time.

    Although not directly GH related, I'm developing a Gibsonian crowd simulation engine - you can check out the alpha version here. Would be great to exchange some ideas!

  • Petar Pejic

    Any news on the release date?

  • Pirouz Nourian

    We are planning to release a test version by the end of this week.

  • Elbert Choquehuanca

    expected wing

  • Petar Pejic

    Hi, any news on release date? It would be nice if you could include for example a sample video like you did your other plug in, I find it very useful. 

  • Pirouz Nourian

    Hi all,

    All components are ready. We are preparing an example file and a short video. I hope we can do all this in a couple of hours/days :).

  • reza salehi

    good

    thank u pirouz

  • Pirouz Nourian

    Hi all, 

    Thanks for your support. Sorry for not doing as promised. All components are ready as VB scripts but we need to wrap them into a GHA. We are struggling a bit with the new way of making a GHA (grasshopper add-on file) due to a few minor issues. So, I can't promise a day now; but in principle, it should not take more than a couple of days. 

  • Elbert Choquehuanca

    still waiting,

    Thanks.

  • Pirouz Nourian

    I hereby happily announce that the first version is released here: 

    https://sites.google.com/site/pirouznourian/syntactic-design

  • Pirouz Nourian

    Hi Daniel Hambleton, Sorry for my late reaction! I have been extremely busy with education in the past weeks. Thank you for sharing your interesting work! I will be happy to discuss future joint projects.  

  • ardi bidi

    Nice project!

    I did similar project, in 2012, as my M.A. thesis at University of Tehran, using similar approach in combination with Galapagos as optimizing system. You can find a short demo here:

    http://www.youtube.com/watch?v=0KGx3vos5lU

  • bea franko

    hello great tool!

    but i cant find or i dont knoe how to control the attraction and repulsion. is the orientation to fixpoints (nord, west, east and south) included in this version?

    looking forward!!!

  • Pirouz Nourian

    Hi, Those are just advanced settings. Have a look at the help of the component. It is very unlikely that you need to change those settings. They are not meant to be design parameters. They are just for calibration of the component itself. However, if you are not getting a neat bubble diagram with the default settings, please post your model here. 

  • Mahdi Soheyli Fard

    Hi Pirouz,

    that is really awesome when you are looking for sth about space syntax for experiencing some design method, and just heading to one who did it as well. it became my luck man. congrat!

  • bea franko

    ok but how to difference between attraction and repulsion, do i need a number for each connection (-x=attraction, x=repulsion?)

    You dont plan to set up fixpoints? could be a great extension for your tool and very helpful for use.

    i saw this in the manual:

    how can i do this?

  • Samane

    Dear Bea,

    The algorithm embedded in the "force directed drawing" component finds a set of relax locations for the vertices by considering graph links as springs, applying attractive forces and repulsion between disks when they get closer than their boundaries. You can try with the advanced setting.( if you hover on them you can see the default value)

    The sketch box which you see in the photo and the generative process will be included in the next version.

    Samane   

  • Petar Pejic

    Excellent tool guys, it looks really promising. Do you maybe know how it would be possible to apply same logic to a 3D program diagram. Or you know some theories that deal with that issue? I suppose a set of new parameters would be needed to introduce it.

  • Pirouz Nourian

    Hi Petar, Thanks for your compliments. We are also interested of course in receiving critical feedback. Regarding the 3D program diagram, I should mention that a graph doesn't necessarily have a geometric form. This means however, that there could be infinite number of ways you could draw a graph, so to say. This means that, given a set of vertices, as 3D points you could actually visualize graph links as geometric edges (lines for instance) between them. In other words, you can just provide the DiscoGraph component with a set of vertices (of course the same number of vertices as you have when you build a graph) and get a drawing however you like, and of course these points can be on different height levels. Anyhow, if you specify a bit more what you are looking for, I might consider adding a new component and make an update.

      

  • Petar Pejic

    Hi, well I am not sure realy how it should work. I was thinking maybe to introduce a value for height or volume of each space. Next, maybe the situation is that one space is behind the other, and they both have the same view parameter, hence, one will be placed above the other. It would be interestin to have a slider between 0 and 1, where 0 would be 2d organnization and 1 would be a full 3d organization, so a user can change the 'amount of 3d representation'

    These are all just ideas, which i think it could be usefull to have included. However, i think more parameters should be included as well.
    I hope to hear your thoughts if it would be usefull, as well as if you would add something.
    Once again, thank you for sharing
  • Pirouz Nourian

    Hi Petar, Thanks for the ideas. For making a 3D configuration to be implemented in the tools, I need to work on a systematic way that I can implement as a "generic method"; something like a recipe, with a guaranteed result. For giving a space a height value, as I said before, you could put the corresponding vertices on different height levels and that doesn't confuse our graph drawing algorithm (DiscoGraph). You might also find SpiderWeb tools useful in your work. 

    Regarding new parameters, I should mention that we have been working on these tools for almost six months just to simplify them and reduce the number of required parameters to avoid unnecessary confusions. However, if you think in any of the components it would be better to have some control on an output with an input parameter or you need an output which is apparently available but not put out,let us know and we will consider it for the next versions.  

  • Petar Pejic

    Dear pirouz,
    I didn't even think to suggest extra work and effort from your side, you have already provided a great tool. My thoughts were directed in a sense if 3d organization would be possible, as well as if there some already known method (in your pdf i have found that you already knew some methods for 2d diagrams, and than you elaborated on those.)
    Further, I found your script applicable on my current design project, and my wuestions about potential 3d organization was aimed parallel with my conceptual idea of the design.
    If 3D organization of space would be possible, I wanted to hear from you if you have any ideas / experiance with it. As I already said, my idea was to introduce more parameters, which would affect just 3d diagram. However, more I dwell on that idea, I see it would be just simple elevating of 2D parts. Maybe approach where each space would have 'gravity' value, or 'spring magnitude' and they all start separated in 3d space, and than with each itteration they get closer to 'ideal' organization. That is just a thought.
    Thank you for your kind reply
    Regards,
    Petar
  • Frano Bazalo

    Fantastic set of components, great job. Would it be possible to include outputs on the some of the components such as 'discograph' so the circles and the node relationships are accessible? The circles are easy enough to recreate but would be nice if the component wasn't a dead end so this data can be used further. Cheers

  • Samane

    Dear Frano,

    Thanks for your comments and sharing your ideas. Good points, We will consider them for the next release.

    Cheers,

  • Pirouz Nourian

    Hi Petar, Thanks for you comments. In fact we also want to do certain things in 3D and we have some preliminary ideas, however, they are not yet generic enough. In any case, we are considering a 3D graph drawing algorithm for the next release (probably as an option in the disco-graph component). In the meantime, note that you can already make a graph representation of a 3D configuration using the node-link graph component. For this component, it doesn't matter if the nodes and links are all on the same plane or not. 

    Keep in touch.

  • jorge sainz de aja

    Hi:

    I installed the package, it creates a folder in C: called SpaceSyntax....., I copied the grasshopper components to the special folder program. but it dosen´t appear any tab or component

    also opened the gh example file and the grasshopper doesn´t recognise the sapce syntax components

    I reviewed the components for if those are blocked or whatever. I use Rhino 5 (X64) and the last grasshopper 0.90064

    Any solution?