Firstly it can’t be done that they are all equilateral for a freeform surface like this.

To get a fairer distribution, you need to use the Mesh surface component to get mesh based on isocurves. Then triangulate these quads.

Or else I think the Lunchbox plugin can be used to make triangular patterns from the surface closer to your intentions, specifically ‘triangle pattern B’.

Thank you John, it was really helpful.
Is there some way I can apply this to multi surfaces? The surface I am trying to convert to mesh is multi surface, and I really can’t find way to turn them into single surface.

Hi @bmwdixi1927
Can you give a bit more context for this - what is it for, and why do the triangles need to be equilateral?

Covering general doubly curved surfaces with exactly equilateral triangles is only possible by crumpling the mesh so the triangles no longer lie tangent to the surface, and for anything beyond very subtle curvature the mesh will hardly resemble the original surface at all.

The triangles in the file above posted by John look pretty close to equilateral. That might be about as close as possible with a surface like yours. Since your patch has a rectangular boundary, you’ll only be able to get full triangles along 2 sides, while the other 2 will have half triangles, like along the right in your last image. You can swap the u and v if you want to change which 2.

Mesh machine would be a nice way to go, although I think it only takes one surface/mesh if you require a non-disjoint result. However, looking at your surfaces they are connected at edges, so as long as you mesh the surfaces and connect these, you will have a non-disjoint starting point:

You can try M+ with this new mesh, or else here is an example using MeshMachine from Kangaroo1 (you will need the Plankton library):

Daniel is now in on the thread, so might be able to help more than me if this is worth a shot.

As mentioned, this will only approximate a fair mesh close to equilateral triangles, which as Scott and Daniel allude to is not usually possible on freeform surfaces without ‘sticky out bits’ (technical term). Lobel frames are super nice btw.

So here we go again with the same old problem. I try to do equilateral triangles following your directions and have a problem with rotation triangles in the mesh. How can I fix this? Also on a more complex mesh, I get another problem which is that triangles stop to be equilateral. Any help here?

Either way, perfectly equilateral while staying close to the input surface isn’t possible.
If it’s just about keeping a consistent direction for the triangulation, you could build the triangles explicitly from the 4 points of each quad, instead of using the triangulate function.

Otherwise you can use this to triangulate according to a guide direction without assuming anything about the vertex ordering of the quads:

Hi, @DanielPiker Thanks for your reply. It’s a very interesting response and solution. Beautiful thing! This might work but if I can control the size of main triangles and apply that as a repetition. So, the main triangle would be let’s say is in a size lets say 450mm and where is need is the triangle in a different size or construct domain between 200mm-600mm. Is it possible to construct a domain in this script? If not that just have size growth from big to small (small on a top). I need this grid to have around 60%-70% repetition in triangle size.