Hyperbolic Tower

This grasshopper definition is to create a Hyperbolic tower with helix partition.

01 concept

There are two features in this definition, first one is to use ‘function’ component to create geometry. The concept is explained in the image above. Basically, there are doughnut like floors through the whole tower, each has the same area. This was enabled by ‘function 2’ component that inputs are the area of the outer circles and the floor area you want. Then it will create the inner circles accordingly. Since each doughnut has the same area, the outer circumferences and the inner circumferences change at different rates.
The second feature is to create helix. Every helix created by grasshopper is basically products of data matching. By matching a series of numbers for Z-axis movement with a series of angles, you can easily create helix like geometry. The same logic can be used for creating staircase.

Enjoy grasshoppering.

02 Grasshopper definition

tower in Rhino

Tower in Rhino 02

Diagrid facade

This post is about how to create diagrid on a surface by exploiting tree structure.
Diagrid in Grasshopper
The tutorial shows how to turn ‘tree data structure’ into a ‘single list’ by ‘flattening’ and ‘restructuring’ it into s tree structure with lists of ‘four points’.
This process enables us to use ‘list item component’ to connect two corner points of each surface. This way, we can create diagonal on each divided surface.
I personally added ‘orient’ component to creat H-beam along the diagrid. Other kind of sections can be used.

Diagrid in Rhino
This is what rhino will show according to the grasshopper logic.

Diagrid in Rhino Close up
Close up view of H-beams.

Comparing Single list and multiple lists(tree structure)

Comparing Single list and multiple lists(tree structure)
Difference between a single data list and multiple data lists in a single parameter(tree structure)

Data list
Say we want to draw lines between the points on each curve.
When the points on each line are in a single list, it becomes one single list as the two data lines (two single lists) go into one ‘V’ertices input.
So the pline components creats a pline accordingly.

Data list

When we graft the list from each line, it kind of breaks the single list into multiple lists.
(or say change the direction of data. This is not exact explanation, but still helps you understand intuitively)
In this specific case, there are lists of  ‘one point’ in a single parameter.
That’s why the pline component creates a line between points from each curve.

Parametric truss + Distance, Series

This post is about how to exploit the ‘offset distance value’ of “parametric truss” by employing “distance” and “series”. Ghx file download will be available from  next week.

Parametric Truss + Distance

Parametric Truss + Distance in Rhino
Parametric Truss + Distance in Rhino
I hope you can see the highlighted points on the top left and bottom right corner.
The closer to the points the panels are, the lager the holes are.

Parametric Truss + Distance in Grasshopper
Parametric Truss + Distance in Grasshopper

Parametric Truss + Series

Parametric Truss + Series in Rhino
Parametric Truss + Series in Rhino

Parametric Truss + Series in Grasshopper
Parametric Truss + gh in Grasshopper
I have no idea why the ‘planar srf’ components are orange.
If you have any clue, please let me know. 🙂

Parametric Truss

Parametric Truss in Rhinoceros

File:DigitizeMe 002 01 parametric truss.jpg

Parametric Truss in Grasshopper
File:DigitizeMe 002 02 parametric truss grasshopper.jpg

Link to Parametric Truss Tutorial

Well, actually, there is no thickness of the truss in the tutorial, but I wanted mine to have some thickness.
So I extruded each surface according to each normal vector, but the end result didn’t seem like what I wanted.
One side of the truss was broken or overlapped in mine because of different extrusion directions.
To prevent this from happening, there is a way to take only one vector for every piece of truss,
but the result won’t be what we want when we actually need to build it.

I guess there is a way to solve this problem by scripting stuff, but I am not there yet…