ElementFilterIsAcceptableForParameterFilterElement Method (ElementFilter)


Checks that an ElementFilter is acceptable for use in defining the filtering rules for a ParameterFilterElement (i.e., for view filtering).

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 21.0.0.0 (21.1.1.109)
Since: 2019

Syntax

C#
public bool ElementFilterIsAcceptableForParameterFilterElement(
	ElementFilter elementFilter
)
Visual Basic
Public Function ElementFilterIsAcceptableForParameterFilterElement ( _
	elementFilter As ElementFilter _
) As Boolean
Visual C++
public:
bool ElementFilterIsAcceptableForParameterFilterElement(
	ElementFilter^ elementFilter
)

Parameters

elementFilter
Type: Autodesk.Revit.DB ElementFilter
The ElementFilter to validate.

Return Value

True if the ElementFilter is acceptable for use by an ParameterFilterElement, false if not.

Remarks

ElementFilter is either an ElementParameterFilter or an ElementLogicalFilter representing a Boolean combination of ElementParameterFilters. In addition, we check that each ElementParameterFilter satisfies the following conditions: Its array of FilterRules is not empty and contains:
  • Any number of FilterRules of type FilterValueRule, FilterInverseRule, and SharedParameterApplicableRule or
  • Exactly one FilterCategoryRule containing only one category from categories stored by this ParameterFilterElement or
  • Exactly two rules: the first one is a FilterCategoryRule containing only one category from categories stored by this ParameterFilterElement and the second one is a FilterRule of type FilterValueRule, FilterInverseRule, or SharedParameterApplicableRule.
Note that cases in the second and third bullet are currently allowed only if the parent node of ElementParameterFilter is LogicalOrFilter.

Exceptions

Exception Condition
Autodesk.Revit.Exceptions ArgumentNullException A non-optional argument was NULL

See Also