I tried some plugins to put hexagons on a surface with a seam.
I tried lunchbox, ngon. I didn’t try Paneling tool. These tools have problems or the seams (lunchbox, or too much points (polyline with 9 points for ngon plugin), not hexagons at the ends, or too much distorsion …
As I need quite nice hexagons I developed a little tool 2 hours work).
You just have to put the number of hexagons on a ring and say where is the seam (U or V).
I think there’s no other than your script to do so, because all plugins I know of use uv position, while I think yours probably uses some sort of subdivision of the reparameterized uv).
nicely done, it looks cool!!
I tag @user1951 here, because I had read a post lately where he tried to achieve more or less this I think for one of his drones.
I use some recursion in order to measure distance between centers of hexagons, then I seach for the best u or v for the next ring (at the moment it is a single linear interpolation). Nothing too complicated but it gives some nice results. I’ll put this tool in Nautilus.
I also found that it is possible to remap UV with standard tool to remake a new surface that will be nicely paneled. But this is not easy to use.
By coincidence I to have been exploring the hexagonal shape. Or more so hexagonal lattice. I believe what you show is essentially the lattice that graphite would be, although in sheets and I guess equal area to each cell and planar ? A single six carbon atom-single bonds- hexagon ring is not planar because of the bond angles [109.5] between atoms. If we turn to the crystalline lactate of diamond - all carbon atoms in this case- matters are very interesting. Likewise, a benzene ring, six carbon atom ring. Lots of videos , explanations online about this and [no surprise] software to explore , visualize etc. molecules.
As is clear, this is not a direct path to what I sense are some of your goals : accurate , precise , adjustable 3D hexagonal geometry. But at least a way to check the geometry you get against a known and further I am hopeful that this route proves to be supportive and or data [ maybe model] from one source / and application can be use for another.
Thanks @martinsiegrist it is a nice way to map a pattern on a surface. For my application it lacks the fact to keep the hexagon (polyline with 7 control points), also the quite regular/circular hexagon and surely the orientation.
Here a screen shop with the 2 results
Got back to the script above and noticed the surfaces did not behave as expected. After calling maths to the rescue, I rewrote the entire thing using domain mappings. It turns out to be extremely simple : divide the rail and “unroll” it, divide the length of each segment by the ratio of the biggest radius to the smallest radius, and scale this new rail to the same height as the pattern. This “deforms” the rail in such a way that when mapped back, the pattern is evenly scaled on the surface.
It works for any pattern made of polylines but if this pattern happens to be a square, then Map to Surface can be used to map any pattern from a unit square…