Just to add to @martynjhogg.
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):

meshMachineExample.gh (35.6 KB)
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.
John.