1) Смотри, стена - это HostObject, у него есть метод FindInserts - позволяет находить окна, двери, проемы и т.д.
2) Дальше нужно определить, окошко это заданного помещения или нет. Тут больше подойдет SpatialElementGeometryCalculator, а не просто получение сегментов.
Создаешь его, вызываешь метод CalculateSpatialElementGeometry, возвращается SpatialElementGeometryResults, дальше получаешь solid помещения методом SpatialElementGeometryResults.GetGeometry, перебираешь его face-ы, для каждого вызываешь SpatialElementGeometryResults.GetBoundaryFaceInfo - получаешь SpatialElementBoundarySubface-ы, смотришь SpatialBoundaryElement, если это стенка, то находишь в ней окошки, из SpatialElementBoundarySubface вызываешь GetSpatialElementFace (The face of the spatial element's 3D geometry - поверхность solid-а помещения) и анализируешь, находится ли окошко в границах этого face-а. Тут уже зависит от твоей конкретной задачи и фантазий архитекторов, возможно хватит проверки того, что locationpoint инстанса семейства окошка проецируется на этот face. Возможно, нет, если у тебя какие-то нереально большие окна - одно окно на несколько помещений.