Expanding boundaries to evenly fill space

Well, I’m spent. I was hoping to figure it out myself, but it’s distracting (and draining) me too much :tired_face:. I hope some of the geniuses out there can fill in the gaps…if anything, I may learn a new trick.

190730 - Expanding Boundaries.gh (82.9 KB)

-The first step was to divide the inner boundary into rectangles.
-The second (missing) step is to combine these small rectangles into ‘parent,’ overlapping rectangles.
-Third step is to make and split lines that run between those parent rectangles.
-The fourth (missing) step is to filter out the unwanted split lines to get the desired paths.

For the second step, I was thinking we could make every rectangle combination possible and deduct the rectangles that are completely within another, but when I tried it, I was still getting intersection results between the child and parent rectangles (maybe we could dispatch based on more-than-1 intersection curves?). I was also wondering if there could be a method using mesh components, something that could test for rectangles that are adjacent to one another.

For the fourth step, I was thinking that of among the parallel segments, we can choose the one that has the highest ratio of their body in their respective rectangular areas (maybe place points along each segment and choose the one with the most points in each parent rectangle?). Also, I was thinking we could at least filter out any segments that are only intersected by another segment once.

For a little something extra, a filter can be added for paths that lead out to the boundary, or remove paths that lie between the plots and boundary.


Is this the sort of solution you were looking for @stu92?

Can’t wait to see if anyone can fill in the missing steps!

1 Like