第一步:通过RevitLookup了解该属性参数是否为只读参数
解析:若修改参数宽度为900,编写代码前,先按以上4个步骤提前进行查看修改参数的信息 ,其中第三个IsReadOnly为False,代表这个不是只读参数,宽度信息可以修改,StorageType为参数存储类型,该参数为数字双精度类型,故在参数设置时填入的参数类型为Double类型(其余情况类似例如int代表整数型;String代表文字类型);
第二步:进行代码编写
[Transaction(TransactionMode.Manual)]
public class Class1 : IExternalCommand
{
public Result Execute(ExternalCommandData commandData, ref string message, ElementSet elements)
{
UIDocument uiDoc = commandData.Application.ActiveUIDocument;
Document doc = uiDoc.Document;
//通过款选形式,选择需要修改的柜子构件()
ObjectType objectType = ObjectType.Element;
Reference rf = uiDoc.Selection.PickObject(objectType);
FamilyInstance cabinet = doc.GetElement(rf) as FamilyInstance;
//新建事务
using(Transaction trans=new Transaction(doc,"柜子宽度修改"))
{
trans.Start("进行柜子宽度修改");
cabinet.LookupParameter("宽度").Set(900 / 304.8);
trans.Commit();
}
return Result.Succeeded;
}
}