Namespace:
Autodesk.Revit.DB
BoundingBoxIsInsideFilter
Class
Description:
A filter used to match elements with a bounding box that is contained by the given Outline.
A filter used to match elements with a bounding box that is contained by the given Outline.
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.
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.
Inheritance Hierarchy:
System.Object
Autodesk.Revit.DB.ElementFilter
Autodesk.Revit.DB.ElementQuickFilter
Autodesk.Revit.DB.BoundingBoxIsInsideFilter
System.Object
Autodesk.Revit.DB.ElementFilter
Autodesk.Revit.DB.ElementQuickFilter
Autodesk.Revit.DB.BoundingBoxIsInsideFilter
Examples
// 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();