BoundingBoxIsInsideFilter Class


A filter used to match elements with a bounding box that is contained by the given Outline.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 2015.0.0.0 (2015.0.0.0)
Since: 2011

Syntax

C#
public class BoundingBoxIsInsideFilter : ElementQuickFilter
Visual Basic
Public Class BoundingBoxIsInsideFilter _
	Inherits ElementQuickFilter
Visual C++
public ref class BoundingBoxIsInsideFilter : 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

Copy C#
// Use BoundingBoxIsInside filter to find elements with a bounding box that is contained(inside completely) 
// by the given Outline in the document.

// Create a Outline, use 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 BoundingBoxIsInside filter for Outline
BoundingBoxIsInsideFilter filter = new BoundingBoxIsInsideFilter(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 walls outside BoundingBox: use an inverted filter to match elements
// Use shortcut command OfClass() to find walls only
BoundingBoxIsInsideFilter outsideFilter = new BoundingBoxIsInsideFilter(myOutLn, true); // inverted filter
collector = new FilteredElementCollector(document);
IList<Element> outsideFounds = collector.OfClass(typeof(Wall)).WherePasses(outsideFilter).ToElements();
Copy VB.NET
' Use BoundingBoxIsInside filter to find elements with a bounding box that is contained(inside completely) 
' by the given Outline in the document.


' Create a Outline, use 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 BoundingBoxIsInside filter for Outline
Dim filter As New BoundingBoxIsInsideFilter(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 walls outside BoundingBox: use an inverted filter to match elements
' Use shortcut command OfClass() to find walls only
Dim outsideFilter As New BoundingBoxIsInsideFilter(myOutLn, True)
' inverted filter
collector = New FilteredElementCollector(document)
Dim outsideFounds As IList(Of Element) = collector.OfClass(GetType(Wall)).WherePasses(outsideFilter).ToElements()

Inheritance Hierarchy

See Also

ArchiLabs Desktop

Put AI to work inside Revit.

Give Desktop your instructions and project files to build Revit families, update model elements, and create views and schedules. Works directly in Revit and AutoCAD.

Explore Desktop →