Expanding Room Boundaries

No need.

  • Room.Boundaries node from Archi-Lab package will collect these for you.
  • Then Group Curves (also Archi-Lab) and build a polycurve from each sublist to account for an donuts in your rooms.
  • Then build a surface of each curve loop, query the surface’s area, and multiply that by -1.
  • Use the negative area value as the key and the polycurves as the list input for a List.GroupByKey node.
  • Next up a List.Deconstruct with proper list levels and lacing to pull the largest areas out from the inner openings.
  • Finally we offset the polycurves. The list of ‘first’ items from the deconstruct node will want to be offset by a positive value, while the inner openings will want a negative value.

Some curves will fail (ie: offering a circular with a radius of 6 by 8) but this will be functional for most uses.

1 Like