【发布时间】:2018-03-14 22:12:53
【问题描述】:
我正在尝试运行 Autodesk 帮助中的代码
http://help.autodesk.com/view/RVT/2014/ENU/?guid=GUID-B6FB80F2-7A17-4242-9E95-D6056090E85B 但它似乎不起作用。代码“FirstElement ().get_Parameter("评论");" 不工作。没有这个功能。
我收到以下错误:
Revit 遇到了 System.MissingMethodException;找不到方法:'AutoDesk.Revit.DB.Parameter Autodesk.Revit.DB.Element.get_Parameter(System.String)
这段代码有什么问题?
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 遇到 System.MissingMethodException;找不到方法:'AutoDesk.Revit.DB.Parameter Autodesk.Revit.DB.Element.get_Parameter(System.String)”
-
感谢它与lookupparameter一起使用,但是当我多次重复该命令时出现另一个错误。错误说:Revit遇到了argumentException。 name 的给定值已用作过滤器元素名称参数名称: ParameterFilterElement 处的名称 parameterFilterElement = ParameterFilterElement.Create(doc, "Comments= foo", categories);