在 C# 中使用 VS 2008 和 Autodesk Revit MEP 2010 我试图找出门是否连接到房间:
ElementSetIterator elementsetiteratorBIMDoors =
bimdoors.getBIMDoors().ForwardIterator();
while (elementsetiteratorBIMDoors.MoveNext())
{
Autodesk.Revit.Element elementDoor =
elementsetiteratorBIMDoors.Current as Autodesk.Revit.Element;
if ((null != elementDoor.get_Parameter(BuiltInParameter.FROM_ROOM_ID)) &&
(null != elementDoor.get_Parameter(BuiltInParameter.TO_ROOM_ID)))
{
string sDoorFromRoomID =
elementDoor.get_Parameter(BuiltInParameter.FROM_ROOM_ID).ToString();
string sDoorToRoomID =
elementDoor.get_Parameter(BuiltInParameter.TO_ROOM_ID).ToString();
graph.addLink(new Link(sDoorFromRoomID, sDoorToRoomID));
}
}
这种方法不起作用,因为 的返回值elementDoor.get_Parameter(BuiltInParameter.FROM_ROOM_ID)
总是null
。
我在Building Coder 博客上读到
内置参数不是 API 的官方支持部分。将来,我们预计它将被正确公开为属性的数据所取代。
这种说法是真的吗?谁能指出一种有效的方法来获得门和房间之间的关系?