I wanted to take a moment to share a few weird things and some cool things with rooms in the Revit API for anyone who has not run into them before.
Cool Thing #1
When retrieving room boundaries, the first sublist is the outermost boundary.
Cool Thing #2
The different wall location lines are available in the API at all times.
And now for the less cool things:
Bummer #1
When a wall intersects your target room, it splits your room boundary at that point.
Here is the room. I would think it gives me 4 lines.
but… it does not.
Bummer #2
Room bounding elements that are close to the wall do intersting things.
Consider this image:
If I were making finish floors for this room, I would want the outer boundary with an opening for that column. Or.. in Revit 2022, a multi-sketch floor.
But. Revit is like, “yeah… nah”.
Bummer #3
All rooms are collectable with the API. Even if they are unbounded or unplaced. To work around this you have to filter. For a recap on FilterByBoolMask check out this video.
Bummer #4 Courtesy of Paul Wintour
Self Intersecting boundaries are also possible!
image courtesy of Parametric Monkey
For more information on this one, check out Paul’s Post here: Room Check
To be fair, most of these quirks have workarounds, which is fine. But I wanted to take a moment to share this with people because:
if you don’t know what the issue is, you can’t figure out how to fix it.
in a similar post, I discussed overcoming some of these limitations by thinking differently, 👉 Revit Can’t Do That!