Создал тестовый проект. 5 стен, два помещения. На одной из стен сделал проем, который затрагивает 2 помещения.
Написал такой вот макрос. Как только нашли нашу стенку в выбранном помещении, отображаем сообщение с площадью.
                public void CalcSubArea()
                {
                        var doc = Document;
                        
                        var selectedRooms = Selection
                                                .GetElementIds()
                                                .OfType<ElementId>()
                                                .Select(x=>doc.GetElement(x))
                                                .OfType<Room>()
                                                .ToList();
                                        
                                                
                        List<Room> rooms;
                                        
                        if (selectedRooms.Count ==0)
                        {
                        
                                rooms = new FilteredElementCollector(doc)
                                .WherePasses(new RoomFilter())
                                        .OfType<Room>()
                                .ToList();
                        }
                        else
                        {
                                rooms = selectedRooms;
                        }
                        
                        using (var t = new Transaction(doc, "Create Room Solids"))
                        {
                                t.Start();
                                
                                SpatialElementGeometryCalculator calculator = new SpatialElementGeometryCalculator(doc);
                                
                                foreach (Room room in rooms) 
                                {
                                        SpatialElementGeometryResults results ;
                                        
                                        results = calculator.CalculateSpatialElementGeometry(room);
                                        
                                        
                                        var roomSolid = results.GetGeometry();
                                        
                                        foreach (Face face in roomSolid.Faces) 
                                        {
                                                var subfaces = results.GetBoundaryFaceInfo(face);
                                                
                                                foreach (var subface in subfaces) 
                                                {
                                                        var elementId = subface.SpatialBoundaryElement.HostElementId;
                                                        
                                                        //wall with opening
                                                        if (elementId.IntegerValue == 304732)
                                                        {
                                                                TaskDialog.Show("Area", subface.GetSubface().Area.ToString());
                                                        }
                                                }
                                        }
                                }
                                
                                t.Commit();
                        }
                }
Выбрал левое помещение, выполнил макрос. Затем удалил проем и выполнил его еще раз. Площадь изменилась.
Проект с макросом во вложении.