Autodesk Revit MEP 2010 .NET API C# 도어 관계
문제
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
.
나는 읽었다 건축 코더 블로그 저것
내장 매개 변수는 공식적으로 지원되는 API 부분이 아닙니다. 앞으로 우리는 데이터가 속성으로 올바르게 노출되는 데이터로 대체 될 것으로 예상합니다.
그 진술이 사실입니까? 누구든지 문과 방 사이의 관계를 얻는 효율적인 방법을 알려줄 수 있습니까?
해결책
문은 가족 사례입니다
Autodesk.Revit.Elements.FamilyInstance elementDoor = elementsetiteratorBIMDoors.Current as Autodesk.Revit.Elements.FamilyInstance;
Room fromRoom = elementDoor.FromRoom;
Room toRoom = elementDoor.ToRoom;
이것을 위해 작동해야합니다.
제휴하지 않습니다 StackOverflow