我尝试当我打开一看,运行代码不止一次从Autodesk帮助为什么来自Autodesk的此代码不起作用?
http://help.autodesk.com/view/RVT/2014/ENU/?guid=GUID-B6FB80F2-7A17-4242-9E95-D6056090E85B
private void CreateViewFilter(Autodesk.Revit.DB.Document doc, View view)
{
List<ElementId> categories = new List<ElementId>();
categories.Add(new ElementId(BuiltInCategory.OST_Walls));
ParameterFilterElement parameterFilterElement =
ParameterFilterElement.Create(doc, "Comments = foo", categories);
FilteredElementCollector parameterCollector = new FilteredElementCollector(doc);
Parameter parameter = parameterCollector.OfClass(typeof(Wall)).FirstElement().get_Parameter("Comments");
List<FilterRule> filterRules = new List<FilterRule>();
filterRules.Add(ParameterFilterRuleFactory.CreateEqualsRule(parameter.Id, "foo", true));
parameterFilterElement.SetRules(filterRules);
OverrideGraphicSettings filterSettings = new OverrideGraphicSettings();
// outline walls in red
filterSettings.SetProjectionLineColor(new Color(255, 0, 0));
view.SetFilterOverrides(parameterFilterElement.Id, filterSettings);
}
运行的代码,我得到以下错误
的Revit encounterd一个argumentException。名称的给定值已被用作过滤元素名称参数名称:名称在ParameterFilterElement parameterFilterElement = ParameterFilterElement.Create(doc,“Comments = foo”,categories)。我看不到的地方发生这种情况中的代码。(OBS我改变GET_PARAMETER在原始代码lookupparameter上述,因为第一已弃用)
什么行会抛出异常? – mjwills