The problem with this geometry is the panels around the curved part are squeezed drastically which is unwanted.
Hence, I tried Kangaroo and aimed to relax the panels (also extend the surface to give it more room to relax), and inputting constraints like having the same internal angles, but not sure why once I run the simulation, it keep shrinking.
The initial mesh generation part can be simplified to not need all those plugins.
For the relaxation, here’s how I’d set up something like this.
It’s impossible for them to get very close to all square and equal size, because the geometry is longer around the outside, but you can reduce the squeezed up effect.
To get a more even surface pattern to start with, you could pretend that the the top end is actually a diagonal cut across the tube. Here’s a method that generates U curves on the pipe, divides them by varying counts to get near-equal segments, then extends them to generate the “missing” points. Then it’s just a matter of Mesh FromPoints and slice the top off.
I get the feeling you’d have to get down and dirty with the vertices and faces to properly trim it. Once that’s figured out, you’d relax it with Kangaroo to make the discontinuities go away. I have to go to bed, so if anyone wants to take up the challenge, be my guest!
like this? solution is simpler than you think, can make this work many ways depends if you just want curves to project to the surface or it to actually panelize the pipe with flat panels which loses the original rounded shape. Now keeping them all exactly the same size is impossible with an irregular geometry like this.
If this works for you, dm me and and ill share my script
Figured out a method for meshing neatly by cutting the pipe in half and picking vertices for each face starting from the outside seam. This is still in “square grid land” though, no diagrid.
When it comes to relaxation, you can either pin the seams in place, which maintains more equally-sized panels at the expense of a sharp angle on the seam, or allow the vertices to slip along the U curves, at the expense of a shrinking grid
If you’re going to play with the division settings, you have to tweak the Aspect Ratio parameter by hand so that the slice happens on the diagonal of each square. Couldn’t think of an algorithm for this.
I was planning to use Diagonalize to turn this into a diamond grid, but I really should have checked earlier because it does this to the border triangles