SpiderWeb

SpiderWeb is a .NET library providing functionality for preforming calculations on graphs. The library is created with a special focuse on the integration of graphs and graph related theroies (e.g. SpaceSyntax) in parametric design envoirnments. Therefore special Versions are avalible for:

Grasshopper
DesignScript (planned)

Any feedback, questions or critic is welcomed.

Documents

General introduction into graph theory

Documentation and samples

.NET documentation for SpiderWebLibrary.dll and GH_SpiderWebLibrary.dll

Load Previous Comments
  • Samane

    Hi Richard,

    I have an installation problem! the components are not showing in my grasshopper(after installing new version of SpiderWeb). Do you have any idea what could be the problem? 

    Ps. One member in SpaceSyntax group also has the same problem with SpaceSyntax!

  • Richard Schaffranek

    Hallo Samane

    Depending on the security settings, you have to 'unblock' or 'allow' the dll files. Simply 'Right Click' on the dll's and open the Properties, there should be something at the bottom saying:

    ' The file has been downloaded from the internet ... security risk ... do you want to allow ... ' 

    That should do the trick.

    If this is not the problem, than I am curious as well....

  • Samane

    Hi Richard, 

    Thanks for your reply. Under security, there wasn't any option related to blocking or unblocking! My windows needed some updates though. Now everything works fine! :) 

  • Richard Schaffranek

  • Samane

    Thanks Richard!

  • Vicente Soler

    Hi,

    Is it possible to solve the Euler path of a graph using Spider Web? I want to order all the vertices of a graph to create a polyline that goes through all the edges of the graph but never twice.

  • Richard Schaffranek

    You can get the StartingPoints/EndPoints of an Eulerian Path but the path it's self not, but actually it is rather trivial if you know a little vb or c# the Algorithmen can be found: 

    http://en.wikipedia.org/wiki/Eulerian_path#Hierholzer.27s_algorithm

    and an Introduction of how to use SpiderWeb Library within VB/C# components can be found under:

    http://www.gbl.tuwien.ac.at/_docs/GrasshopperScriptum/GrasshopperSc...

    there is also a .NET documentation (see link a both)

  • Richard Schaffranek

    Will include this in the next release...

  • Hugh Groves

    Hi, could you please take a look at this discussion when you have a chance: http://www.grasshopper3d.com/forum/topics/multiple-shortest-walk

  • Hugh Groves

    Using GH_GraphVetexList visual studio is throwing the following error:

    Error    1    The type 'Grasshopper.Kernel.Types.IGH_Goo' is defined in an assembly that is not referenced. You must add a reference to assembly 'Grasshopper, Version=1.0.0.20, Culture=neutral, PublicKeyToken=dda4f5ec2cd80803'.    H:\Load Takedown Tool\LTDT SVN\Load Take Down Tool\Components\Component_TributaryAreaAnalysis.cs    165    13    Load Take Down Tool

    Unfortunately I *do* have a reference to Grasshopper and the correct version. Any ideas?

  • Richard Schaffranek

    Hmm, can't realy tell....

    Maybe you can ZIP the project an send it VIA mail. So I can have a look? Never tested the library outside grasshopper scripting components...
  • Richard Schaffranek

    Dear group,

    We would like to bring the following workshop to your attention:


    Generative Syntax in Architecture and Urban Design
    by Richard Schaffranek (Vienna University of Technology), Pirouz Nourian (TU Delft)

    Abstract: There are a few theories that describe and explain the role of spatial arrangement on the social interactions of people in built environments, best known of which is called Space Syntax. The term syntax, taken from linguistics, here refers to the [spatial] structure of the whole, as opposed to morphology, which looks at the qualities of individual items. Using these theories, we can analyze existing spatial configurations and in a way measure their socio-spatial performance. However, theories and methods for systematically generating spatial arrangements of certain properties are rare or not put into practice. Combining analytic theories (mostly based on graph theory) with the generation of geometry is at the core of the workshop. In this workshop, we will introduce computational methodologies that can help in generating spaces with known syntactic properties. Three toolkits and methodologies will be introduced: SpiderWeb, Syntactic and Configurbanist.

    You can also visit the Workshop Page for further details:

    http://www.gbl.tuwien.ac.at/Archiv/digital.html?name=AAG2014


    The workshop will be held as part of the  Conference "Advances of Architectural Geometry 2014" at the UCL from 18 - 21 (20,21 workshops) of September. It is possible to register for the Workshops independent of the conference.

    To do so please follow this link: http://www.architecturalgeometry.org/aag14/?page_id=554

    Best regards

    Pirouz Nourian
    Richard Schaffranek

  • Azad Hadji K

    Hi Richard,

    I tried to install Spiderweb add on but I Couldn’t. it does not show up on the Grasshopper. I copied the .gha in the component folder in grasshopper but still the icon is not show up. Do you have any suggestion to solve this issue. Thank you

    Best Regards,

    Azad

  • Richard Schaffranek

    Hallo Azad,

    Did you copy the dll files as well?
    An instruction on how to install and further samples can be found here:

    http://www.gbl.tuwien.ac.at/_docs/GrasshopperScriptum/GrasshopperSc...

  • Azad Hadji K

    Thanks mate, that solved the issue. thank you.

    I am doing my final project for master of architecture at the University of Adelaide. I am analysing a town with space syntax theory to come up with a best solution for a city centre master plan. Spiderweb will help me. Thank you to share this interesting add-on

    Regards,

    Azad

  • Frano Bazalo

    Hi Richard,

    I am having trouble loading many of the example files. 

    For example the "graph definition" SpanningTree.gh

    spiderweb-edge%20representation.PNG

    Any suggestions or further examples would be extremely helpful.

    Cheers,

    Frano

  • Richard Schaffranek

    Hallo Frano,

    Hmm hard to tell.

    Do the SpiderWeb Icons appear under the "Extra"-Ribbon?
    If not did you follow the installation Instructions:

    http://www.gbl.tuwien.ac.at/_docs/GrasshopperScriptum/GrasshopperSc...

    Where did you find the SpanningTree.gh? The current version of SpiderWeb comes without any examples. Some examples can be found under the link above.

    There is also an old Version of SpiderWeb with more examples which will only work with the old Version.

    Best Richard 

  • Frano Bazalo

    Thanks for your quick response Richard,

    The new version of SpiderWeb seems to be installed properly.

    The example is from here.

    Does that still load properly for you?

    Regards,

    Frano

  • Richard Schaffranek

    A okay, this explains it. Have forgotten to update the example to the current version of SpiderWeb. So the example will not work with the new release. Sorry.

    Will look into it by the end of the week

  • Frano Bazalo

    Thanks Richard,

    That would be great thank you.

    FYI, many of the other links don't have a download attached.

    Looking forward to the examples.

    Cheers,

    Frano

  • Richard Schaffranek

    Hallo Frano,

    Have updated the specific file. Do know, for two other samples the link goes to no where...

  • Dario

    Dear Richard, Dear group,

    I am working on a masterplan using a space syntax approach to investigate a performed distribution.

    I would like to connect the points (rapresented as function program) with specific rules, with one vertex liked or not to other..basically i have a matrix and excel spreadsheet for that.

    The space syntax plug-in needs a manual link among verteces that for a great number of points or functions, the mistake is behind the door!

    i love to do some more flexible definition, where any time the matrix can change and describe different environment.

    I tried with a " Graph represented as list of vertices" component but doesnt seem my case.

    Any suggestion is welcomed.

    thanks in advance

    Dario

    program%20distribution.jpg

  • Richard Schaffranek

    Hallo Dario,

    I did a short example, please find attached....

    graphFromVertexList.gh

  • Dario

    Dear Richard,

    thank you very much for the example provided.

    Just one doubt about the "Edge costs of the graph"..want does it means?

    Thanks in advance

    Dario

  • Richard Schaffranek

    depending on what you do, could be distance if you don't need edge costs then just use an edge cost of 1 for each edge...

    have a look at:

    http://www.gbl.tuwien.ac.at/_docs/GrasshopperScriptum/lib/000_Theme...

    Richard

  • Richard Schaffranek

    This shouldn't be a problem, The installer instruction is well ahead of the released Version.

    These files will be included with the next releas which might take a while but will come with some new features for:

    Spectral Graph Analysis and Clustering of n-dimensional Vectors...

    and of course

    Some bugfixes, above all solving the problem with the graphColoring tool

  • ahmad heidari

    thanks alot

  • lichih ho

    Hi, thanks for the useful tool. But I was wondering that SpiderWeb is compatible with Grasshopper 0.9.0076? Because the program does not appear on~

  • Richard Schaffranek

  • lichih ho

    Thanks a lot. It works~ I forgot to unlock these files.

    Thanks for your helpful tools~

  • Ken

    Hello Richard,

    I want to do Bestfirstserch to find all path from one point to another.

    For example, I'm trying to find all path of the grid 3×3, from the upper left to lower right. Can I solve this pronlem with spider web?

    respected

    Ken

  • Richard Schaffranek

    Hallo Ken,

    the tool in question ist BreadthFristSearch not BestFirstSearch (which is something else). However what do you meen by "all" paths. "All shortest paths"? This can be done. Simply rightclick on the BreadthFirstSearch component and select all. This will output you "all shortest paths".

    The second possiblity is to understand how many paths are there from A to B within n-steps. This can be simply done through matrix multiplication. Please have a look at: http://www.gbl.tuwien.ac.at/_docs/GrasshopperScriptum/lib/000_Theme...

    However if you like to find "all paths leading from A to B where each edge can be used only once" you would need to write your own code since you would need to compute all possible paths. I guess this can be done for a 3*3 grid but if the grid gets larger you would need a lot of computer power + time. Please read this: https://en.wikipedia.org/wiki/Travelling_salesman_problem and/or this: https://en.wikipedia.org/wiki/NP-completeness

    What is it you would like to archiev? Maybe the question was ill formulated? 

    Best

    Richard

  • Ken

    Hello Richard,

    Thank you very much for your reply!

    In fact, what I want to know is all shortest path and not shortest but short paths. So it's neart to your second possibility, I think. But the difference is that I want to know all variation of paths from A to B within n-step, not calculate the number of paths.

    For examaple, I decide start point in one grid of upper left. And I decide end points (not one point) like region as 2 grid of lower right. And I want to know  the variation of paths from A to B within 4steps.

    So I think that my question is rahter BestFirstSearch than BredthFristSearch.

    I copy the image in this mail.

    Please give me some advice,

    Ken

    PS. I want to see the definition of your code in 

    http://www.gbl.tuwien.ac.at/_docs/GrasshopperScriptum/lib/003_Zeit%...

    and 

    http://www.gbl.tuwien.ac.at/_docs/GrasshopperScriptum/lib/003_Zeit%...

    but I can't download...

    Can you check tha situation please?

    Ken

    1008.JPG

  • Ortler Mark

    Hey Ken
    Hey Richard

    I tried to solve the problem described below, using a loop (anemone) and SpiderWeb's ShortestPath...

    AllShortestPaths.gh


    I guess it should work, but there seems to be a bug in ShortestPath.
    Have a look into the definition: u will see that the search finds a path with a cost of +Infinity at the second iteration. But there are quite a lot paths with lower cost...

    Greets
    Mark

  • Richard Schaffranek

    Hi Mark,

    will look into the definition. However if the costs are +Infinty this means that now path could be found....

    Richard

  • Md01

    Hi Richard,

    first thanks a lot for the great plugin!

    One really small and (simple) question!

    I know that the minimum spanning tree method is giving me the connection of all nodes with a minimum overall lentgh of the network.

    But does it give me also the network that connects all the nodes + smallest distance between each nodes?

    Danke!

    & Schöne Grüße von Rüdiger

    Maeva

  • Richard Schaffranek

    Well it's giving you back a graph which you can use again to compute the shortest path (smallest Distance) between each pair of nodes..

    see attached file

    Best

    Richard

    minSPANNINGTREE.gh

  • Md01

    Thank you richard,

    This is really a great tool !

  • Tomas Vinkevicius

    Hi,

    Is it possible to find spider web example files? The files found on mentioned website seems to be poorly documented. It would be good to have list of gh files as examples.

  • Richard Schaffranek

    Hello Tomas,

    Have you had a look at:

    http://www.gbl.tuwien.ac.at/_docs/GrasshopperScriptum/GrasshopperSc...

    besides this, I am sorry and currently I don't realy have the time to extend them. However if you have specific questions please post them in discussions, I will be able to help.

    Best

    Richard

  • Tomas Vinkevicius

    Dear Richard,

    Thank you for a quick reply.

    Would it be possible to get a simple shortest path example between point A and point B as target?

    Also is it possible to find longest path between node A and B?

    Thank you,

    Tomas 

  • Richard Schaffranek

    @1: simpleShortestPath.gh

    @2: Please define the longest Path, maybe it is possible with your specific definition. However please read: https://en.wikipedia.org/wiki/Hamiltonian_path, especially the section about NP-complete...

    Best

    Richard

  • Tomas Vinkevicius

    One more question, does the spider web has a "graph viewer" for representing graph without displaying actual geometry?

    Just as in your website as nodes and edges in between?

    Would it be possible to get an example for it two?

  • Richard Schaffranek

    Don't understand, the display components are used in the example. they preview into rhino viewport. 

    if you are asking for something like graph drawing you can use the eigensystem component to produce a somehow meaningfull drawing into rhino, please read:

    http://www.sss10.bartlett.ucl.ac.uk/wp-content/uploads/2015/07/SSS1...

    Spiderweb is my personal brain dump so not everthing is there...

  • Tomas Vinkevicius

    Thank you , I  see both representation of the graph and geometry within the components.

    Would it be possible to get and example of shortest path in .NET?

    Maybe you have a github where you share some of examples?

  • Richard Schaffranek

    If you take a closer look at the scriptum library there is an example there using BFS -> topologic shortest path in terms of space syntax

    http://www.gbl.tuwien.ac.at/_docs/GrasshopperScriptum/GrasshopperSc...

    .NET documentation:

    http://www.gbl.tuwien.ac.at/_docs/SpiderWebLibraryDoc/index.html

    everything there is is what is under Documents section, no more no less sorry.

    Again, brain dump...

    If you are looking for a more complete library there is a python library for graphs but e.g. it misses spectral graph operations...

  • Jonathan Irawan

    Hi Richard, Thanks for the plugin. 
    I am catching up on all your papers as well as papers completed by Pirouz. I can't seem to access the previous documentations or links that was posted under the gbl.tuwien.ac.at websites. Have they disabled or archived the access? I am in the process of developing a workflow or a potential tool for early phase brief analysis. 

    Best Regards, 
    J

  • popi papa

    Hey Richard, 

    I am trying to open the links you suggest for literature study of the plug in, but they do not seem to work. Is there any alternative?

    Kind regards, 

    Popi

  • Andrés Tricnina

    Is the link to examples removed? I thing the host was redisegnid and links work no more...:(

  • JTT

    Hi Richard,

    Sorry to ask can rhino6 install this plug-in?