How do I make a funnel roof structure using grasshopper

hi I’m new to grasshopper and have recently done a course on the basics however I’m struggling to produce this type of structure

I’m aware I can create the funnel shape in rhino however I want to produce the most efficient structure possible therefore I believe if I use grasshopper to design it parametrically this will give me the most optimum solution eg for column placement, roof height etc. I think this can be done using kangaroo?

any help or advice would be greatly appreciated!

https://thinkparametric.com/courses/learn-how-to-create-an-organic-roof-structure-centre-pompidou-metz

2 Likes

In an ideal word (I would strongly suggest to start that kind of stuff with classic quad meshes and an ortho topology (grid like) … later on you can exploit other topologies):

  1. Define a grid and on the fly - interactively - define the flat modules (so to speak) and the modules that yield cones - that compose the “columns” (This is the core of the matter … but … you can’t do it without code).
  2. Define a mesh in the flat modules, the cones and the connecting rings (see images below) in such a way that K2 could start with an input Mesh as uniform as possible (you can do that with native components but is a bit tricky). In your pic above the “columns” are a pit pathetic (lack density in the conic part).
  3. Then relax the mesh via K2 using some anchor policy (that’s a big thing). Have in mind that if the input is bananas (see 2) expect a bananas output as well: K2 can’t fix a bad mesh. Depending on the spring values (and maybe some unary force [gravity]) you can obtain various results: good, bad, ugly etc etc. On a higher level of relaxation control the columns may have different spring values than the flat parts and/or different unary forces.
  4. Then comes the real pain: what to do with these “relaxed” lines (Mesh edges). This is not a task for a novice by any means (if you want some real-life solution, even an Academic real-life one) - so forget it completely for the moment. In fact you can’t do that without code.

For instance:


4 Likes

Thank you for your reply Peter, really appreciate it. Is there any chance you could explain in further detail? This is all really new to me so I’m unfamiliar with a lot of the stuff you mentioned… :sweat_smile:

Well … let’s start from A: get fully the gist of K2 (what is that thing, what can [and can’t] do and how). This requires 1 to 6 months. Then go to B: get familiar with ways (forget the interactive freaky part mentioned above) to define a grid, a mesh on the grid modules, a cone (in fact several), a grid on the cones … and what happens between the top lip of the cones and the boundary of the corresponding module (mentioned as “connecting rings” above).

PS: maybe by some miracle you are familiar with C# ? (or have future plans to start coding?).

1 Like

Unfortunately, I don’t have that much time :grimacing: my project is due in a few weeks! Is there a simpler way of doing this?

If the project includes designing some sort or “realistic” envelope on top (that doesn’t leak) … better find some other topic of interest (life sucks).

Other than that … well … I have at least 100 C#'s (i.e. an alien “component” that is not a component nor is a compiled add-on nor is a cluster) that do things like these … but what could the the benefit of using such a solution? And if this is an Academic project - of some sort - how you could explain to your tutor the existence of a given C#?

But hope dies last: is more than possible that someone else (or even Daniel - the K2 man) can provide some sort of example/demo using native GH components (that your tutor could understand).

On the other hand: here’s a deal.

Try to do that with components. I.e. forget the interactive part and do a grid that has in random (or not) places the “columns” - then do a mesh out of all these with variable “resolution”. So we have on hand a homogenous mesh to send to K2 (the better the start mesh the better the results).

If you do that, post the def here and I can provide some hints upon how to relax that thing (or see the attached). The result may be kitsch or good … er … depending on the K2 parameter values used. For instance this is 100% kitsch and 100% unrealistic (is using a variety of options with regard the anchors: all naked vertices, some naked vertices, some dogs, some cats etc etc):


