Sorting Geometries

A moderator can split the topic.

1 Like

On second thought, they are not precisely the same point :bangbang:

  • CntrPts’ is the average point of the six vertices of each hexagon (they are not planar so area centroid doesn’t work).

  • hexPlanes’ are the “Frame at {uv}”, defined by Surface Closest Point.

There is measurable distance between them. See green line in this image: :thinking:

Planarity is just one of the problems here, I got stuck, I have the pattern, now my problem is how to add thickness, find another intersections, perforations , clustering etc etc
Im going leave this for now.

Yeah, reciprocal structures get weird. Can’t help much but I tried. First, I decided that the white group in my code was cosmetic, a test of the purple group and shouldn’t export anything (‘hexPlanes’ and ‘hexEdges’). I left the white group in place but it should be considered disposable. There is nothing new in this version.


Hex_Out_2025Jul3a.gh (88.4 KB)

I tried making boards (domain boxes) and quickly found issues. Adjacent hexagons have duplicate edges and edge midpoints are before rotating them. White lines in this image are yours.


Hex_In_2025Jul3a.gh (28.2 KB)

Then I tried rotating the hexagons before getting their edges. It fixes the edge midpoints issue but duplicate edges (boards) remain.



Hex_In_2025Jul3b.gh (140.2 KB) (DEPRECATED due to internalized surface)

I don’t know why this GH file size is so large? When I delete your code it shrinks dramatically :interrobang:
Hex_In_2025Jul3c.gh (20.1 KB)

Aha! The surface was internalized!!
Hex_In_2025Jul3bb.gh (27.7 KB)

Hi there,
unfortunately I can’t send you a GH file. What i have is a Rhino file with your structure, normals for faces and one vector for members. Use member line and member vector to orient your members. Structure is scaled x100 from 0,0,0.

Cheers,
Raul
A_Order.3dm (1.1 MB)

1 Like

This is semi-interesting? Cull Nth (yellow group) with ‘N’ = 2. Avoids duplicate edges.


Hex_In_2025Jul3d.gh (33.8 KB)

1 Like

This started as something very different, a wacky idea to create triangles first and then a reciprocal hexagonal structure from there. But it turned into an art project using TriRemesh (lower left). :man_shrugging: Easily distracted. :smiling_face_with_sunglasses:



reciprocal _2025Jul3a.gh (46.8 KB)

wow, is very interesting, but for now a lot of info for me, lol, I hope I can check the scripts today.

Sounds like maybe too much? Please bear with me. My post yesterday about Cull Nth (Hex_In_2025Jul3d.gh) was perhaps the most relevant to getting a reciprocal structure from these hexagons because it addresses the problem of duplicate edges.

I was curious though. Cull Nth leaves edges 0, 2 and 4 but what if three different edges are used instead? I searched the forum to find this:

And adapted that code to get this"


Combos_2025Jul4a.gh (9.8 KB)

Then internalized ‘combos’ and copied it here:


Hex_In_2025Jul4a.gh (40.5 KB)

It isn’t necessary to understand all of this code. The first yellow group allowed me to examine all 20 of the ‘combos’, one by one. When a combo looked “good” (six sides), I clicked the button to collect indexes (slider values) of “good combos”. When done, I internalized that list in the magenta group (eight “good combos”) and copied it to the bottom yellow group.

Which of the eight “good combos” is best? To be determined. What are the criteria :question: :thinking:

P.S. Simplified:


Hex_In_2025Jul4b.gh (37.4 KB)

1 Like

Hello Mr, I’m just a little busy.
Well with this logic “combos” or “cull nt”, some edges was excluded missing some supports needed.
But all the logic are u using with the data is nourishing me and I really love that I have not to use plugins.
Anyways I just delete the duplicate lines with kangaroo component and used the results to rotate what results in all the edges conected.
At list this is just a little approach cause the initial shape was not planar and this can produce weird conecctions at the end if I’d want to fabricate it.

No comprendo amigo.

I tried to evaluate “good combos” and create triangles for a reciprocal structure. ¡Muy difícil! From what I can tell, the combinations “0+2+4” and “1+3+5” edges make the smallest triangles but my code fails to work well for all “good combos”. On closer inspection, some of the eight “good combos” may not be so good?

P.S. This GH file can be used in R7 but requires Hex_Out_2025Jul3a.gh to run first to create the hexagon_order_v2.ghdata file used by Data Output and Data Input. That file location got messed up somehow so I am re-posting both GH files (slightly renamed).

Hex_Out_2025Jul3aa.gh (83.5 KB)
Hex_In_2025Jul4dd.gh (46.5 KB)

check at the borders some edges missing, some pieces not have support. With remove duplicate works well…
I can continue at this point thank you very much.

That’s because I’m using only three beams for each original hexagon, to avoid duplicate edges.

Good luck, I’m out. It’s late in this game to consider planar hexagons on that curved surface. Your original hexagons are not planar.

Exactly but I really appreciate all your work, it showed me a lot of tricks ;P. keep here at the forum. We need you

Thanks. One last thought… from someone who is not enthusiastic about reciprocal structures.

You rotated edges at their mid-points, I rotated the entire hexagon before extending its edges in only one direction. But this version has no rotation at all and extends edges at both ends. No other changes to previous version - because I’m done and am not serious. :rofl:


Hex_In_2025Jul4e.gh (47.0 KB)

1 Like

This old video (2019) showed up in my YouTube feed today. They make it look easy but please note that the computer voice narrator can’t even pronounce “reciprocal” :bangbang:

I noticed that these structures, like domes, have a mix of hexagons and pentagons.


And of course, they are designed on dome structures where many pieces are idential, not arbitrary curved surfaces where angles and dimensions are unique.

There is a link to this 114 page PDF: