A filter used to match elements by their category.
Namespace:
Autodesk.Revit.DB
Assembly:
RevitAPI
(in RevitAPI.dll) Version: 17.0.0.0 (17.0.484.0)
Since:
2011
Syntax
C# |
---|
|
Visual Basic |
---|
|
Visual C++ |
---|
|
Remarks
This filter is a quick filter.
Quick filters operate only on the ElementRecord, a low-memory class which has
a limited interface to read element properties. Elements which are rejected
by a quick filter will not be expanded in memory.
Examples
Copy
C#
// Find all Wall instances in the document by using category filter
ElementCategoryFilter filter = new ElementCategoryFilter(BuiltInCategory.OST_Walls);
// Apply the filter to the elements in the active document,
// Use shortcut WhereElementIsNotElementType() to find wall instances only
FilteredElementCollector collector = new FilteredElementCollector(document);
IList<Element> walls = collector.WherePasses(filter).WhereElementIsNotElementType().ToElements();
String prompt = "The walls in the current document are:\n";
foreach (Element e in walls)
{
prompt += e.Name + "\n";
}
TaskDialog.Show("Revit", prompt);
Copy
VB.NET
' Find all Wall instances in the document by using category filter
Dim filter As New ElementCategoryFilter(BuiltInCategory.OST_Walls)
' Apply the filter to the elements in the active document,
' Use shortcut WhereElementIsNotElementType() to find wall instances only
Dim collector As New FilteredElementCollector(document)
Dim walls As IList(Of Element) = collector.WherePasses(filter).WhereElementIsNotElementType().ToElements()
Dim prompt As [String] = "The walls in the current document are:" & vbLf
For Each e As Element In walls
prompt += e.Name + vbLf
Next
TaskDialog.Show("Revit", prompt)
Inheritance Hierarchy
System
Object
Autodesk.Revit.DB ElementFilter
Autodesk.Revit.DB ElementQuickFilter
Autodesk.Revit.DB ElementCategoryFilter
Autodesk.Revit.DB ElementFilter
Autodesk.Revit.DB ElementQuickFilter
Autodesk.Revit.DB ElementCategoryFilter