Planarize roof surface panels

Hello

I would like to divide a roof surface into row of panels, which are:

  • Quads. But if necessary, few triangle/pentagon panels can be accepted
  • Planar panels
  • The less rows of panels - the better.
  • Top edge of the roof surface should be fixed - it should have anchor points.

Can someone help me with this task?

I think my problem is initial mesh topology mesh, which needs to be created according to roof principal curvature, is wrong. And I do not know how to create the right one.

I appreciate your help in this difficult matter.

Planar Surface panels.3dm (522.8 KB)

Planar Surface panels.gh (15.2 KB)

Please give it a try with PanelingTools, and fyi.

https://www.food4rhino.com/en/app/panelingtools-rhino-and-grasshopper


GenerateFlatFaces.gh (67.1 KB)

1 Like

Hi @jessesn

I am grateful for your help!

One thing PanellingTools does is that panels are not joined with other ones.
I forgot to mention: I need this too. PanellingTools threats each panel as an individual object without connection to neighboring panels:

Probably that is why I have to use Kangaroo instead of PanellingTools.
But I am lost in defining the initial mesh topology.

I noticed that you require all panels to be flat, while the base surface you provide is a curved surface with curvature. For this specific case, PanelingTools is an excellent solution.

BTW, You can modify the input paramter M in the Generate Flat Faces to choose which point to leave ‘suspend’(the panel will pass entirely through three of the points, effectively ‘abandoning’ the fourth point)

1 Like

Hi @jessesn

I am really grateful for your help!
It is good to know about this M option!

I still need the panels to be joined.
Kangaroo would try to do that by slightly deviating from the initial curved surface.

Hello @DanielPiker
If I could get any help from you about the initial topology mesh it would be a gigantic assistance for me. I am at the moment stopped with this planar panels difficult task.
Thank you truly.

Hello @DanielPiker

I am using your principal curvatures definition to create the initial topology mesh:

I set this topology mesh to your isothermic quads Kangaroo definition.

For some reason the final Kangaroo Solver mesh remains in a single plane. It does not follow the shape of the curved input surface:

Would you be able to tell me what am I doing wrong in the attached isothermic quads definition?

I would be very grateful for your help in this difficult task. I can’t thank you enough for this.
Planar Surface panels 2.3dm (1.8 MB)
isothermic_quads.gh (29.6 KB)

If it is a mesh, you can try GitHub - xarthurx/IG-Mesh: An one-stop solution for mesh processing in Grasshopper (for Rhino).

There’s a build-in quad planarization component.

1 Like

Appreciate your help @xliotx .

By looking at the upper definition it seems that IG-Mesh has no capability to define the underlying surface. Kangaroo has this input and also ability to define the strength of the pulling towards the surface.

Nevertheless I am sadly still on Rhino 6 SR35. IG-Mesh supports Rhino 7, 8.

Yes. To enable cross-platform support, I dropped the support for Rhino 6.

1 Like

Hello @DanielPiker

I am using isothermic quads Kangaroo definition to try panelizing attached curved surface.

Tried experimenting with numerical input values you provided in this file.

I do not understand why the final Kangaroo solver mesh remains in XY plane.

How should I modify your inputs so that the final mesh follows the curved surface?

I would be very grateful if you could assist me with the inputs.
Thank you in advance for your support.

Planar Surface panels 3.3dm (1.8 MB)

isothermic_quads.gh (20.4 KB)

Hello @DanielPiker

In isothermic quads Kangaroo definition I replaced your custom C# component with Kangaroo’s OnMesh component.

Now the final Kangaroo solver mesh is no longer in XY plane and it follows the curved surface.
However now the final solver mesh is still wrapped around the curved surface.
Green mesh below shows the wrapping:

If I could get some assistance from you with this issue I would be immensely grateful.

Planar Surface panels 3.3dm (1.8 MB)

isothermic_quads 4.gh (25.1 KB)

Hello @DanielPiker

I am having difficulties using isothermic quads Kangaroo definition.
Trying to quad panelize attached surface.

Tried changing all of the upper definition Goals: Length, Angle, OnMesh, Smooth.
But the resulting final mesh is either wrapped, or does not follow the surface.

Is it possible to get any kind of help from you?
I would be very grateful.

Planar Surface panels 3.3dm (1.8 MB)