using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.Revit.DB;
using Autodesk.Revit.UI;
using Autodesk.Revit.UI.Selection;
using Autodesk.Revit.ApplicationServices;
using Autodesk.Revit.Attributes;
namespace selectElement
{
[Transaction(TransactionMode.Manual)]
public class selectElement : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
// get document and ui document
UIDocument uidoc = commandData.Application.ActiveUIDocument;
Document doc = commandData.Application.ActiveUIDocument.Document;
try
{
// select the element
Reference reff = uidoc.Selection.PickObject(ObjectType.Element);
ElementId eleId = reff.ElementId;
//get element from element ID
Element ele = doc.GetElement(eleId);
//show element name, element category, element ID
TaskDialog.Show("Element Information", "Element Name: " + ele.Name + Environment.NewLine
+ "Element Category: " + ele.Category.Name + Environment.NewLine
+ "Element ID: " + eleId);
return Result.Succeeded;
}
catch (Exception e)
{
message = e.Message;
return Result.Failed;
}
}
}
}