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)
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-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
Aug 14, 2013
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.
Aug 14, 2013
djordje
Very interesting Pirouz,
Hope you will post some example files too.
Aug 14, 2013
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!
Aug 14, 2013
Petar Pejic
Any news on the release date?
Sep 22, 2013
Pirouz Nourian
We are planning to release a test version by the end of this week.
Sep 30, 2013
Elbert Choquehuanca
expected wing
Oct 4, 2013
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.
Oct 7, 2013
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 :).
Oct 7, 2013
reza salehi
good
thank u pirouz
Oct 8, 2013
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.
Oct 11, 2013
Elbert Choquehuanca
still waiting,
Thanks.
Oct 17, 2013
Pirouz Nourian
I hereby happily announce that the first version is released here:
https://sites.google.com/site/pirouznourian/syntactic-design
Oct 27, 2013
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.
Oct 27, 2013
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
Oct 28, 2013
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!!!
Oct 29, 2013
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.
Oct 29, 2013
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!
Oct 30, 2013
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:
Oct 30, 2013
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
Oct 31, 2013
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.
Oct 31, 2013
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.
Nov 2, 2013
Petar Pejic
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
Nov 4, 2013
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.
Nov 7, 2013
Petar Pejic
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
Nov 7, 2013
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
Nov 21, 2013
Samane
Dear Frano,
Thanks for your comments and sharing your ideas. Good points, We will consider them for the next release.
Cheers,
Nov 25, 2013
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.
Nov 26, 2013
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?
Dec 10, 2013