我嘗試當我打開一看,運行代碼不止一次從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