Grasshopper

generative modeling for Rhino

# SpiderWeb

## Information

SpiderWeb is a plugin providing simple graph tools in Grasshopper.

Some basic information about graphs and other related topics can be found here. Just type in "graph" into the search window.

Website: http://www.gbl.tuwien.ac.at/Archiv/digital.html
Location: Vienna
Members: 80
Latest Activity: on Monday

## SpiderWeb 3.1

### Visual Graph Grid

Creates a grid of points in the bounding box of a curve. For each point a value is generated,indicating if the point is within the area and outside of possible obstacles (0 = inside, -1 outside).

Visual Graph Grid is for use with Recursive Shadow Casting. Together they form the basis for VGA - analysis as proposed in From isovists to visibility graphs: a methodology for theanalysis of architectural space
(Alasdair Turner et al., 2001)

New in Version 3.1!

### Clean Set of Lines

Removes all double lines and invalid lines from a list of lines.

Now also outputs the index of the lines removed!
New in Version 2.0!
Output Change in Version 3.0

### Graph From DataTree

Creates a graph from the path information of a DataTree. The path of the DataTreemust have two indices.

New in Version 3.0!

### Graph From Cells

Creates a graph from a set of a joining cells. It outputs the graph as a DataTree, the vertex points of the given graph, the graph edges as lines and the distances between the vertex points of the Graph.

New in Version 2.0!
Outputs a Synchron List of Vertexes an Cells! Version 2.4
Bug-fixes in Version 2.5!

### Graph From Lines

Creates a graph from a set of lines. It outputs the graph as a DataTree, the vertex points of the given graph and the distances between the vertex points of the Graph.

### Graph From Points

Creates a graph from a set of points and a given distance. It outputs the graph as a DataTree, the vertex points of the given graph and the distances between the vertex points of the Graph.

### Display Graph

Displays a Graph in the Rhino View-port. Very Helpful!

New in Version 3.0!

### Neighbourhood Filter

Calculate the local median/average value.

New in Version 3.0!

### Point of Interest

Finds local minimas in a Graph. Recalculates the values V = abs[RV-V].

New in Version 3.0!

### ShortestPath

Calculates the shortest path (distance) from a starting point to all other points. If there are multiple solutions (i.e. a regular grid) all possible paths are calculated.

Renamed in Version 2.0!

### Shortest Path Angular

This calculation is similar to "Shortest Path" only the shortest path is not defined through the distance but through the turning angle between two lines. If there are multiple solutions
(i.e. a regular grid) all possible paths are calculated. To find out more please read: From axial to road centre lines; Alsdair Turner;

Renamed in Version 2.0!
Bug-fixes in Version 2.4!

### Eulerian Path

Checks if the given graph has an Eulerian path. If so it will output all possible starting points, if not there is no output.

### Minimal Spanning Tree

Calculates the minimal spanning tree using Kruskal's algorithm.

Input, Output Parameters Changed in Version 2.1!

### Maximal Spanning Tree

Removed in Version 3.0!

Use Minimal Spanning Tree instead [GD*-1] if using the GD output do not forget to make values positive again because i.e.:
shortestPath component can deal with negative cost cycles / will crash

### Shortest Metric Path Between Points

Calculates how often a line segment is part of the shortest path between each pair of given starting points. The parameter MD defines the maximal detour.

### Shortest Path Between Points

Calculates how often a line segment is part of the shortest path between each pair of given starting points.

### Breath-first Search

Preforms a Breath-first Search on the given graph. Can be used to calculate the 'Integration' as described in: Hillier, Bill; Hanson, Julienne; The Social logic of Space; Cambridge University Press;1984; Cambridge, New York; p. 108;

New in Version 2.3!
Output changed in Version 3.0!

### Randomized Sequential Graph Coloring

Randomly colors the given Graph trying to minimize the used colors. Will stop after n iterations or if the achieved coloring is equal or less then the aimed coloring.

New in Version 2.3!

Preforms Recursive Shadow Casting on the Visual Graph Grid. The output Vis outputs a DataTree with the indices that can be seen from the starting points. C outputs how often a field is seen from the starting points.

Recursive Shadow Casting is for use with Visual Graph Grid. Together they form the basis for VGA - analysis as proposed in
From isovists to visibility graphs: a methodology for theanalysis of architectural space(Alasdair Turner et al., 2001)

