You can mesh any surface with planar quads, just in some cases you will need to adjust the mesh topology and cannot always have the grid direction lining up with the boundary.
This mesh on this surface looks fairly simple to planarize though, especially if you are happy to let the boundaries change.
With planarization you’ll generally need additional goals such as pulling to a surface and/or smoothing to keep the mesh nice.
Am I understanding you right that you want to stay close in shape to the original input surface, but all 4 boundary curves are free to change?
Thanks. This works surely. However, I imported a shell structure composed of quads and a non stop explosion of lines occurred while running the Kangaroo simulation.
Yes, there you have a mesh not even approximately following the principal curvature directions.
Even with adding smoothing/fairing/proximity goals it won’t be possible to make it planar without changing the starting mesh.
From the complexity of the shape, it looks like an appropriate mesh topology will also need some irregular vertices at key points. The boundary also has some sharp discontinuities, and does not follow the surface curvature directions, so it likely isn’t possible to have the mesh grid directions aligned with the boundary everywhere.
There isn’t really any totally automated way to create this starting mesh topology. It is possible with a bit of work and skill, by looking at the curvature, maybe modelling some base mesh informed by this and/or pulling it onto the surface while letting parts slide past the edges. I can give a bit more of a guide to this process, but it’s not a one-click solution.
However, an alternative I generally recommend wherever possible is instead of getting some shape as a surface or mesh (with topology unrelated to curvature) designed in some separate way, and then trying to fit planar panels onto it in a post-rationalization process, instead embed the constraints such as panel planarity right into the start of the design process, so that you create a shape which has those properties from the start.
To clarify my previous reply - I mean you will need to use a mesh with different topology. When the mesh topology doesn’t fit the shape, there’s no way of simply optimising vertex positions that will make the panels planar.
It is clear that this is not an easy job and that it would require a lot of manual work, but I have been always curious about this too.
How do you go about doing this even inside Rhino?
Judging from Daniel’s words you might need to start over and take planarization into account from the start. Now, I wouldn’t know how to do that either.
“You can mesh any surface with planar quads”… If I mesh the the surface with qauds and triangles, would it follow the surface better ? Is there a way do it all ?
Here’s a simple example of including planarity during the initial shaping process: pre-rationalize_planar.gh (23.6 KB)
If you want to do it the other way round, making a surface, then turning it into a planar quad mesh, you’d need to find the principal curvature directions, build a new mesh respecting these (bearing in mind the curvatures will probably not align with the boundaries), then planarize that.
There’s no fully automated way to do this.
pre-rationalize_planar_re.gh (44.3 KB)
Have a go with this- it uses some more fairing goals to keep the quads in shape, and lets you make the panels of your mesh fully planar.
However,
It is important to understand that when using this ‘pre-rationalisation’ approach where you define the mesh first, then pull it into shape while keeping constraints such as panel planarity,
the quality of the starting mesh still really matters a lot.
The locations of the irregular vertices will strongly affect the shapes the mesh can take and how it can curve while keeping within the constraints.
Using smoothing and fairing goals can only do so much - if the starting mesh doesn’t make sense for the form, then no amount of fairing will allow it to make a nice smooth grid while meeting the constraints.
In your file the mesh has no relationship to which parts of the boundary are fixed. This leads to discontinuities as it pulls up.
To get a nice form you would need to design your starting mesh informed by where it is going to be fixed and which parts are going to become domes/openings/saddle regions.