Flooring Script For Multiple Size Planks with Different Frequencies

I came across a flooring script from 2017 (Joseph last contributed to it) and have been thinking about how to add to it.

Instead of one plank size, I was thinking about it having 2,3,4… different plank sizes and they could appear at a different ratio throughout the surface. For example - the 4.5m long plank (Plank 1) would appear (0.2 ± 0.05) the 2m long plank (Plank 2) would appear (0.4 ±0.1) and the 3.5m long plank (Plank 3) would appear (0.4 ± 0.1). These planks are ideally done in a random array (although later I would like to try to make rules for this “randomness”).

I figure that I would need to add to the script where it is labeled (although I could be wrong). Some Snippets I was thinking about trying to implement was the Sum of 1 and/or Random Reduce. This seems like a complex problem mathematically that may involve Galapagos and I added the ± in the frequency of appearance because I don’t think it would be possible to get the exact percentage right and I guess that this frequency of appearance would be based upon the total area of each plank.

If anyone has any suggestions on even part of this it would be much appreciated. Even if the random characteristic of the script is not there, I would be very happy to learn from it.

Flooring Script.gh (29.4 KB)

Thank you in advance!