Grasshopper

algorithmic modeling for Rhino

Hi everybody,

first of all: this will be my first thread here, so please be tolerant.

I have a freeform on which i want to project same sized hexagonal planar surfaces. One important condition is, that one edge of a hexagon have to be on the same position as the edge of the next hexagon. If so, the distance between those points on the curve have to be every time different depending on the curvature between those two center points of the hexagons.

My question now is how to get the center point of each hexagon on the curve AND meet with the next hexagon on those edges.

Maybe there is a Galapagos Loop or something or Phython Script or a bit easier way?

Big Thanks!

Greetings,

Hendrik

Views: 2739

Attachments:

Replies to This Discussion

Not sure this applies but reminds me of this thread about mapped hexagons ('MapSrf'):

http://www.grasshopper3d.com/forum/topics/rotation-of-hexagonal-cel...

Thanks for your Respond!

It is very important for me to have planar hexagonal same sized surfaces.

If you maximize the size slider of your .gh you can see, that those hexa arent planar.

Hi,

if you need only to map hexagons to a curve, then the attached script should do. Starting with an equidistant curve division was a good idea. Btw. you can do this only with a planar curve.

Tesselating a surface with planar hexagons is a different problem and not an easy one. Generally you'd get only an approximation of the base surface and you have to use some loops etc.

All best,

Krzysztof

Attachments:

Btw, if you want to have the center point of each hexagon to lie on the base curve, then the result wouldn't look good (in my opinion). Look at the magenta segments:

Of course, it is possible to do this in a loop (anemone or scripting). (Equidistant division is also a loop hidden in a component, I guess)

All best,

Krzysztof

Attachments:

Thank you Krzysztof!

This was a great help!

But, i really have to have the center points on the curve. Do you think that this is possible too?

Greetings,

Hendrik

Hi Hendrik,

sure it is possible. Here are two solutions. One uses Kangaroo to pull midpoints to the curve while maintaining the chain structure. The other one is a simple loop made with Anemone with a condition to stop after reaching the end.

The one utilizing Anemone is faster and more accurate. I used Kangaroo only for fun. Perhaps it would be fastest if written as a C# script loop.

Best regards,

Krzysztof

Attachments:

Wow, exactly what i was looking for, thanks a lot.

I changed some inputs for my task and it worked! Thanks!

There is one more thing. Because of Anemone its difficult to put a tree or something in its loop, or? Because what is when i got two, three or random curves next to each other.

The main reason what i am actually trying to do is rebuild the attached model i build in real. So, you have a a surface divided in random number of curves depending on the segements width and then project the hexas on it. The hexas should be glas of a construction later, thats why they have to be planar.

Can I put more Curves into your anemone loop?

Bests,

Hendrik

Hi again :)

To input multiple curves we needed some simple data tree operations (simplifying, remapping and trimming). I wrote the small C# script just to practice data manipulation. It tells the loop when to escape. Maybe there is an easier way to do this, I don't know :)

The rest I leave to you.

Best,

Krzystof

Attachments:

Okay, this is absolutly what i wanted, thanks a lot!

From now on i can figured out my Model.

Greetings, Hendrik

Hi Krzystof,

thanks again for your help.

There is one thing i have to comment to your file.

I figured out that there is a mathematic problem. If you set your Curve as a half of a circle every center point of a hexagon has the same radius as the circle. Thats correct and thats whats your file is doing. But If so, the edges cant be on the circle. See the picture.

Its only your beginning hexagon which starts with one edge and the center point on the curve. But this isnt correct. All other Hexagons are right.

Maybe you have an idea to fix it?

Greetings,Hendrik

Attachments:

Hi,

I get what you mean. The first hexagon intersects with the curve instead of being tangent to it. I have an idea, but at the moment I don't have access to a computer with Grasshopper. (vacation time :) )

I try it on another way, but maybe if you have the time and possibility you can try it too, thanks!

RSS

About

Translate

Search

© 2024   Created by Scott Davidson.   Powered by

Badges  |  Report an Issue  |  Terms of Service