[Q] Why kangaroo did not Planarize all the panels?

Hi friends,
I have several surfaces which should become planar .Luckily or unluckily,there are 4 of them are not planar. Then,I thought Kangaroo can do this work. However,through my efforts, 2 surfaces are not planar finally.I do not know is it impossible mathematically or just I do something wrong.So I need your help.See attached picture and GH file.Thanks.


question 1.gh (26.5 KB)

You are inputting polysurfaces to the Mesh input of the Planarize Goal.
Planarize operates on quad meshes.
This results in them getting meshed with default settings, which can result in multiple mesh faces for a single surface. Try instead using the ‘Simple Mesh’ component to mesh them before the goal.

1 Like

This seems to work.

planarize.gh (27.4 KB)

Thanks.Work like a charm!

Thanks.But without the length spring to restraint,the whole face would be out of shape.
In fact,Daniel explain exactly the key point of the question here. You can have a look.

1 Like

Nice. So how does your result look like?

Hi Daniel,
I find that ZombieSolver always output results fast and stable. At the same time,you have to reset the main solver sometimes to get the same result once the solver became red . So it seems that ZombieSolver is better for me.The only question is that ZombieSolver does not output data as tree.So it is hard to pick out the right data from a list. Then my question is why ZombieSolver does not output data as tree like the main solver ?? I must missed some important message somewhere,and can you give me a hint?Thanks.

You can use the unflatten component after the Zombie solver…

1 Like

it looks like this:

Wow,thanks for the hint,you save my time!

1 Like

The surfaces in the List B in the bottom right corner aren’t planar, correct?

I am sorry I uploaded one wrong version, the right version should look like as this:

Nice screenshot. Can you share the file? I want to see the values you set for the goals.

1 Like

Of course.Def is attached below.
question 1 V2.gh (29.5 KB)

I don’t see any planar mesh or surface output.

nothing_is_planar.gh (31.1 KB)

1 Like

I opened your gh file and I got this message:


Maybe it is due to that you are using a new version of Grasshopper. After all, my def works well in my place.

The file I uploaded above was opened in Rhino 9 WIP.

Anyway, I downloaded your file again and opened it in Rhino 8.

I’m wondering how any of these surfaces and meshes are planar on your end?

1 Like

Hi martin,
I can understand why you insist to ask the result now.
Most times I get this result:


But just now I got the same result as yours.
It is very strange and I was surprised. I do not know why this happen.

1 Like

With the same def, I got one third result with different Rhino template:


Maybe Different unit and tolerance of the rhino main file would affect the result??

There are two things I don’t understand.

  1. You’re using two solvers. Unless you want to compare the two solutions, get rid of one solver.
  2. Why do you bake the dispatched input surfaces? What’s the point of doing that? These surfaces are not planar and only the input. I would assume the goal is to bake planar surfaces which are optimized by the solver.

I modified my definition from further above. There are two ways you can get planar surfaces.

a) allow the corners to move along the ‘horizontal’ curves. The resulting surfaces are planar but distorted. Three surfaces per level can be joined into a polysurface.

b) as you can see in my screenshot, I shortened the bottom segments of the ruled surfaces. This detaches the three surfaces per level from each other. The bottom curves are extended after the solver and the resulting surfaces are planar and look like the input. However, adjacent corners are not coincident.

planar_disjoint.gh (29.0 KB)

1 Like