Planar quads on a surface using kangaroo

Hello, I am trying to create a mesh form using quad panels. I am using kangaroo and using forces such as coplanar, points on mesh, springs, and anchors. But during the simulation process, the final surface develops peaks as shown in the image below. I am looking for a smooth surface approximation from quad panels. Can anyone suggest what is wrong with my script? I am attaching gh file and image too. Thank you

planar (37.2 KB)

Planarization while keeping on a target surface and with a fixed boundary is only possible when the starting mesh has the right topology.
A good first step to building this initial mesh topology would be to get a picture of the principal curvature directions.

1 Like

Initial mesh is well constructed and I have that in uploaded file. when we explode it, it has clear topological construct. I got your point that we cannot constrain surface and boundary for new planar form, so I removed points on mesh constraint but still with fixed boundaries and coplanar point force of each face should yield a result ?.. or is it that I have to use some logic to constrain relationships of neighboring panels also ?

It’s not just a question of the mesh being ‘well constructed’, it should follow the curvature directions. This is likely to require some irregular vertices.
With the mesh you have, if you keep the boundaries fixed but release the interior from the surface, you might be able to get it to planarize with the right combination of other forces, but I think the result would simply be 3 faces of a cube

1 Like

I just found out a smooth force and used it …it almost gave one result…

I think I can do this easily if I got a surface but as this form is a result of relaxed mesh …Getting a surface from this form is tricky. Otherwise if we divide this form into hexagons there are more chances of getting a smoother surface as there would be more room for bending due to 6 sides of hexagon. Can you suggest any method that I can use to divide this mesh into hexagon panels, as I cannot use lunchbox to do that on a mesh (12.9 KB)


Hi, in case I want to subdivide in quad meshes iregular surface like the one shown in figure what is the best approach?

Thank you.

This isn’t really related to the above discussion, as it’s not a planarization problem, since the surface you are meshing is already flat.
It’s more just a question of quad meshing. How to do this depends on what properties you want the quad layout to have.
You could try with the quad remesher:

Or you could manually create a coarse quad layout then subdivide and stretch it onto the boundary like here:

1 Like

Thank you Daniel, I wanted to find a discussion regarding quad meshing and I was wrong with this one, sorry.

I have Rhino6 and if I’m not wrong quadrememesh is for rhino7 so I’m looking for something similar but working in Rhino6.

Thank you.

Like in the second link in my last post, you can manually model a simple mesh with a few quads, then subdivide and stretch to the boundary: (15.9 KB)

Drawing the right coarse quad mesh takes a bit of practise. Generally for smooth boundaries like this, I find keeping the boundary vertices all valence 3 (by having some valence 3 vertices on the interior) helps avoid quads near the edge getting too heavily distorted, as happens if you simply stretch a rectangular grid (which has valence 2 vertices at the corners).


Hi Daniel,

I test your definition and try to get a dome. The result looks great. Pls see attached.
Just curiosity if Kangoroo can amylase principle stress lines?
And I was wondering if this is necessary, because after form-finding step and the usual assumption of a linear relationship between force and displacement is no longer valid due to the inherent large deformations…is that correctly?

hi @DanielPiker Is it possible to flatten(planar) Ngon to your script?
I tried but still failed

planar_soap (48.3 KB)

Have a look at this discussion

1 Like