Revit二次开发在项目中给链接模型附加过滤器
仅提供中文版本
视图过滤器分为规则过滤器与选择过滤器:
选择过滤器:需要传入elementId列表对指定的Element进行操作
规则过滤器:通过对指定参数的规则描述,传入categeorys的Id进行操作
具体可参照API
—update—
2019 API删除掉SET*命令与模型颜色指定方法,颜色附加未实验,需要自己验证
1 | #if Revit2016 |
一般的项目中,如果添加过滤器只需要使用SelectionFilterElement这个命令就可以添加成功,当我们对链接模型进行操作的时候,由于提取出的List
下面的例子,是对链接模型中的自定义值在>=Value&&<Value的时候的案例
if (!maxValue.Equals(minValue))
{
filterRules.Add(
ParameterFilterRuleFactory.CreateGreaterOrEqualRule(id, minValue, false));
filterRules.Add(ParameterFilterRuleFactory.CreateLessRule(id, maxValue, false));
}
else
{
filterRules.Add(
ParameterFilterRuleFactory.CreateEqualsRule(id, maxValue, false));
}
ParameterFilterElement filterElement = ParameterFilterElement.Create(document, name, categeorys);
filterElement.SetRules(filterRules);
view.AddFilter(filterElement.Id);
document.Regenerate();
OverrideGraphicSettings overrideSettings = view.GetFilterOverrides(filterElement.Id);
overrideSettings.SetProjectionFillColor(GetDBColorFromMediaColor(dictionary.Values.ElementAt(i)));
overrideSettings.SetProjectionFillPatternId(PatternId(document));
view.SetFilterOverrides(filterElement.Id, overrideSettings);
view.SetFilterVisibility(filterElement.Id, true);
filterRules.Clear();
这样的话我们就可以对链接模型进行附加过滤器操作。
All articles on this blog are licensed under CC BY-NC-SA 4.0 unless otherwise stated.






