Revit二次开发——修改墙的属性
修改后的信息显示:
代码:
namespace creatWallDemo
{
[Transaction(TransactionMode.Manual)]
public class OpenCreateWall : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
//1.获取当前文档
Document doc = commandData.Application.ActiveUIDocument.Document;
//2.获取当前墙
Wall wall = new FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_Walls).OfClass(typeof(Wall))
.FirstOrDefault(x => x.Name == "CW 102-50-100p") as Wall;
//3.获取墙的属性
//3-1墙的高度
//double wallheight = 0;
//wallheight = wall.LookupParameter("无连接高度").AsDouble() * 0.3048;
//TaskDialog.Show("显示信息", $"墙的高度为{wallheight}");
//4.修改墙的属性
Transaction transaction = new Transaction(doc,"修改墙的高度");
transaction.Start();
wall.LookupParameter("无连接高度").Set(30 / 0.3048);
transaction.Commit();
double wallHeightChanged = wall.LookupParameter("无连接高度").AsDouble()*0.3048;
TaskDialog.Show("显示信息", $"修改后的墙的高度为{wallHeightChanged}");
return Result.Succeeded;
}
}
}