Parameter |
Admits elements that satisfy two conditions:
- The element's category must be one of a certain set of allowed categories.
- The element must pass a series of filter rules.

System Object
Autodesk.Revit.DB Element
Autodesk.Revit.DB FilterElement
Autodesk.Revit.DB ParameterFilterElement
Autodesk.Revit.DB Element
Autodesk.Revit.DB FilterElement
Autodesk.Revit.DB ParameterFilterElement
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

The ParameterFilterElement type exposes the following members.

Name | Description | |
---|---|---|
![]() | AssemblyInstanceId | The id of the assembly instance to which the element belongs. (Inherited from Element ) |
![]() ![]() | BoundingBox | Retrieves a box that circumscribes all geometry of the element. (Inherited from Element ) |
![]() | Category | Retrieves a Category object that represents the category or sub category in which the element resides. (Inherited from Element ) |
![]() ![]() | CreatedPhaseId | Id of a Phase at which the Element was created. (Inherited from Element ) |
![]() ![]() | DemolishedPhaseId | Id of a Phase at which the Element was demolished. (Inherited from Element ) |
![]() ![]() | DesignOption | Returns the design option to which the element belongs. (Inherited from Element ) |
![]() | Document | Returns the Document in which the Element resides. (Inherited from Element ) |
![]() ![]() | Geometry | Retrieves the geometric representation of the element. (Inherited from Element ) |
![]() | GroupId | The id of the group to which an element belongs. (Inherited from Element ) |
![]() ![]() | Id | A unique identifier for an Element in an Autodesk Revit project. (Inherited from Element ) |
![]() | IsModifiable | Identifies if the element is modifiable. (Inherited from Element ) |
![]() | IsTransient | Indicates whether an element is transient or permanent. (Inherited from Element ) |
![]() | IsValidObject | Specifies whether the .NET object represents a valid Revit entity. (Inherited from Element ) |
![]() | LevelId | The id of the level associated with the element. (Inherited from Element ) |
![]() ![]() | Location | This property is used to find the physical location of an element within a project. (Inherited from Element ) |
![]() | Name | A human readable name for the Element. (Inherited from Element ) |
![]() | OwnerViewId | The id of the view that owns the element. (Inherited from Element ) |
![]() ![]() | Parameter BuiltInParameter | Retrieves a parameter from the element given a parameter id. (Inherited from Element ) |
![]() | Parameter Definition | Retrieves a parameter from the element based on its definition. (Inherited from Element ) |
![]() | Parameter Guid | Retrieves a parameter from the element given a GUID for a shared parameter. (Inherited from Element ) |
![]() ![]() | Parameters | Retrieves a set containing all of the parameters that are contained within the element. (Inherited from Element ) |
![]() | ParametersMap | Retrieves a map containing all of the parameters that are contained within the element. (Inherited from Element ) |
![]() | Pinned | Identifies if the element has been pinned to prevent changes. (Inherited from Element ) |
![]() ![]() | UniqueId | A stable unique identifier for an element within the document. (Inherited from Element ) |
![]() | VersionGuid | Get the element version Guid. (Inherited from Element ) |
![]() | ViewSpecific | Identifies if the element is owned by a view. (Inherited from Element ) |
![]() | WorksetId | Get Id of the Workset which owns the element. (Inherited from Element ) |

