※当ブログでは商品・サービスのリンク先にプロモーションを含みます。ご了承ください。

RevitAPI

【RevitAPI】モデル要素のParameter(パラメータ)を取得する

RevitAPI-Get-Parameter

RevitAPIモデル要素のパラメータを取得する手法を紹介します。

ElementクラスのLookupParameterメソッド、get_Parameterメソッドが有効っす!
お知らせ

Revitアドイン開発をLancersにて承っております。

お気軽にご相談ください♪

詳しくはこちらの記事をどうぞ

LookupParameter

サンプル

Sample1

    public void Sample1()
    {
      UIApplication uiapp = this.ActiveUIDocument.Application;
      UIDocument uidoc = uiapp.ActiveUIDocument;
      Autodesk.Revit.ApplicationServices.Application app =
        uiapp.Application as Autodesk.Revit.ApplicationServices.Application;
      Autodesk.Revit.DB.Document doc = uidoc.Document;
      
      
      Reference reference = uidoc.Selection.PickObject(ObjectType.Element);
      Element element = doc.GetElement(reference);
      
      try
      {
        Parameter lookupParameter = element.LookupParameter(“コメント”);
        string result = lookupParameter.AsString();
        
        TaskDialog.Show(“Message”, result);
      }
      catch
      {
        TaskDialog.Show(“Message”“パラメータがありません”);
      }
    }

解説

            パラメータを取得しています。

左辺でParameterクラスの変数lookupParameterを定義して
右辺で実行したElementクラスのメソッドLookupParameterの戻り値を代入しています。

取得対象のパラメータはLookupParameterの引数に日本語パラメータ名で直接指定します。

コメントパラメータに何か値を入れて試してみてください!

【注意!】

パラメータ名は重複が許容されます。同じ名前のパラメータが存在するときには、同名の別パラメータ値が拾われる可能性があります。

get_Parameter

サンプル

Sample2

    public void Sample2()
    {
      UIApplication uiapp = this.ActiveUIDocument.Application;
      UIDocument uidoc = uiapp.ActiveUIDocument;
      Autodesk.Revit.ApplicationServices.Application app =
        uiapp.Application as Autodesk.Revit.ApplicationServices.Application;
      Autodesk.Revit.DB.Document doc = uidoc.Document;
      
      
      Reference reference = uidoc.Selection.PickObject(ObjectType.Element);
      Element element = doc.GetElement(reference);
      
      try
      {
        Parameter get_Parameter = element.get_Parameter(BuiltInParameter.ALL_MODEL_INSTANCE_COMMENTS);
        string result = get_Parameter.AsString();
        
        TaskDialog.Show(“Message”, result);
      }
      catch
      {
        TaskDialog.Show(“Message”“パラメータがありません”);
      }
    }

解説

            パラメータを取得しています。

左辺でParameterクラスの変数get_Parameterを定義して
右辺で実行したElementクラスのメソッドget_Parameterの戻り値を代入しています。

取得対象のパラメータはget_Parameterの引数にBuiltInParameterの列挙子を指定します。

こちらのサンプルではコメントパラメータをBuiltInParameterで取得するように指定しています。

BuiltInParameterの列挙子は唯一無二の値なので、重複することはありませんよ。

まとめ

以上、モデル要素のパラメータ取得のサンプルでした。

言わずもがなget_Parameterメソッドの方がお勧めですよ笑

両方ともElementクラスのメソッドです。なのでモデル要素のパラメータだけでなくElementクラスからの派生要素にも有効ですよ~。

最後まで読んでいただき、ありがとうございました!

 

C#初心者の僕が独学でお世話になった本
プログラミング初心者の僕がコーディング学習でお世話になった本

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください