1.首先将需要计算房间的包围盒
BoundingBoxXYZ bBox = room.get_BoundingBox(uiDoc.ActiveView);
2.再获取房间的几何信息
GeometryElement geometryElement = room.get_Geometry(new Autodesk.Revit.DB.Options());
3.计算房间的几何中心点
XYZ projectedCenter = null;//设置projectedCenter为房间的几何中心点
foreach (var item in geometryElement)
{
Solid solid = item as Solid;
if (solid != null && solid.Faces.Size > 0)//实体必须做这样的判断,因为有可能是假的。
{
XYZ xYZ = solid.ComputeCentroid();
projectedCenter = new XYZ(xYZ.X, xYZ.Y, bBox.Min.Z);
}
}