Script to incorporate as many defined rooms into a given surface

Hi to all,

I’m currently trying to create the said script in the title.

Let’s say I have a semi complexe surface of 1000m2 (see 3 examples in image attached), and want to have as many 100m2 rooms inside it (the shape shouldn’t stay fixed into a 10x10 or others, it should be able to define the shape required to make the most of the given area). Is there any way in dynamo, python, or others to be able to seperate a semi-complexe surface like the examples in order to get as many rooms as possible.

This script would be used in generative design to create automated design plans. Obviously the shapes will likely be bizarre, and I would eventually need to make sure to leave room for corridors, but I’d like to simplify the problem first, and then upgrade it over time.

I’m clearly asking too much for a script that isn’t AI, but maybe I’m also just looking at it the wrong way.

Let me know if you’ve ever came across a script, node or function in python that comes close to what I’m looking to create.

Thank you in advance,

Also, I know there are a few softwares that already do generative design for what I’m asking, but these options are usually very pricy (with good reason). I’d like to know if there’s a way to create a more simplified version with Dynamo, Python or others.

The miscellany package has some nodes to deal with this. If you search for ‘packing’ and ‘bin/box packing’ on the forums you’ll find some more examples/topics on this also.

1 Like

The Refinery Toolkit may be able to help - you can read about it here Refinery Toolkit - Generative Design Primer and it’s available on the package manager.

1 Like

I’ll be looking at both, thank you!

1 Like