我修改了许多 Revit 梁和柱族,以添加一个参数,用于关联一系列模型元素以进行调度。现在我的老板要求我更改该参数的名称(根据他最初建议的名称)。
请注意,此参数是实例参数,不是共享参数。
现在我想以编程方式做两件事——首先,我想在该参数使用新名称时将其重命名。其次,如果尚未在这些系列中定义该参数(新名称),我想将该参数(新名称)添加到其他梁/柱系列。
我在网上探索了几种方法,例如:
BindingMap All_Binding = doc.ParameterBindings;
DefinitionBindingMapIterator Iterator = All_Binding.ForwardIterator();
Iterator.Reset(); List<string> BindingList = new List<string>();
while (Iterator.MoveNext())
{
Definition def = Iterator.Key;
ElementBinding Binders = (ElementBinding)Iterator.Current;
BindingList.Add(def.Name);
}
BindingList.Sort();
这将返回项目中可用的共享参数列表。
我也探索了 FamilyManager,但没有很好的记录。我试过了:
doc.FamilyManager.RenameParameter(FamilyParameter ***** , "Label Group") 但 FamilyManager 选项没有很好的记录(我什至不确定列出的“FamilyParameter”是否与“.rfa”中定义的参数匹配文件,或完全是另一件事)。我尝试将与 ElementName.Parameters 关联的参数作为 FamilyParameter *******,但 Visual Studio 说类型错误,当我尝试添加“作为家庭参数”时,它说“无法将参数隐式转换为 FamilyParameter”。
谁能给我一些关于如何为我的项目中已经存在的家庭添加或重命名参数的指针?