Grasshopper

generative modeling for Rhino

# Double curvature rectangular panelling aproximation.

Hi guys!

My name is Berna and this is my firs Discussion aided/supported by Ángel Linares and Jose Luis García del Castillo.

I am panelling a double curvature surface with rectangles 580x1000mm.

I know that it is impossible to solve it perfectly because double curvature don`t allow it, but I am finding the best solution/aproximation.

Also I need to know how to make it on the surface because all the definitions that I know make irregular rectangles or triangles.

I tried different methods with this wrong results:

Method                                  Result.

Panelling Tool                          Irregular rectangles (because It try make it "perfect"                                              and it is impossible as i said before.)

Unrolling                                 I have every surface unrolled through

a "domain method" and i can easely draw them on

the unrolled surfaces, but i can´t return them

again on 3D surface.

Manually                                 Infinite time needed.

Any solution?

Thanks a lot.

PD; I am having problems with images upload, I will upload my actual state and definitions when I solve this connection/explorer problem. Moreover i think that it isn´t needed to understand the problem properly.

Views: 567

### Replies to This Discussion

Hi Bernardino!,

Let's think a little bit together: what do you think that could be the first step to build this definition in Grasshopper (without plugins)?

Our target: Divide a surface in planar quad panels.

First of all  I think that I have two ways:

1. Simplify all the surface to a developable one.

2. Adjust the panel grid 1000x580mm to the double curvature surface (that sounds better).

But I can`t do any of them well, In the way 1, I loose many precision in very curved surfaces, and in way 2 I can be able to resolve the definition, I am trying with 2 points on the surface actually, this afternoon I left 3 points because I am thinking that it is impossible to adjust 3.

What do you think?

Thanks Angel.

Hi,

I would choose the second one. The problem here is that you need that all the panels have the same measures...and that is not possible over double curvature surfaces without iteration or stepped approximation methods (as far as I know). I could show you easily how to panel the surface using divisions at constant u and v parameters without any additional plugin or scripting, but with this method the panelling is not going to be uniform (each panel will have different measures).

Another more complex solution (but quite better in the result) could be to use Kangaroo to generate a dynamic spring system that adjust itself searching planar panels and the measure of panels edges. (Example: https://vimeo.com/15527162 , https://vimeo.com/23929523) If you download Kangaroo you will find some useful tutorials files.

The problem that you are trying to solve is not a trivial one, there is lot of investigation and research about non-triangular planar panelling in double curvature surfaces. I don't know the technical requirements in the project you are making, but if you don't need full precision in the panelling measures, perhaps you better should consider to use easy panelling methods (u-v division, planes-surface intersection,...).

Hope this helps.

Best Regards.

Angel:

Now your are in front of my problem, jeje. I am trying to explain to my client that it is impossible, but it is a Cordoba`s steel constructor and it is the first or second time that he have to solve something like that.

I need to give him one constructable solution, because he said "NO" to any possible solutions: irregulars quads, triangles...

I am finding all the possible ways and at last I will give them the best solution and making my own method to solve this very very difficult problem. Year ago I tried to solve it and I couldn`t, Know I think that I can achieve a acceptable solution to it.

I will try kangaroo.

As I said before, u-v division, or planes intersection are not allow.

Can you give me more information about iteration or stepped methods?, I solve the problem "manually", rotating panels one by one with a grasshopper definition, but it is very slow (10 panel per minute)

Thanks, In this week we will find the best solution, I trust in Andalusian team, jejej.

Hehehe, I see ;)

As you said, planar quads with same measures only will let you define cylindrical surfaces...it's impossible without changing edge measures or faces internal angles achieve a double curvature surface. The best way to explain this is cutting 4 pieces of cardboard; with these and a ball tell to your client that try to match the surface without separate the cardboar panels edges...xD...It will be funny.

Well, iterative process (without kangaroo or hoopsnake) are "only" possible with scripting VB.NET or C# components (or plugins maked in VS). If you have never coded before with VB.NET or C# and the deadline is near, I think that this is not the solution to take. And with this process the size of panels are going to change; they could remain planar but you need to change sizes in the process or you have to let appear some gaps between panels.

I am nearly sure that I will solve it with hoopsnake, I didin t know it and it looks very nice, It is perfect for my actually definition.

Nice to see that we have found a possible solution :) Keep posting if you create a definition with hoopsnake, I'm sure that lot of people have or will have the same problem in future :)

• View All