Skip to content

ParameterFilterElement.ElementFilterIsAcceptableForParameterFilterElement(Document, ISet.ElementId., ElementFilter)

Public Class

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

Namespace: Autodesk.Revit.DB

Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

Syntax

public static bool ElementFilterIsAcceptableForParameterFilterElement(
Document aDocument,
ISet<ElementId> categories,
ElementFilter elementFilter
)

Parameters

aDocument Document

The document in which to create the ParameterFilterElement.

categoriesISet. ElementId.

The categories for the new ParameterFilterElement.

elementFilter ElementFilter

The ElementFilter to validate.

Return Value

Boolean

Exceptions

Exception

Condition


ArgumentNullException

A non-optional argument was null


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.