タイトル: 要素の取得と情報の表示
SEOタイトル: 【Revit API】要素の取得と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;
Document doc = uidoc.Document;
ICollection<ElementId> selectedIds = uidoc.Selection.GetElementIds();
if (0 == selectedIds.Count)
{
TaskDialog.Show("Revit", "You haven't selected any elements.");
}
else
{
String info = "■Info of selected elements in the document" + "\r\n";
foreach (ElementId id in selectedIds)
{
Element element = doc.GetElement(id);
info += "Id: " + element.Id + "\r\n";
info += "Name : " + element.Name + "\r\n";
info += "Type : " + element.GetType() + "\r\n";
info += "TypeId : " + element.GetTypeId() + "\r\n";
info += "\r\n";
}
TaskDialog.Show("Revit", info);
}
}
catch (Exception e)
{
message = e.Message;
return Autodesk.Revit.UI.Result.Failed;
}
return Autodesk.Revit.UI.Result.Succeeded;
}
}
}
|
以下のように、Revit上で定義されている2つの壁を選択する。
あとは外部ツールからツールを選択すれば、以下のダイアログが表示される。