Random paving based on predefined sizes


I am new here, and I am trying to figure out how to isotrim a surface based on predifined sizes of pavers?

I have 3 sizes of pavers
0.4m x 0.6m
0.6m x 0.6m
0.9m x 0.6m

so all the u values can be 0.6m and then I want to randomly divide the v values between 0.4m, 0.6m and 0.9m.

Is there a way to do so in grasshopper?
I attached an image of what it could look like in rhino

I had a quick look - here is one way to think about it. Since you’re looking for exact measurements, it’s easier to use SurfaceSplit - you could map these lines to the surface domain, but it seems like a redundant step and you have all the information needed to make the pattern by this point already. You can play with the randomness by adjusting the seed value of the random components - the first Random generates seed values for the second Random which then picks the allowed distances from the list - to make it easier I just generated more numbers than needed rather than making the distances fit within the total - this does mean that some of the pieces are non standard sizes (blue tiles)

Anyway, have a play, see if this helps you achieve what you’re after


Thank you Artstep, that really helped