On the other hand the attached (using a boundary and some random circles for the columns [plus MeshMachine]) is the only vault like thing available that is not carried over solely via code. A hybrid def using some native components (done for training some people in the practice for learning C#).

K2_VaultLike_V1.gh (138.3 KB)

3 Likes

thank you for your help! i’ll see what i can do :laughing:

Hi again Peter!
do you know anything about karamba3d and how I can add that to the model?

Nothing at all: I use solely Bentley Systems apps for AEC BIM matters.

First of all greetings and apologies if im intruding on this thread.
Keywords and topic are kinda similar to what im workin on rn so it seemes like the best place to seek the advice. Besides, Peter always seems to give good guidance and well elaborated answers when this kinds of things are discused…
I’m currently working on a canopy with 8 funnel columns as supports. The positions of the columns are fixed, ie. cannot be moved, except slighty changed in their diameter and maybe shape (circle->ellipse->ovoid blah) if needed afterwards. As I was initialy provided with the “ideal” shape to mimic, I have chosen to reconstruct the mesh with subD tools in rhino. This mesh is later to be used as init mesh to relax with kangaroo tools. What im trying to achieve is mesh base for creating a cross-laminated roof/canopy timber structure (the one like Pompidou Metz or Tulum station) → pls dont bother with the technical details of the project rn, as this is still in development phase and that sort of discusion will be taken further on as the development goes…

Basicaly im looking out for sugestions on development workflow of this kind of structures. Is it better: (1) to develop the precise topology of support structure as a mesh, relax it, and use the relaxed mesh wires as basis for defining structure bearing elements or, (2) to develop any kind of topologycaly uniform mesh (quads / triangles), relax it and only then apply (ie. project) lines from flat plane to the mesh that will represent the base for creating load bearing elements? I suppose there is no universal answer to this question, and I guess it depends on kind of a desired result (regarding the before mentioned examples, I guess Pompidou was developed via method (2), and for the Tulum station method (1) was used).

Here’s a quick screenshot of base and relaxed mesh and the example file is attached.
canopy test 1.gh (89.8 KB)
I’m not happy with areas marked red if this topology is to be used for developing structural elements. However, I guess it’s not that much of a problem in scenario (2).

Thanks!

Well that thing is using torsion free triads of beams that define a stand alone module (not bad idea - in theory). So you should triangulate your quads (highly recommended since planarity in real-life is some sort of chimera). So your main concern should be how to achieve that goal. I have solutions but are strictly internal … but Daniel (K2 man) has posted in the past some examples. I mean that sort of stuff (green are the planar things, red the ones that we don’t want): That said a planar (to tol) quad is the one where the min diagonal dist is less than tol.


And finally:


Or:


But ths brings the core issue: that type of solution requires more or less a “uniform” collection of modules - for more than obvious reasons. Your column concept is incompatible with that - kinda mixing onions with bananas (or trying to ride fast a Harley Davidson). You’ll arrive sooner or later in dense areas (the columns, that is) where the whole concept cancels itself.

I would strongly advise to use a hybrid solution: stand alone tri-modules for the envelope and some elaborated metal structure for the columns. If you want to push the envelope … well … you can do tensegrity columns (but this is strictly pro teritory if some sort of real-life result is required [plus Rhino IS NOT the app to use by any means]). Imagine a WOW column made from carbon tubes, CNC SS 316L connectors, SS cables and Ronstan tensioners (GNP of Nigeria is required for all that … but no pain no gain)

NOTE: Fot that type of stuff the main danger is this:

Screen Shot 027

Thanks Peter!

What do you mean by that? It seems to me that all those beams are pretty much torsioned (is that even a word :/)?

I see what you mean by that. In case of u funnel roof the projection method is more adequate.

Any references on what to do with those relaxed mesh edges?

The Metz is ultra kitsch: ideal for Las Vegas. So I skipped that approach in my answer since you mention the Tulum as well.

So let’s talk about the rational/fine part of the story: The Tulum is made exactly as I said: wooden beams (obvioulsy “straight” - so torsion free) that compose stand alone modules (obviously triangles). See that the envelope modules are more or less “even” (obvioulsy) and there’s no columns to mess with the whole Topology. Simple rational thinking I confess (if we skip the usage of wood: kill trees [in the name of “progress”] and be a happy bunny).

Well … the ugly news is that any real-life solution is 1M miles away from what people imagine (when try to figure out some “abstact” theoretical “concept”). Meaning that is most unlikely to find any “ready-to-use” detailed solution (or the code for that).

Plan B: Well … if - as an engineer - you want to walk the rational walk … do a U Turn and mastermind a tensile membrane solution. I mean: if you want to ride fast buy a Ducati instead of attempting to tune a Harley Davidson (a vast amount of contemporary buildings are in fact Harleys).

Well I didn’t expect ready built solution. By resources I meant books, papers, concrete case-study examples… Anything you might have encountered, found useful and learnt from. I’m familiar with object oriented programing languages such as c++, c# and java, and have a couple of custom gh. components already made, alongside some arduno projects. Nothing too sofisticated unfortunately, as 90% of my work rn consists of teaching.

Exactly… except for the happy bunnies as they got thrown down the hatch of the blast furnace for making that steel structure

Stay at C# and forget compiled stuff: there’s no point at all to ride a Ducati and a Harley at the same time.

That’s your main issue: only in the cruel (and ruthless) real life one can kill the mosquito (bazooka optional).

Plan C: Try to think by adding lightness (Colin Chapman style). Replace heavy (a bit gothic) things with light tubes and fuzzy logic with rational thinking. Say something like this (where complexity has no effect to cost - relatively speaking):