弄清楚房间的地板和天花板

本文关键字:天花板 房间 弄清楚 | 更新日期: 2023-09-27 18:25:04

如何使用Revit API获取房间的当前楼层和当前天花板?我使用的是2012版。

我试过了:

 segments = el.GetBoundarySegments(new SpatialElementBoundaryOptions());

和:

var cs = el.ClosedShell;

甚至这个:

SpatialElementGeometryCalculator calculator = 
  new SpatialElementGeometryCalculator(doc);
SpatialElementGeometryResults results = 
  calculator.CalculateSpatialElementGeometry(el);
Solid roomSolid = results.GetGeometry(); 
foreach (Face face in roomSolid.Faces)  
{
    // Subface Code
}

弄清楚房间的地板和天花板

我认为没有简单的方法可以做到这一点。您需要在面上循环,就像在第三个示例中一样,并将法线方向与Z向量(使用XYZ.IsAlmostEqualTo)进行比较。