Splitting up surface into even sizes

I am trying to take a curved surface and split it up into (approximately) equal sized patches using isotrim. By equal sized I mean the edges are visually the same length.

If I use divide domain squared to get the segments this doesn’t give me what I want (on a more complex surface than I show here).

My method to do this is to split the edges of the surface into equal sections, create curves from this and find where the curves intersect to get the points at the corners of the patches. I think I have done this.

My problem is turning these points into domains. The result I get from the isotrim is almost right but the patches are smaller than the overall surface. I am new to domains and I can’t figure out why this is.

Can anyone help?

equal-patches.gh (32.8 KB)

you should internalize the surface in grasshopper, otherwise others couldn’t view it.