Here is my schematic idea for doing this, though, via dynamo.
- Get all the wall interior and exterior location lines.
- Find the intersection point between these location lines.
- Use the intersection points to create polycurves/polygons.
- Get the perimeter curves of all the rooms/spaces in view.
- Use the does.intersect node to determine if the polycurves/polygons in 3 intersect with the polygons/solids made from the room curves.
The polygons not intersecting with the room curves would be the empty spaces. You could then place rooms/spaces at the centre points of the non-intersecting polygons.
Interesting thread here that might help. I’ve become interested in this. Haha.