この内容は古いバージョンです。最新バージョンを表示するには、戻るボタンを押してください。
バージョン:1
ページ更新者:T
更新日時:2020-04-26 15:58:18

タイトル: 要素の取得方法
SEOタイトル: 【Revit】要素の取得方法

今回は選択した複数の要素のIDをダイアログに表示するプログラムを作成する。

要素を選択していない場合は選択していない警告文を表示させる。

 

プログラムは以下の通り。

using System;
using Autodesk.Revit;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI.Selection;
using Autodesk.Revit.UI;
using Autodesk.Revit.Attributes;
using System.Collections.Generic;

namespace TestTool
{
    [Autodesk.Revit.Attributes.Transaction(Autodesk.Revit.Attributes.TransactionMode.Manual)]
    public class TestTool : IExternalCommand
    {
        public Autodesk.Revit.UI.Result Execute(ExternalCommandData commandData,
            ref string message, ElementSet elements)
        {
            try
            {
               
UIDocument uidoc = commandData.Application.ActiveUIDocument;

                Selection selection = uidoc.Selection;
               
ICollection<ElementId> selectedIds = uidoc.Selection.GetElementIds();

                if (0 == selectedIds.Count)
                {
                    TaskDialog.Show("Revit", "You haven't selected any elements.");
                }
                else
                {
                    String info = "Ids of selected elements in the document are: ";

                    foreach (ElementId id in selectedIds)
                    {
                        info += id.IntegerValue + " ";
                    }

                    TaskDialog.Show("Revit", info);
                }
            }
            catch (Exception e)
            {
                message = e.Message;
                return Autodesk.Revit.UI.Result.Failed;
            }

            return Autodesk.Revit.UI.Result.Succeeded;
        }
    }
}

 

以下のように、Revit上で定義されている2つの壁を選択する。

あとは外部ツールからツールを選択すれば、以下のダイアログが表示される。