2017-10-23 7 views
0

私はArchitecture Design Firm(Archcorp.biz)で働くソフトウェア開発者です。ここでは、Revit APIを使用してRevit 2017のカスタムプラグインを開発しています。私は、これをRevit 2017エディタにインポートする前にファミリタイプとインスタンスのプロパティを読み取ることが可能であることを知りたいですか?はいの場合は、初期のガイドに感謝します。ありがとうございました。RevitをRevit 2017.exeにインポートする前にRevit APIを使用してRevit Family Propertiesを読む方法

答えて

0

何時間も苦労して、私はついに解決策を思いつきました。私がしなければならないのは、application.OpenDocumentFile(FamilyPath);メソッドを使ってRevitファミリファイルを読むことでした。次のコードは、誰でも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

こんにちは、コンラッド、ご返信ありがとうございます。しかし、提案されたリンクは、復権家族の種類とパラメータに関する何も説明していません。 –

+0

Revit.exeアプリケーションを開く前にRevitファミリ/ファイルを読むことに関する質問がありました。答えはいいえ、それは不可能です。アプリを開いたら、次に示すように、FamilyManagerから家族情報にアクセスできます。しかし、それは問題ではありませんでした。 – konrad

+0

ありがとうございました。多分私は別の方法でそれを求めていたはずです。とにかく私が与えた答えが私を助けてくれました。それもチェックしてください:) –

関連する問題