Trouble Creating simple Hyperboloid and manipulating end points

Hi Guys,

I’ve only just started using Grasshopper a few days ago and have been following tutorials on how to create a hyperboloid shape from HowToRhino [https://www.youtube.com/watch?v=8Ogb-Z2JljU&t=533s ]

I am struggling as i want to be able to make sure that each line meets at the exact same point at each end and then, if posssible, be able to move those points around as i wish. Ive tried to follow the tutorial loosely (wanted to able able to change radius of circles and height of shape aswell), and here is my progress so far. If anyone knew a really simple way to do this it would be really appreciated. Thanks

Hyperboloid.gh (17.6 KB)

1 Like

Hi @awadrop, just swap those 2 output circles to make sure Lines creating from base points.
When you rotate divided points in opposite directions, they are not in the same place. So if you want them having same start/end point, I would suggest the input should be from same source.

1 Like


Hyperboloid_re.gh (13.2 KB)

1 Like

Thanks! Would you be able to show me how to rework it so that the the input is the way you talk about? I thought i done that so by using the negative to make it so the points are the opposite but also the same (if that makes any sense). Sorry about this i really appreciate the help

I think you could check the one @HS_Kim made as above.

  • Create top/ bottom circles.
  • Divide 2 circles at the same number
  • Rotate top circle in 2 opposite directions
  • Make lines having same base points
  • Make pipes

And Spiral…


Hyperboloid_reV2.gh (20.8 KB)

3 Likes


Here is a simple way, but you have to adjust the Angle slider yourself to get coincident joints at top and bottom.

This method uses the Twist component from Rhino 6 or the Jackalope add-in.
hyperboloid-bb1.gh (12.3 KB)
HS_Kim’s solutions are far more elegant - the spiral one would never have occurred to me.

2 Likes

He Ho,
I’m trying to figure out how I can define the lenght of the pipes without changing the base geometry.
What I mean is that unit Z should change dynamicly to the new generated hight.

I used @Birk_Binnard awesome skript as a foundation.
My first attempt was to feed back the hight of the endpoints of the pipes to the unit Z.
But this is not possible because of a “recursive data stream”.

My second attempt was to figure out the distances of the endpoints and then try to set them equal. (so all green lines should have the same distance)
But I don’t really know if this is even possible.

Here is my latest GH deffinition:
Latest_try.gh (18.3 KB)

Best regards!

Anyone? :disappointed_relieved:
I don’t really know what to look for? At least a direction would be helpful.