Границы помещения
Получить границы помещения и элементы их формирующие можно двумя способами:
Собственным методом помещения .GetBoundarySegments()
С помощью специального класса для работы со spatial элементами SpatialElementGeometryCalculator.
GetBoundarySegments
Метод .GetBoundarySegments() возвращает список списков BoundarySegment, где первый список - это внешний контур помещения, а все последующие - внутренние.

Room.GetBoundarySegments(options) → IList<IList<BoundarySegment>>
BoundarySegment .GetCurve() →
Curve - кривая ограничивающего сегмента .ElementId →
ElementId - элемент образующий ограничивающий сегмент
SpatialElementGeometryCalculator
Этот класс работает со всеми поверхностями помещения.
SpatialElementGeometryCalculator .CalculateSpatialElementGeometry(SpatialElement) → SpatialElementGeometryResults .GetGeometry() → Solid .GetBoundaryFaceInfo(Face) → SpatialElementBoundarySubface .SpatialBoundaryElement →
LinkElementId - ограничивающий элемент .GetBoundingElementFace() →
Face - поверхность ограничивающего элемента .GetSpatialElementFace() → Face - поверхность самого сабфейса
Основная часть манипуляций производится с результатом работы его метода .CalculateSpatialElementGeometry() - объектом класса SpatialElementGeometryResults.
Он предоставляет доступ к границам помещения (объектам класса SpatialElementBoundarySubface), которые в свою очередь имеют такие свойства как: ссылка на ограничивающий элемент, поверхность ограничивающего элемента формирующая помещение и пр.

Основной момент на который нужно обратить внимание:
После получения солида помещения методом SpatialElementGeometryResults.GetGeometry(), поверхности этого солида передаются другому методу .GetBoundaryFaceInfo(Face) в качестве аргумента.
Cсылки
https://thebuildingcoder.typepad.com/blog/2016/04/determining-wall-opening-areas-per-room.html
https://www.revitapidocs.com/2019/c0132067-6444-1dd6-a25c-690fb5dd7d9e.htm