Namespace:
Autodesk.Revit.DB
ParameterFilterElement
Class
Description:
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.
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.
Inheritance Hierarchy:
System.Object
Autodesk.Revit.DB.Element
Autodesk.Revit.DB.FilterElement
Autodesk.Revit.DB.ParameterFilterElement
System.Object
Autodesk.Revit.DB.Element
Autodesk.Revit.DB.FilterElement
Autodesk.Revit.DB.ParameterFilterElement
Examples
/// <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();
}
}
ParameterFilterElement Class Members:
Name | Description | Inherited From |
---|---|---|
AssemblyInstanceId | The id of the assembly instance to which the element belongs. (Inherited from Element ) | Element |
BoundingBox | Retrieves a box that circumscribes all geometry of the element. (Inherited from Element ) | Element |
Category | Retrieves a Category object that represents the category or sub category in which the element resides. (Inherited from Element ) | Element |
CreatedPhaseId | Id of a Phase at which the Element was created. (Inherited from Element ) | Element |
DemolishedPhaseId | Id of a Phase at which the Element was demolished. (Inherited from Element ) | Element |
DesignOption | Returns the design option to which the element belongs. (Inherited from Element ) | Element |
Document | Returns the Document in which the Element resides. (Inherited from Element ) | Element |
Geometry | Retrieves the geometric representation of the element. (Inherited from Element ) | Element |
GroupId | The id of the group to which an element belongs. (Inherited from Element ) | Element |
Id | A unique identifier for an Element in an Autodesk Revit project. (Inherited from Element ) | Element |
IsModifiable | Identifies if the element is modifiable. (Inherited from Element ) | Element |
IsTransient | Indicates whether an element is transient or permanent. (Inherited from Element ) | Element |
IsValidObject | Specifies whether the .NET object represents a valid Revit entity. (Inherited from Element ) | Element |
LevelId | The id of the level associated with the element. (Inherited from Element ) | Element |
Location | This property is used to find the physical location of an element within a project. (Inherited from Element ) | Element |
Name | A human readable name for the Element. (Inherited from Element ) | Element |
OwnerViewId | The id of the view that owns the element. (Inherited from Element ) | Element |
Parameter[BuiltInParameter] | Retrieves a parameter from the element given a parameter id. (Inherited from Element ) | Element |
Parameter[Definition] | Retrieves a parameter from the element based on its definition. (Inherited from Element ) | Element |
Parameter[Guid] | Retrieves a parameter from the element given a GUID for a shared parameter. (Inherited from Element ) | Element |
Parameters | Retrieves a set containing all of the parameters that are contained within the element. (Inherited from Element ) | Element |
ParametersMap | Retrieves a map containing all of the parameters that are contained within the element. (Inherited from Element ) | Element |
Pinned | Identifies if the element has been pinned to prevent changes. (Inherited from Element ) | Element |
UniqueId | A stable unique identifier for an element within the document. (Inherited from Element ) | Element |
VersionGuid | Get the element version Guid. (Inherited from Element ) | Element |
ViewSpecific | Identifies if the element is owned by a view. (Inherited from Element ) | Element |
WorksetId | Get Id of the Workset which owns the element. (Inherited from Element ) | Element |
Name | Description | Inherited From |
---|---|---|
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 ) | Element |
CanBeHidden | Indicates if the element can be hidden in the view. (Inherited from Element ) | Element |
CanBeLocked | Identifies if the element can be locked. (Inherited from Element ) | Element |
CanDeleteSubelement | Checks if given subelement can be removed from the element. (Inherited from Element ) | Element |
CanHaveTypeAssigned() | Identifies if the element can have a type assigned. (Inherited from Element ) | Element |
ChangeTypeId(ElementId) | Changes the type of the element. (Inherited from Element ) | 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 ) | Element |
DeleteSubelement | Removes a subelement from the element. (Inherited from Element ) | Element |
DeleteSubelements | Removes the subelements from the element. (Inherited from Element ) | Element |
Dispose | (Inherited from Element ) | 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 ) | Object |
EvaluateAllParameterValues | Evaluates all the parameters' values of the element. (Inherited from Element ) | Element |
EvaluateParameterValues | Evaluate the parameters' values of the element on the given parameter ID set. (Inherited from Element ) | 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 ) | 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 ) | Element |
GetEntitySchemaGuids | Returns the Schema guids of any Entities stored in this element. (Inherited from Element ) | Element |
GetExternalFileReference | Gets information pertaining to the external file referenced by the element. (Inherited from Element ) | Element |
GetExternalResourceReference | Gets the ExternalResourceReference associated with a specified external resource type. (Inherited from Element ) | Element |
GetExternalResourceReferenceExpanded | Gets the collection of ExternalResourceReference associated with a specified external resource type. (Inherited from Element ) | Element |
GetExternalResourceReferences | Gets the map of the external resource references referenced by the element. (Inherited from Element ) | Element |
GetExternalResourceReferencesExpanded | Gets the expanded map of the external resource references referenced by the element. (Inherited from Element ) | Element |
GetGeneratingElementIds | Returns the ids of the element(s) that generated the input geometry object. (Inherited from Element ) | Element |
GetGeometryObjectFromReference | Retrieve one geometric primitive contained in the element given a reference. (Inherited from Element ) | Element |
GetHashCode | Serves as the default hash function. (Inherited from Object ) | Object |
GetMaterialArea | Gets the area of the material with the given id. (Inherited from Element ) | Element |
GetMaterialIds | Gets the element ids of all materials present in the element. (Inherited from Element ) | Element |
GetMaterialVolume | Gets the volume of the material with the given id. (Inherited from Element ) | Element |
GetMonitoredLinkElementIds | Provides the link instance IDs when the element is monitoring. (Inherited from Element ) | Element |
GetMonitoredLocalElementIds | Provides the local element IDs when the element is monitoring. (Inherited from Element ) | Element |
GetOrderedParameters | Gets the parameters associated to the element in order. (Inherited from Element ) | Element |
GetParameter | Retrieves a parameter from the element given identifier. (Inherited from Element ) | Element |
GetParameterFormatOptions | Returns a FormatOptions override for the element Parameter, or a default FormatOptions if no override exists. (Inherited from Element ) | Element |
GetParameters | Retrieves the parameters from the element via the given name. (Inherited from Element ) | Element |
GetPhaseStatus | Gets the status of a given element in the input phase (Inherited from Element ) | Element |
GetSubelements | Returns the collection of element subelements. (Inherited from Element ) | Element |
GetType | Gets the Type of the current instance. (Inherited from Object ) | Object |
GetTypeId | Returns the identifier of this element's type. (Inherited from Element ) | Element |
GetValidTypes() | Obtains a set of types that are valid for this element. (Inherited from Element ) | Element |
HasPhases | Returns true if this Element has the properties CreatedPhaseId and DemolishedPhaseId. (Inherited from Element ) | Element |
IsCreatedPhaseOrderValid | Returns true if createdPhaseId and demolishedPhaseId are in order. (Inherited from Element ) | Element |
IsDemolishedPhaseOrderValid | Returns true if createdPhaseId and demolishedPhaseId are in order. (Inherited from Element ) | Element |
IsExternalFileReference | Determines whether this Element represents an external file. (Inherited from Element ) | Element |
IsHidden | Identifies if the element has been permanently hidden in the view. (Inherited from Element ) | Element |
IsMonitoringLinkElement | Indicate whether an element is monitoring any elements in any linked models. (Inherited from Element ) | Element |
IsMonitoringLocalElement | Indicate whether an element is monitoring other local elements. (Inherited from Element ) | Element |
IsNameUnique(String) | Determines whether a potential filter element name is unique. (Inherited from FilterElement ) | FilterElement |
IsPhaseCreatedValid | Returns true if createdPhaseId is an allowed value for the property CreatedPhaseId in this Element. (Inherited from Element ) | Element |
IsPhaseDemolishedValid | Returns true if demolishedPhaseId is an allowed value for the property DemolishedPhaseId in this Element. (Inherited from Element ) | Element |
IsValidType(ElementId) | Checks if given type is valid for this element. (Inherited from Element ) | Element |
LookupParameter | Attempts to find a parameter on the element which has the given name. (Inherited from Element ) | Element |
RefersToExternalResourceReference | Determines whether this Element uses external resources associated with a specified external resource type. (Inherited from Element ) | Element |
RefersToExternalResourceReferences | Determines whether this Element uses external resources. (Inherited from Element ) | 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 ) | Element |
ToString | Returns a string that represents the current object. (Inherited from Object ) | Object |