タイトル: 要素のカテゴリとマテリアルの取得と表示
SEOタイトル: 【Revit API】要素のカテゴリとマテリアルの取得と表示
今回は選択した要素の情報をダイアログに表示するプログラムを作成する。
プログラムは以下の通り。
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)
{
UIDocument uidoc = commandData.Application.ActiveUIDocument;
Document doc = uidoc.Document;
Element selectedElement = null;
foreach (ElementId id in uidoc.Selection.GetElementIds())
{
selectedElement = doc.GetElement(id);
break; // just get one selected element
}
// Get the category instance from the Category property
Category category = selectedElement.Category;
BuiltInCategory builtInCategory = (BuiltInCategory)category.Id.IntegerValue;
String info = "builtInCategory.ToString(): " + builtInCategory.ToString() + "\r\n";
info += "category.Id: " + category.Id + "\r\n";
info += "category.Name: " + category.Name + "\r\n";
info += "category.Material.Id: " + category.Material.Id + "\r\n";
info += "category.Material.Name: " + category.Material.Name + "\r\n";
TaskDialog.Show("Revit", info);
return Autodesk.Revit.UI.Result.Succeeded;
}
}
}
|
以下のように、Revit上で定義されている壁を選択する。
あとは外部ツールからツールを選択すれば、以下のダイアログが表示される。