Expanding Room Boundaries

Hello everyone,

I am currently trying to create a script that will let me select all room boundaries whether it be per certain levels or all levels. I’m sure this requires a python script but as of now I do not know any python. So if anyone can take the time out of their day to give me any suggestions, I’d really appreciate it! Thank you.

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

Hey Jacob, thank you so much for the reply!

This is honestly all I could understand from your instructions, sorry about that.

Hi @YBMCarlos …here is a way…know my example is on a link, but should almost the same…


Thank you! This did get me to make some progress, this is what I currently have:

but i don’t understand why it’s giving me weird boundaries in the model:

Hello @YBMCarlos …think you need offset polycurve instead of offset curve…but could be other thing as well

yes it looks like it might be something else because I am still getting the same problem:

Can you show your dynamo preview and what the nodes give ? do you have overlapping rooms ?

this is what i see, but i do not have any overlapping rooms

sorry for this here…isnt becourse you see your offset surface perimeter curves ?

so what I want the script to is expand the room boundaries by, in this case, 4 inches in every direction. not sure if im doing that with this script

then try it and see if it works;) thats my best guess

it doesn’t it looks like, but i will keep trying. thank you!