Equal sized paneling on pipe-like geometry

Hi all GH master,

How do you create equal sized and distributed panels on a pipe-like geometry (various thickness as well)?

My requirements are:

  • diamond panel (or square grid but rotated 45 degree)

  • all panels appears to be a square and equal size

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.

Is there any proper way to do it? Like anchoring the points around the 2 naked edge?

Any help or tips are much appreciated. Thank you!

equal panelling.gh (23.4 KB)

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.

equal panelling.gh (25.5 KB)

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.

Except the slice is not neat and tidy, generating extra triangles.

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!

bent tube division.gh (19.8 KB)

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.

Otherwise you get gaps like this:

Disable the solver and Preview the source mesh while making these adjustments so it doesn’t freak out!

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

And that’s when I ran out of steam :smiley:

bent tube division 2.gh (29.2 KB)