Name | Description | |
---|---|---|
![]() | AllRuleParametersApplicable(ElementFilter) | Checks that the parameters of the rules used by the given ElementFilter are valid for this filter's categories. |
![]() ![]() | AllRuleParametersApplicable(Document, ICollection ElementId , ElementFilter) | Checks that the parameters of the given ElementFilter (representing a combination of rules) are valid for the given set of categories. |
![]() | ArePhasesModifiable | Returns true if the properties CreatedPhaseId and DemolishedPhaseId can be modified for this Element. (Inherited from Element ) |
![]() | CanBeHidden | Indicates if the element can be hidden in the view. (Inherited from Element ) |
![]() | CanBeLocked | Identifies if the element can be locked. (Inherited from Element ) |
![]() | CanDeleteSubelement | Checks if given subelement can be removed from the element. (Inherited from Element ) |
![]() | CanHaveTypeAssigned | Identifies if the element can have a type assigned. (Inherited from Element ) |
![]() | ChangeTypeId(ElementId) | Changes the type of the element. (Inherited from Element ) |
![]() | ClearRules | Removes all rules from this filter. |
![]() ![]() | Create(Document, String, ICollection ElementId ) | Creates a new ParameterFilterElement in the given document. |
![]() ![]() | Create(Document, String, ICollection ElementId , ElementFilter) | Creates a new ParameterFilterElement in the given document. |
![]() | DeleteEntity | Deletes the existing entity created by %schema% in the element (Inherited from Element ) |
![]() | DeleteSubelement | Removes a subelement from the element. (Inherited from Element ) |
![]() | DeleteSubelements | Removes the subelements from the element. (Inherited from Element ) |
![]() | Dispose | (Inherited from Element ) |
![]() | ElementFilterIsAcceptableForParameterFilterElement(ElementFilter) | Checks that an ElementFilter is acceptable for use in defining the filtering rules for a ParameterFilterElement (i.e., for view filtering). |
![]() ![]() | ElementFilterIsAcceptableForParameterFilterElement(Document, ISet ElementId , ElementFilter) | Checks that an ElementFilter is acceptable for use in defining the filtering rules for a given list of categories (i.e., for view filtering). |
![]() | Equals | Determines whether the specified object is equal to the current object. (Inherited from Object ) |
![]() | EvaluateAllParameterValues | Evaluates all the parameters' values of the element. (Inherited from Element ) |
![]() | EvaluateParameterValues | Evaluate the parameters' values of the element on the given parameter ID set. (Inherited from Element ) |
![]() | GetCategories | Gets the categories admitted by this filter. |
![]() | GetDependentElements | Get all elements that, from a logical point of view, are the children of this Element. (Inherited from Element ) |
![]() | GetElementFilter | Returns an ElementFilter representing the combination of rules used by this filter. |
![]() | GetElementFilterParameters | Retrieves a list of the parameters associated with each rule in the filter. |
![]() | GetElementFilterParametersForCategory | Retrieves a list of the parameters associated with all rules in the filter that are combined (using logical AND) with a FilterCategoryRule corresponding to single %categoryId%. |
![]() | GetEntity | Returns the existing entity corresponding to the Schema if it has been saved in the Element, or an invalid entity otherwise. (Inherited from Element ) |
![]() | GetEntitySchemaGuids | Returns the Schema guids of any Entities stored in this element. (Inherited from Element ) |
![]() | GetExternalFileReference | Gets information pertaining to the external file referenced by the element. (Inherited from Element ) |
![]() | GetExternalResourceReference | Gets the ExternalResourceReference associated with a specified external resource type. (Inherited from Element ) |
![]() | GetExternalResourceReferenceExpanded | Gets the collection of ExternalResourceReference associated with a specified external resource type. (Inherited from Element ) |
![]() | GetExternalResourceReferences | Gets the map of the external resource references referenced by the element. (Inherited from Element ) |
![]() | GetExternalResourceReferencesExpanded | Gets the expanded map of the external resource references referenced by the element. (Inherited from Element ) |
![]() ![]() | GetGeneratingElementIds | Returns the ids of the element(s) that generated the input geometry object. (Inherited from Element ) |
![]() | GetGeometryObjectFromReference | Retrieve one geometric primitive contained in the element given a reference. (Inherited from Element ) |
![]() | GetHashCode | Serves as the default hash function. (Inherited from Object ) |
![]() | GetMaterialArea | Gets the area of the material with the given id. (Inherited from Element ) |
![]() | GetMaterialIds | Gets the element ids of all materials present in the element. (Inherited from Element ) |
![]() | GetMaterialVolume | Gets the volume of the material with the given id. (Inherited from Element ) |
![]() | GetMonitoredLinkElementIds | Provides the link instance IDs when the element is monitoring. (Inherited from Element ) |
![]() | GetMonitoredLocalElementIds | Provides the local element IDs when the element is monitoring. (Inherited from Element ) |
![]() | GetOrderedParameters | Gets the parameters associated to the element in order. (Inherited from Element ) |
![]() | GetParameter | Retrieves a parameter from the element given identifier. (Inherited from Element ) |
![]() | GetParameterFormatOptions | Returns a FormatOptions override for the element Parameter, or a default FormatOptions if no override exists. (Inherited from Element ) |
![]() | GetParameters | Retrieves the parameters from the element via the given name. (Inherited from Element ) |
![]() | GetPhaseStatus | Gets the status of a given element in the input phase (Inherited from Element ) |
![]() | GetSubelements | Returns the collection of element subelements. (Inherited from Element ) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object ) |
![]() ![]() | GetTypeId | Returns the identifier of this element's type. (Inherited from Element ) |
![]() | GetValidTypes | Obtains a set of types that are valid for this element. (Inherited from Element ) |
![]() | HasPhases | Returns true if this Element has the properties CreatedPhaseId and DemolishedPhaseId. (Inherited from Element ) |
![]() | IsCreatedPhaseOrderValid | Returns true if createdPhaseId and demolishedPhaseId are in order. (Inherited from Element ) |
![]() | IsDemolishedPhaseOrderValid | Returns true if createdPhaseId and demolishedPhaseId are in order. (Inherited from Element ) |
![]() | IsExternalFileReference | Determines whether this Element represents an external file. (Inherited from Element ) |
![]() | IsHidden | Identifies if the element has been permanently hidden in the view. (Inherited from Element ) |
![]() | IsMonitoringLinkElement | Indicate whether an element is monitoring any elements in any linked models. (Inherited from Element ) |
![]() | IsMonitoringLocalElement | Indicate whether an element is monitoring other local elements. (Inherited from Element ) |
![]() | IsNameUnique(String) | Determines whether a potential filter element name is unique. (Inherited from FilterElement ) |
![]() | IsPhaseCreatedValid | Returns true if createdPhaseId is an allowed value for the property CreatedPhaseId in this Element. (Inherited from Element ) |
![]() | IsPhaseDemolishedValid | Returns true if demolishedPhaseId is an allowed value for the property DemolishedPhaseId in this Element. (Inherited from Element ) |
![]() | IsValidType(ElementId) | Checks if given type is valid for this element. (Inherited from Element ) |
![]() | LookupParameter | Attempts to find a parameter on the element which has the given name. (Inherited from Element ) |
![]() | RefersToExternalResourceReference | Determines whether this Element uses external resources associated with a specified external resource type. (Inherited from Element ) |
![]() | RefersToExternalResourceReferences | Determines whether this Element uses external resources. (Inherited from Element ) |
![]() | SetCategories | Sets the categories admitted by this filter. |
![]() | SetElementFilter | Sets the rules that must be satisfied for a given element to pass this filter. |
![]() | SetEntity | Stores the entity in the element. If an Entity described by the same Schema already exists, it is overwritten. (Inherited from Element ) |
![]() | ToString | Returns a string that represents the current object. (Inherited from Object ) |

