如何在revit api中将实例/类型参数添加到Family Instance#

时间:2018-06-11 11:57:24

标签: c# revit-api

我正在开发一个项目,我需要在身份数据下添加自定义参数到墙壁和管道配件等元素

我能够将参数和值添加到墙上,但是对于管道拟合,我能够添加参数,但是在添加值时出现错误。

我的代码如下

ExternalDefinitionCreationOptions edco = null;
edco = new ExternalDefinitionCreationOptions(param, ParameterType.Text);
edco.Visible = true;
var definition = uiApp.Application.OpenSharedParameterFile().Groups.Create("Custom Parameters").Definitions.Create(edco);
uiApp.Application.SharedParametersFilename = originalFile;
var newCategorySet = uiApp.Application.Create.NewCategorySet();
newCategorySet.Insert(doc.Settings.Categories.get_Item(builtInCategory));
binding = uiApp.Application.Create.NewTypeBinding(newCategorySet);
doc.ParameterBindings.Insert(definition, binding, builtinGroup);
if (!double.IsNaN((double)value))
    ele.LookupParameter(param).Set((double)value);//here I get an error 
    //since ele.LookupParameter(param) returned null for pipe fitting

是因为管道配件是FamilyInstance

是否有其他方法可以向Family Instance添加自定义属性

请指导我

谢谢

1 个答案:

答案 0 :(得分:0)

也许你需要提交事务,所以共享参数确实被添加并绑定到类别,然后开始填充它并添加值,参见need to regenerate