New in Version 3.1!

## Discussion Forum

### SpiderWeb 3.1

New Release!Now including Recursive Shadow Casting for use in Visual Graph Analysis!Unfortunately only in 2D but faster then IsoVist! Precision is not related to distance but to the size of the…Continue

Tags: release, new, VGA

Started by Richard Schaffranek Apr 2.

### SpiderWeb V3.08 Replies

New releas,new features:Graph From DatatreeDisplay GraphPoint of Interestmore examples:Display GraphSudoko SolverSimple Woodworking Jointsenjoy!Continue

Tags: V3.0, SpiderWeb

Started by Richard Schaffranek. Last reply by Mariana Schetini Basso Jan 31.

### SpiderWeb V2.5

A small update fixing the GD-Output of the GraphFromCell component.Continue

Started by Richard Schaffranek Jul 24, 2012.

### SpiderWeb 2.4

New Version avalible!A major Bug fix at the ShortestPathAngular componentNew Outputs for the graph from cell component.Continue

Started by Richard Schaffranek Mar 30, 2012.

## Comment Wall

Comment by Richard Schaffranek on February 26, 2013 at 17:59

Graph Introduction

Some basic information about graphs and other related topics can be found here. Just type in "graph" into the search field.

Comment by Nick Tyrer on February 13, 2013 at 5:25

Thanks for the answers man, greatly appreciate the help. I've already started implementing spiderweb into our current stadium project. Supposedly you learn something new everyday, yesterday i think i filled my quota for a month!

Comment by Richard Schaffranek on February 13, 2013 at 4:23

You are right, the file doesn't apply the separation between up and down, that was a newer file I was working on ...

WoodworkingJoint3D%20-%20NT.gh

Comment by Nick Tyrer on February 13, 2013 at 3:38

I was having a look through the script in finer detail yesterday, I'm getting the hang of the graph idea, its a really interesting script. I've attached the file i was working through, i just have a few questions, if you have a few minutes spare. (i put them in the definition)

I'm still struggling with the up/down classes. The classes get split 'randomly?' into three classes, (with no intersections within each class). Then those classes determine the orientation of joint. But in the final results, every class has joints on all sides, top/bottom/left/right. The joints all work, but there isn't any classes as you define that i can see.

Comment by Richard Schaffranek on February 12, 2013 at 8:40

Yes that's true, but the graph coloring also determines what side (up, down) the boolean operation is preformed on.

Comment by Nick Tyrer on February 12, 2013 at 8:06

That sounds helpful Richard, i will look out for it!

Do you mean those classes of intersections are possible, or are that it is the logic in the current script? At the moment it looks like the colours are determined by the random sequential graph component.

On a different note, it would be interesting to optimise the extrusion orientation of each member to maximise 'perpendicularity' of each join.

Comment by Richard Schaffranek on February 11, 2013 at 13:33

Hi Nick,

Good to hear that people get interested by the files I added.

The woodworking joints is a sample that should demonstrate that the graph tool can be used for other things than just shortest path,...

Yes the graph helps to maintain the relationships. This has two virtues:

1. Faster/simpler boolean operation since it is only preformed on those of interest.

2. It also allows to define kind of different classes (colours) of beams:

1: intersection only up,

2: intersections only down,

others: intersections up and down

At one point I will add a few more notes to the definition. At the moment I am working on a basic scriptum which will give some introduction to graphs. As soon as it is finished I will add a link.

Comment by Nick Tyrer on February 11, 2013 at 12:34

Hey Richard,

I've just downloaded spiderweb, i must admit it was for the Duplicate line tool. But looking through the example files this looks really impressive and i'm gonna have to do some research.

In particular the woodworking joint has caught my eye. Could you perhaps give me a little information of this model? What the logic is. I cant quite follow the graph related parts of the script. Does the graph maintain the relationship to each beams members to simplify Boolean operations? What does the color coding represent?

Comment by Danny Boyes on September 20, 2012 at 3:05

Rutten's 3rd Law of Grasshopper

"Never release something with ugly icons."

It's a big complement :)

Comment by Richard Schaffranek on September 20, 2012 at 2:53

More than a new Icon!

• View All