문제

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;

이것을 위해 작동해야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top