Dividing space into smaller areas

so I have several polygons in the rhino, in differnet sizes, and I want to see how much smaller polygons in size of 35 m^2 can get in the bigger polygons.

for example, in this polygon I’v simply placed grid on it and got several polygons in size of 35^2 but of course there are potential polygons that I can find in here and I need help to find it faster and smarter.
thank you.

Hi @yarivito,

I can think of at least five constraints that could apply to this problem, each of which will limit the possible solutions (as currently stated you can fit an infinite number of 35m² polygons into the bigger polygon). I started to write them out, but it occurred to me that I might be doing your homework for you. So what constraints can you add to the problem to express it unambiguously?


Hi Jeremy, you’re right, I do need constraints.
The idea is to create apartments at the end of the process,
1.therefore, one of the constraints should be 4 corners for each polygon, triangles probably won’t fit for that.
2. another constraint would be the minimal width of the polygon, I believe its should be least 1.5m(since there are several polygons in different sizes - some are very narrow).
After that, I would like to create a sort of corridor that will affect the arrangement of the polygons( like some kind of anchor curve).
Basically I plan after that to create a grid in the cross section of the larger polygon and create volumes from the 35^2m polygons, but I believe that I’ll be able to do it myself in the next level.
Sorry about the long paragraph…

I’d recommend taking a look at this thread: https://discourse.mcneel.com/t/fitting-rectangles-into-larger-area, and in particular the solution by @laurent_delrieu.

Then consider that from a construction perspective it will be less costly if you restrict the range of dimensions of the apartments. Also that things that go into apartments have typical sizes, so building on a modular size around them will be efficient. Make a range of rectangles representing your apartment shapes and use them in the grasshopper solution, with a surface that represents your building space.

Finally, I’d recommend setting the corridor before calculating the apartments. For efficiency you don’t want it winding around, so set it straight as possible and work the apartments off it.


I’ve checked it, and the problem is that it require me to construct basic rectangles, and its not my point. I want to see what kind of rectangles can be in the polygons itself. its not suppose to be ordinary apartments with strict 4 corners in 90 degrees to each corner.

like the sample in left side of the image - its just demonstration of course but the idea is each of the polygons can be least 35m^2.
when I’m thinking about it, its like voronoi.

in optimization algorithms, you should add a basic feed (in this case basic rectangles) and then run the algorithm, if you need to change the angles of each corner you can simply write an algorithm for that too and add the relevant number slider to the optimization process, for example using Galapagos component, so it can test the range you want and manipulate with basic rectangles in a way you want!