A filter used to match elements with a bounding box that intersects the given Outline.
Namespace:
Autodesk.Revit.DB
Assembly:
RevitAPI
(in RevitAPI.dll) Version: 21.0.0.0 (21.1.1.109)
Since:
2011
Syntax
C# |
---|
|
Visual Basic |
---|
|
Visual C++ |
---|
|
Remarks
This filter excludes all objects derived from View and objects derived from ElementType.
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#
// Use BoundingBoxIntersects filter to find elements with a bounding box that intersects the
// given Outline in the document.
// Create a Outline, uses a minimum and maximum XYZ point to initialize the outline.
Outline myOutLn = new Outline(new XYZ(0, 0, 0), new XYZ(100, 100, 100));
// Create a BoundingBoxIntersects filter with this Outline
BoundingBoxIntersectsFilter filter = new BoundingBoxIntersectsFilter(myOutLn);
// Apply the filter to the elements in the active document
// This filter excludes all objects derived from View and objects derived from ElementType
FilteredElementCollector collector = new FilteredElementCollector(document);
IList<Element> elements = collector.WherePasses(filter).ToElements();
// Find all walls which don't intersect with BoundingBox: use an inverted filter to match elements
// Use shortcut command OfClass() to find walls only
BoundingBoxIntersectsFilter invertFilter = new BoundingBoxIntersectsFilter(myOutLn, true); // inverted filter
collector = new FilteredElementCollector(document);
IList<Element> notIntersectWalls =
collector.OfClass(typeof(Wall)).WherePasses(invertFilter).ToElements();
Copy
VB.NET
' Use BoundingBoxIntersects filter to find elements with a bounding box that intersects the
' given Outline in the document.
' Create a Outline, uses a minimum and maximum XYZ point to initialize the outline.
Dim myOutLn As New Outline(New XYZ(0, 0, 0), New XYZ(100, 100, 100))
' Create a BoundingBoxIntersects filter with this Outline
Dim filter As New BoundingBoxIntersectsFilter(myOutLn)
' Apply the filter to the elements in the active document
' This filter excludes all objects derived from View and objects derived from ElementType
Dim collector As New FilteredElementCollector(document)
Dim elements As IList(Of Element) = collector.WherePasses(filter).ToElements()
' Find all walls which don't intersect with BoundingBox: use an inverted filter to match elements
' Use shortcut command OfClass() to find walls only
Dim invertFilter As New BoundingBoxIntersectsFilter(myOutLn, True)
' inverted filter
collector = New FilteredElementCollector(document)
Dim notIntersectWalls As IList(Of Element) = collector.OfClass(GetType(Wall)).WherePasses(invertFilter).ToElements()
Inheritance Hierarchy
System
Object
Autodesk.Revit.DB ElementFilter
Autodesk.Revit.DB ElementQuickFilter
Autodesk.Revit.DB BoundingBoxIntersectsFilter
Autodesk.Revit.DB ElementFilter
Autodesk.Revit.DB ElementQuickFilter
Autodesk.Revit.DB BoundingBoxIntersectsFilter