[TransactionAttribute(TransactionMode.Manual)]
[RegenerationAttribute(RegenerationOption.Manual)]
public class Command : IExternalCommand
{
UIApplication uiapp;
public Result Execute(ExternalCommandData commandData,
ref string messege,
ElementSet elements)
{
uiapp = commandData.Application;
UIDocument uidoc = commandData.Application.ActiveUIDocument;
try
{
Element e = GetElement(uidoc, BuiltInCategory.OST_Floors);
return Result.Succeeded;
}
catch (Autodesk.Revit.Exceptions.OperationCanceledException)
{
return Result.Cancelled;
}
catch (Exception ex)
{
messege = ex.Message;
return Result.Failed;
}
}
static Element GetElement(UIDocument uidoc, BuiltInCategory category)
{
Selection sel = uidoc.Application.ActiveUIDocument.Selection;
PickFilter filter = new PickFilter(category);
Reference pickRef = sel.PickObject(ObjectType.Element, filter, "Select Element");
Element e = uidoc.Document.GetElement(pickRef.ElementId);
return e;
}
}