/// <summary>
/// Create an ElementFilter representing a conjunction ("ANDing together") of FilterRules.
/// </summary>
/// <param name="filterRules">A list of FilterRules</param>
/// <returns>The ElementFilter.</returns>
private static ElementFilter CreateElementFilterFromFilterRules(IList<FilterRule> filterRules)
{
// We use a LogicalAndFilter containing one ElementParameterFilter
// for each FilterRule. We could alternatively create a single
// ElementParameterFilter containing the entire list of FilterRules.
IList<ElementFilter> elemFilters = new List<ElementFilter>();
foreach (FilterRule filterRule in filterRules)
{
ElementParameterFilter elemParamFilter = new ElementParameterFilter(filterRule);
elemFilters.Add(elemParamFilter);
}
LogicalAndFilter elemFilter = new LogicalAndFilter(elemFilters);
return elemFilter;
}
/// <summary>
/// Creates a new view filter matching multiple criteria.
/// </summary>
/// <param name="doc"></param>
/// <param name="view"></param>
public static void CreateViewFilter(Document doc, View view)
{
List<ElementId> categories = new List<ElementId>();
categories.Add(new ElementId(BuiltInCategory.OST_Walls));
List<FilterRule> filterRules = new List<FilterRule>();
using (Transaction t = new Transaction(doc, "Add view filter"))
{
t.Start();
// Create filter element assocated to the input categories
ParameterFilterElement parameterFilterElement = ParameterFilterElement.Create(doc, "Example view filter", categories);
// Criterion 1 - wall type Function is "Exterior"
ElementId exteriorParamId = new ElementId(BuiltInParameter.FUNCTION_PARAM);
filterRules.Add(ParameterFilterRuleFactory.CreateEqualsRule(exteriorParamId, (int)WallFunction.Exterior));
// Criterion 2 - wall height > some number
ElementId lengthId = new ElementId(BuiltInParameter.CURVE_ELEM_LENGTH);
filterRules.Add(ParameterFilterRuleFactory.CreateGreaterOrEqualRule(lengthId, 28.0, 0.0001));
// Criterion 3 - custom shared parameter value matches string pattern
// Get the id for the shared parameter - the ElementId is not hardcoded, so we need to get an instance of this type to find it
Guid spGuid = new Guid("96b00b61-7f5a-4f36-a828-5cd07890a02a");
FilteredElementCollector collector = new FilteredElementCollector(doc);
collector.OfClass(typeof(Wall));
Wall wall = collector.FirstElement() as Wall;
if (wall != null)
{
Parameter sharedParam = wall.get_Parameter(spGuid);
ElementId sharedParamId = sharedParam.Id;
filterRules.Add(ParameterFilterRuleFactory.CreateBeginsWithRule(sharedParamId, "15."));
}
ElementFilter elemFilter = CreateElementFilterFromFilterRules(filterRules);
parameterFilterElement.SetElementFilter(elemFilter);
// Apply filter to view
view.AddFilter(parameterFilterElement.Id);
view.SetFilterVisibility(parameterFilterElement.Id, false);
t.Commit();
}
}
