Paneling curved surface with a constant flat "module"

Hi, I have a curved surface (think topographical map of a mountain), I would like to “subdivide” it using the paneling tool with regular triangular flat modules. I am having problems where the triangles end up being all a little different in surface. I would like to find a way so that all the panels are identical, is that possible? Thank you for you help, very appreciated.

Hi Nic_Tet
It will depend on the surface you have. If free-form, it is very hard to come up with equal triangular panels. You have to allow big frame tolerances and there might be a path with PanelingTools to help. Can you share your file and desired result?

Hi rajaa,
thanks for your help, very appreciated. You will find in the file a surface, points obtained using the ptGridSurfaceDomainNumber command and the triangulation obtained with ptPanelGrid command. Unfortunately, the triangles are all of different size using this combination… Other than that, I obtain pretty much the “look” that I’m going for.

I’m very open to modifying the surface as necessary, it is a topographical map but it can be resized, etc.

Thanks again!

Here’s the file: enter link description here

I’ve worked on simplifying the surface hoping it would be easier… I transformed it first to a mesh, then did a lot of reduceMesh and TriangulateMesh before transforming back with MeshtoNurbs.

Here’s the link to the file: Link to file

Hi @Nic_Tet
May I ask why you need to triangulate this surface? Also, how tight is your tolerance (how similar do you need your triangles to be?).
Some general comments:
1- You have sharp cuts around the edges. This will never be easy to panel. It is better to have smoother transition (even if you trim and throw away in the end).
2- you can use ptGridSurfaceDomainDistance for a slightly tighter result, but ptGridSurfaceDistance (with reference point around the middle, might yield the best result)

H @rajaa
thanks again for you help and input, it is very much appreciated!

About your question as to why I need to triangulate the surface, there are a few reasons:

  1. It’s a for architectural competition where I’d like to propose a glass covered “mountain-like” structure. Mountain faces are best described (according to me) as triangular faces.
  2. These large triangular mountain faces will actually be made op of smaller, all-the-same-size-for-budget-restriction glass-modules. These might be square (1x1m), triangular (a=b=1, right angle), or most probably a mix of both. I saw the paneling tools can mix them up. I would say if I could get to a point where the modules have a max 5% edge length deviation that would be ideal. If that’s not possible I’ll happily take the next best thing!
  3. The last reason is to explore and learn new Rhino 3D techniques and see their limits so that I can improve and know how faithfully I can translate an idea to a feasible project! Sorry for the long story!

So what I’m thinking for the competition is to get as close as possible to what reality will look like in terms of esthetics, but also be able to estimate and reduce the building costs by using as much as possible unique module sizes and form factor.

To answer your point no 1, are you referring to the last file I uploaded (polysurface from the mesh)? if so, I will take a look at edges and see what I can do. As for 2. I’ll try both commands and report back on my results. I’ll try to find ways to impact the “tolerance”.

Thanks again!

Hi @Nic_Tet
The second surface is harder to generate a paneling grid out of because it is a polysurface and triangulated with sharp angles. However, if you create these initial triangles with correlated edge lengths and angles, then you have a chance to subdivide to create equal triangles.

Attached is one approach to deal with polysurfaces and is probably better used with the original terrain, but you will get the idea. Creating equal triangles is very involved process, Unless the form is simple, you will need scripting or specialized tools to stand a chance and it is not always even possible. (359.6 KB)

This tool can help…Download

Edit: Bad link for InstantMesher binaries:
Download and source here:

Thanks all for your very kind help. I think I stumbled into a very difficult topic but your help really moved my project forward. I wasn’t able to achieve everything I set out to do but I learned a lot thanks to your help. I was also able to send my proposal and hopefully it will get some attention. Thanks again!