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
  • Richard Schaffranek

    You have to open the properties of the file, there it might say something like:

    "The file comes from another computer ... Do you want to unblock it"

    (ruff translation from German)

    Grasshopper 5? (not Rhino 5.0 and Grasshopper 0.9.0061)

     

  • Claudia

    So sorry yes i am using Rhino 5.0 Grasshopper 0.9.0014

    i am portuguese and the proprieties doesnt show any unblock button maybe i am doing something wrong or my version of grasshopper doesnt work with spiderweb

  • Richard Schaffranek

    No it should work fine. At least it does at my end. As said the elements should be found within the extra ribbon. 

    You can check if it loaded under File->Preferences->Solver

    There you will find a list of plugins if it displays there it should be loaded. Maybe you can send a Screenshot of this image

  • Claudia

    Well when i go to the solver its appears this ...

    so sorry for being such a dummy at this but i relly dont know whats wrong...

  • Richard Schaffranek

    You are still using .0014 there has been a change in the SDK in .0050 so an update should solve the problem.

  • Andy Chen

    hey,i just wonder do u have any video tutorial for us to watch?

  • Richard Schaffranek

    Sorry, no Video Tutorials, there are some example files within the download, and there is some info on graphs here.

  • 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?