2017-10-23 11 views
0

저는 Architecture Design Firm (Archcorp.biz)에서 일하는 소프트웨어 개발자입니다. 여기에서는 Revit API를 사용하여 Revit 2017 용 사용자 정의 플러그인을 개발 중입니다. 이 유형을 Revit 2017 편집기로 가져 오기 전에 패밀리 유형 및 인스턴스 특성을 읽을 수 있는지 알고 싶습니다. 그렇다면 초기 가이드를 읽어 주시면 감사하겠습니다. 고맙습니다.Revit Family Properties를 Revit 2017.exe로 가져 오기 전에 Revit API를 사용하여 읽을 수있는 방법

답변

0

몇 시간이 걸려 고생하면서 결국 해결책을 찾았습니다. 내가해야 할 일은 application.OpenDocumentFile(FamilyPath); 메쏘드를 사용하여 패밀리 리비전 파일을 읽는 것뿐입니다. 다음 코드는 누구나 Revit 패밀리 유형 정보를 추출하는 데 도움이됩니다.

private void ExtractFamilyInfo(Application app) 
    { 
     //A placeholder to store types information 
     string types = "Family Types: "; 


     //Open Revit Family File in a separate document 
     var famDoc = app.OpenDocumentFile(FamilyPath); 

     //Get the familyManager instance from the open document 
     var familyManager = famDoc.FamilyManager; 

     //Get the reference of revit family types 
     FamilyTypeSet familyTypes = familyManager.Types; 
     //Set iteration to forward 
     FamilyTypeSetIterator familyTypesItor = familyTypes.ForwardIterator(); 
     familyTypesItor.Reset(); 

     //Loop through all family types 
     while (familyTypesItor.MoveNext()) 
     { 
      FamilyType familyType = familyTypesItor.Current as FamilyType; 
      //read all family type names 
      types += "\n" + familyType.Name; 
     } 

     //Display text on the UI 
     DefaultControl.Instance.PropertyText.Text = types.ToString(); 

    } 
1

BasicFileInfohttp://www.revitapidocs.com/2018/f7a75811-b2ec-8b4c-10d3-6ed0eadf4551.htm이라는 클래스를 사용하면 파일을 열지 않고도 파일 (rvt)에 대한 몇 가지 기본 정보를 얻을 수 있습니다. 그것은 Revit 프로젝트를위한 것입니다. Revit에서 실제로 패밀리를 열지 않고도 묻고있는 것은 불가능합니다.

+0

안녕하세요, Konrad, 답장을 보내 주셔서 감사합니다. 그러나 제안 된 링크는 Revit 패밀리 유형 및 매개 변수와 관련된 어떠한 것도 설명하지 않습니다. –

+0

Revit.exe 응용 프로그램을 열기 전에 Revit 패밀리/파일 읽기에 대한 질문이있었습니다. 대답은 '아니오'입니다. 앱을 열면 아래에 표시된 것처럼 FamilyManager에서 가족 정보에 액세스 할 수 있습니다. 그러나 그 질문은 무엇이 아닙니다. – konrad

+0

설명해 주셔서 감사합니다. 어쩌면 내가 다른 방법으로 물어 봤어야 했어. 어쨌든 내가 준 대답이 나를 도왔다. 그것도 확인해주세요 :) –