using Autodesk.Revit.Attributes; using Autodesk.Revit.DB; using Autodesk.Revit.UI; namespace ShrlAlgo.Addin.Test { [Transaction(TransactionMode.Manual)] [Regeneration(RegenerationOption.Manual)] public class SetHeight : IExternalCommand { public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements) { //程序UI界面 var uiapp = commandData.Application; //获取元素(选择) 显示元素 视图(活动视图)管理(对象) var uidoc = uiapp.ActiveUIDocument; //程序 var app = uiapp.Application; //获取位置和场地 视图(多个视图)管理 获取元素(Revit 项目里的全部元素) var doc = uidoc.Document; //获取所有打开文档 var docset = uiapp.Application.Documents; //当前视图 var view = doc.ActiveView; var ids = uidoc.Selection.GetElementIds(); using (var ts = new Transaction(doc, "设置净高")) { ts.Start(); try { foreach (var id in ids) { var elem = doc.GetElement(id); var param = elem.GetParameters("h").FirstOrDefault(); var height = elem.GetParameters("净高").FirstOrDefault(); height.Set(param.AsValueString()); } } catch (Exception) { return Result.Failed; } ts.Commit(); } return Result.Succeeded; } } }