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
To add to the discussion:
I changed a bit on the floorplanator file, its now based on the latest release of spiderWeb. Manly the part where to calculate the repulsion / attraction forces.
The idea is that to store these values in the edge costs of the graph this makes the file cleaner and faster.
Remark: if the starting attraction graph is not clean (no intersections of edges) this script will not solve the problem... I have to admit I don't know how to solve it with Kangaroo.
Have fun...
floorplanator.gh
Apr 17, 2014
Ángel Romo Sandoval
Sam, I like your algorithm a lot!! My algorithm is worse so I think that it´s no sense to upload it again with new versions of spyderweb or whatever be. I am trying to solve a problem with the spyderweb in order to open the file of Richard (I don´t know why I can´t install one of the .dll of spyderweb files).
I share here a prototype of Sam´s algorithm with the "hoopsnake" component. I am trying to create an algorithm for other shapes instead of circles. I know that is dirty and it has a lot of bugs but I think that it is very interesting.
2014_04_23_FPGhoopsnake.gh
2014_04_23_FPGhoopsnake.3dm
Apr 23, 2014
Richard Schaffranek
Could you specify the problem? Maybe discuss that in the SpiderWeb group...
Apr 23, 2014
Ángel Romo Sandoval
I solved it. Richard, thanks a lot for your improvement. Your idea of storing the values in the edge costs it´s very clear, I like it! Also I've learnt a lot more about spyderweb looking your algorithm.
The problem of the starting attraction that only can be solve with a loop, as Pirouz said, "If some configuration is very messy, you need to have a high repulsion first to untangle it".
Thanks, Richard, I'm having fun, hehe
Apr 24, 2014
Pirouz Nourian
Richard, Angel and Sam, thank you for the interesting discussions. Developments in the direction of rectangular drawing (replacing the circles with rectangles of certain areas and proportions) would be very interesting.
BTW, we are working on some new stuffs... have a look at these: https://sites.google.com/site/pirouznourian/syntactic-design
Wish us luck and fewer bugs... :)
May 9, 2014
Richard Schaffranek
Hi Pirouz
A student of mine is working on a KD-Tree subdivision ensuring square meters and connectivity (if possible ...) from a bubble diagram, will ask to share it when he is finished with it.
Whats the idea behind the isovist bubble? Any comments on that?
Richard
May 9, 2014
Pirouz Nourian
Hi Richard, sounds great! A Geomatics student of mine is also busy with kd-trees for another reason... heard about it just yesterday.
About isovist bubbles: I'm working on a generic syntactic design method, without many geometric constraints. This lead to a question as this: What would be the shape of an imaginary bubble that wants to maintain its size (area) and visibility from a point, given some obstacles.
It needs a proper justification; we're busy writing on it for a paper. Would be good to hear your critique/idea about this.
May 9, 2014
Azad Hadji K
Hi pirouz, I have difficulties to install this plug-in. it has an exe file and I try to install it but nothing happening after. any idea might help me please? thanks mate.
Aug 5, 2014
Pirouz Nourian
Hi Azad, the exe file puts the GHA file and the examples where you specify or by default somewhere in your computer. You can repeat the installation and specify a location you will remember. Afterwards, you just need to drag and drop the GHA file into your GH canvas or put it in the components folder of your grasshopper.
Aug 5, 2014
Azad Hadji K
Hi and thanks Pirouz, that comment solved the issue. cheers mate.
Aug 5, 2014
Fateme Jafari
Hi, I installed space-syntax and I tried to follow the video to learn it. but I had problem in the first step. when I connect the curve to the "graph from nodes and links" object it turns red and shows an error. could you please help me?
Aug 26, 2014
Agneesh
Hey there,
Not entirely sure, but do you wanna double check that curves are LINES and not a POLYLINES?
Aug 26, 2014
Fateme Jafari
Hi Agneesh
Thank you for your suggestion. I checked all the curves once more but unfortunately it didn't work.
Aug 27, 2014
Pirouz Nourian
Have a deadline right now, will get back to your problem on Friday. It has been mentioned before here and I suspect there is the same problem of old/inundated versions of Rhino. Please check the former posts here.
Aug 27, 2014
Fateme Jafari
Hi Pirouz
I checked my rhino and grasshopper versions and they are not old versions. I have rhino 5 and grasshopper 9.0075.
Aug 29, 2014
sarah Ceravolo
Hello,
If anyone knows why and how to resolve this issue, the same as posted in Fateme's image below
1. Solution exception:Method not found: 'Boolean Rhino.
Aug 31, 2014
Pirouz Nourian
Hi Sarah and Fateme,
I have seen this error before. the method (said to be missing) is actually from Rhinocommon library and is definitely part of Rhino. As solved before; I guess this is because your Rhino is not up-to-date. To make sure your Rhino is up to date, you can go to Rhino/Tools/Options/Updates and Statistics and press "check now". I hope this helps, otherwise let me know.
Sep 1, 2014
Agneesh
Hi Pirouz,
If possible could you please reply to my query wrt cardinal directions ?
Regards
Sep 1, 2014
Pirouz Nourian
Hi Agneesh, There are a few components that I have not released yet, simply because one of them doesn't properly function. I have decided to release all in a week or so because some people have been asking for them. Then I will announce a challenge for correcting that one component. I wanted to make a complete package but academic life pressure is too high to allow for that.
Best regards
Sep 2, 2014
Rafat Ahmed
great work Pirouz
i wish the best for your bro
Sep 2, 2014
Fateme Jafari
Hi Pirouz
I checked my Rhino as you said. It shows that my Rhino is up-to-date but the problem still exists. What should I do?
Sep 3, 2014
sarah Ceravolo
Hello Pirouz and Fateme,
Thank you both for your responses,
I have had the same result with my rhino 5, sorry that I can not help solve it I just would not know where to start...
Sep 3, 2014
Pirouz Nourian
Hi Sarah and Fateme,
It is somewhat strange, but in any case we will release a new version soon, hopefully with this problem solved. Have spotted a line in our code that might have caused the confusion for some systems.
Our plan is to release until September 18.
Sep 4, 2014
Pirouz Nourian
Hi Rafat, Thanks for your kind message. Pleased to hear that you have found the tools useful. It is still a work in progress though; far from something I could consider as great :). Best wishes
Sep 4, 2014
Rafat Ahmed
Its Brilliant plugin bro, easy to use, functional & clear visual Analysis, we appreciate you works much.
and just a wish for this plugin, that need more flexibility for large scale & complex projects, bcz when i use it, i found it hard to manipulated.
Sep 4, 2014
Pirouz Nourian
new versions of SYNTACTIC and Spider Web are going to be tested in this workshop in London, together with my friend Richard Schaffranek:
http://www.architecturalgeometry.org/aag14/?page_id=554
Generative Syntax in Architecture and Urban Design by Richard Schaffranek (Vienna University of Technology), Pirouz Nourian (TU Delft)
Sep 18, 2014
Pirouz Nourian
There is a minor bug in the new release (for London workshop). Just need a couple of free hours and I will release a better version. This version includes all the tools you previously shown in videos including layout with cardinal directions.
Oct 13, 2014
wiku
where can i download the new one
Oct 13, 2014
wiku
looking forward to the new releases!!!
Oct 18, 2014
Azad Hadji K
Hi Pirouz,
I am going to analyse an urban space with Space Syntax add-on. I imported the line from openstreetmap. They are not lines they are curves, is it makes any issue? Secondly, when I use axial line graph (ALG) component, the add-on gives me a numbers top of some lines(not all of them) which does not make sense. Finaally, would you please guide me how I can get some graphical outcome of this add-on? Generally speaking, Is there any way to get some sense of how this add-on works? I do appreciate your help mate. Thank you
Regards,
Azad
Oct 19, 2014
mahdi
Hi Friends
I've installed the plugin spacesyntax
But it gives error and does not work anymore
When I open the example project still gives error
Please advise your
سلام دوستان
من پلاگین spacesyntax را نصب کردم
اما ارور می ده و کار نمی کنه
مثال پروژه را وقتی باز می کنم باز هم ارور می ده
لطفا راهنمایی کنید
Oct 20, 2014
Edward Whitley
Hey, so I have tried using the space syntax plug in on my program, and its a pretty intensive program with lots of relationships and different spaces. I have done some preliminary connections and used the plug in. Most of the widgets Ive used seem to be working. The analysis widgets are working very well and providing useful insight into the social aspects of the design. BUT the main problem comes when I try to use the ForceDirectedDrawing widget. It poops out and kinda takes my rhino file with it. ANy suggestions? Please help. I have attached some screen shots and the rhino file and gh file.
ERRORSLIDESHOW.pdf
firstProgramSyntax.3dm
FirstProgramsyntax.gh
Oct 23, 2014
Ortler Mark
Hey Edward Whitley, I have the exactly same problem...
Here, the drawing is also locked; I can't draw anything.
You found any Solution?
greets
Oct 24, 2014
Pirouz Nourian
Hi, let me answer one by one:
@ Azad: you can only work with lines (axial lines crossing each other) I don't think you can immediately convert OSM street centerlines to axial lines. This has a number of probelms, most important of which is methodological. Graph theoretical distance used in Space Syntax measurements (the ones I have implemented) is based on the idea of measuring the [cognitive] steps one takes from one space to another. In architectural configuration these spaces (spatial units) are conventionally considered as convex spaces or let us say rooms. In urban configurations, streets are considered as the [public] space and axial lines are to represent them as the spatial units. In general if you are going to do a large scale urban computation, you can use DepthMap or Depthmapx (the original Space Syntax software application). The main reason I added the Axial-Line Graph component was to use it for education. You cannot yet get visualizations or efficient calculations at urban scale using this one. But please do a bit of research about the methodical problem I mentioned above before going to any other software. This is not a technical problem.
Oct 24, 2014
Pirouz Nourian
@ Mahdi:
You have not posted the error message but I guess most probably it's saying something like the method X doesn't exist in Rhino. I have seen the same problem many times... the solution is to make sure your Rhino is updated. You can go to Rhino/Options/Updates to do so.
Oct 24, 2014
Pirouz Nourian
@ Edward:
Hi, first of all note that the graph drawing algorithm is not guaranteed to work always, especially if the input graph is non-planar, there is no such proof for any force-directed graph drawing and ours is not an exception. If you are only trying the software with random points and random connections to see if it works then I assure you it won't work for just any combination of points lines and areas. It is simulating a physical system of disks attracted to one another if there should be a link between them. If one disk or coin doesn't fit in between it's neighbors (the problem of area) then of course the algorithm fails because you are trying the impossible. And if the graph is non-planar per se, which is your case, then again it fails. It of course happens in real-world architectural bubble diagrams that they don't constitute a planar graph, simply because there are many buildings that can only be built with the same abstract configuration in more than one floor. But in this case, you can divide the graph into planar components and proceed. I believe We have mentioned these points in the help text of the component itself. Please have a look.
Oct 24, 2014
Pirouz Nourian
@ Ortler:
Please read my answer to Edward; most probably the same issue.
Oct 24, 2014
Ortler Mark
Hey Pirouz Nourian,
Thanks for the fast reply.
Im not the Graph-Expert but I guess that my Graph is planar(topological).
No Loops at all, but some intersections of the (real/drawn) edges...
Without Loops, shouldn't it possible to remap it?
I get the point of your post addressed to Edward, but I do not understand why the component fails in my case.
Can u have a look at it and tell me what I can do to get it work?
greets Mark
FlaechenAnalyse.zip
Oct 24, 2014
Pirouz Nourian
Hi Ortler, You're welcome. I just checked your file; I understand it is a case of analysis of an already existing plan. You need a nice graph drawing if I am not mistaken. Right? Even if the graph is planar, still you need to have a combination of area values to make a kissing-disks or coin-graph drawing. In some nodes you have too many connections to a node that means for the disks to kiss each other that node must be significantly bigger than all its neighbors. Similar problems might arise when one big coin is supposed to be trapped in the middle of a bunch of small coins. I understand this might be frustrating because you already see a feasible planar drawing of this graph as your plan. But note that for circles to meet each other in this way these challenges exist. In general you need to provide a set of area values to make the kissing disk drawing possible. In order to do this, I would either break the graph in parts and approach one by one or try to lower the repulsion force and then put numbers one by one such that their combination would produce a feasible planar configuration of coins. No easy way in either case. Having said all this, please note that if you don't manage to draw a graph with this component it doesn't mean that you cannot use analysis components. I started recognizing the points that connect to many other and giving them a higher area; lowering the repulsion and limiting the iterations at the same time, this way you can produce some acceptable bubble drawings and proceed easier -perhaps. Now they are closing the faculty building and kicking everyone out... FlaechenAnalyse_PZN_Ed.gh
Oct 24, 2014
Edward Whitley
Hey, so I have deleted a couple connections in the program, and I have manipulated the attraction and repulsion inputs, and I have seemed to solve the problem... unfortunately it is still a little touch and go if I move those sliders too much. But ultimately Im getting a pretty great output I think. Thank you so much Pirouz, for the help and the program.
Here is my new file:
2ndProgramSyntax.3dm
2Programsyntax.gh
Oct 24, 2014
Pirouz Nourian
Hi Edward, happy to hear that. Looks like you have pushed it to the limit :)
Still a few coins don't fit around their hubs, but yes if you let them relax by lowering repulsion you can get a result. Good luck with the rest.
Oct 25, 2014
Frane Zilic
Hi Pirouz
First of all thank you very much for the plugin. I installed and used it in another computer and it was fine but in mine it gives me this error...
An error occured during GHA assembly loading:
Path: C:\Users\Frane\AppData\Roaming\Grasshopper\Libraries\SpaceSyntax_for_GenerativeDesign.gha
―――――――――――――――――――――――――――――――――――――――――――――――――――――――――――
The GHA file is either damaged or has been made with
a newer version of .NET than Grasshopper itself.
You can try toggling the "Memory Load" option in the
GrasshopperDeveloperSettings command window, it might help.
――――――――――――――――――――――――――――――――――――
Any idea why?
Thanks again
Nov 4, 2014
Frane Zilic
Hi Pirouz
I feel stupid... I thought I tried toggling "Memory Load" and it didn't work... I did it now and it works.
So thanks anyway
Bye
Nov 5, 2014
Pirouz Nourian
Hi Frane,
Happy to hear that it works now; but could you please tell me how exactly you opened this developer settings window?
Best,
Pirouz
Nov 5, 2014
Frane Zilic
Hi Pirouz.
It works but I have to do it every time I start GH.
You can open the window with the "GrasshopperDevelopperSettings" command in Rhino.
Nov 5, 2014
Pirouz Nourian
Hi Frane, reading the error message again; I get the impression that your GH is not up to date... correct?
Nov 17, 2014
Frane Zilic
Hi Pirouz
Nov 17, 2014
Pirouz Nourian
Strange! Anyway I am planning to release a new version with a small bug fix soon; in this version I will take care of a few issues related to the .Net and Rhinocommon version. Hopefully it will be solved. I need to think about it more...
Nov 17, 2014
Tata fontes
Hi,
Pirouz thanks so much for all the work. Do you think you can upload the new version, that you refered earlier, the space syntax layout with cardinal directions? Thanks
Dec 17, 2014
Dario
Dear Pirouz,
i would like to ask a suggestion to you beacuse is impossible to figure out the error of my Diskograph component.
basically I have a distributiion with 29 points and connections among them. I tested a definition with 4 points and working fine, but adding more points the NGV output is giving a strange codification of the point coordinates.
I will be very glad to hear from you.
Thanks in advance
Dario
error.jpg
Jan 3, 2015