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: 20.0.0.0 (20.0.0.377)
Since:
2011
Syntax
C# |
---|
public class BoundingBoxIntersectsFilter : ElementQuickFilter |
Visual Basic |
---|
Public Class BoundingBoxIntersectsFilter _ Inherits ElementQuickFilter |
Visual C++ |
---|
public ref class BoundingBoxIntersectsFilter : public ElementQuickFilter |
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

// 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();

' 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