#region Namespaces using System; using System.Collections.Generic; using System.Diagnostics; using Autodesk.Revit.ApplicationServices; using Autodesk.Revit.Attributes; using Autodesk.Revit.DB; using Autodesk.Revit.UI; using Autodesk.Revit.UI.Selection; #endregion namespace RevitAddin1 { [TransactionAttribute(TransactionMode.ReadOnly)] public class Command : IExternalCommand { public Result Execute(ExternalCommandData commandData,ref string message,ElementSet elements) { UIApplication uiapp = commandData.Application; UIDocument uidoc = uiapp.ActiveUIDocument; Application app = uiapp.Application; Document doc = uidoc.Document; Selection sel = uidoc.Selection; foreach (ElementId eleid in sel.GetElementIds()) { Element ele = doc.GetElement(eleid); System.Text.StringBuilder paramValue = new System.Text.StringBuilder(); foreach (Parameter param in ele.Parameters) { paramValue.AppendFormat("{0}: ", param.Definition.Name); switch (param.StorageType) { case StorageType.Integer: paramValue.AppendFormat("{0:N}", param.AsInteger()); break; case StorageType.Double: paramValue.AppendFormat("{0:0.00}", param.AsDouble()); break; case StorageType.String: paramValue.Append(param.AsString()); break; } paramValue.AppendLine(); } TaskDialog.Show(ele.Name, paramValue.ToString()); } return Result.Succeeded; } } }