2024 Class
Changes 0
C

BoundingBoxIntersectsFilter

Description:
A filter used to match elements with a bounding box that intersects 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.
Inheritance Hierarchy:
System.Object
  Autodesk.Revit.DB.ElementFilter
    Autodesk.Revit.DB.ElementQuickFilter
      Autodesk.Revit.DB.BoundingBoxIntersectsFilter
// 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();
Name Return Type Description Inherited From
C BoundingBoxIntersectsFilter(Outline) None Constructs a new instance of a filter to match elements with a bounding box that intersects the given Outline.
C BoundingBoxIntersectsFilter(Outline, Boolean) None Constructs a new instance of a filter to match elements with a bounding box that intersects the given Outline, with the option to invert the filter and match all elements with a bounding box that are not intersecting the given Outline.
C BoundingBoxIntersectsFilter(Outline, Double) None Constructs a new instance of a filter to match elements with a bounding box that intersects the given Outline.
C BoundingBoxIntersectsFilter(Outline, Double, Boolean) None Constructs a new instance of a filter to match elements with a bounding box that intersects the given Outline, with the option to invert the filter and match all elements with a bounding box that are not intersecting the given Outline.
Name Return Type Description Inherited From
M GetBoundingBox() Outline Gets the outline being used for this filter.
M Dispose() None Releases all resources used by the ElementFilter
M PassesFilter(Document, ElementId) bool Applies the filter to a given element. ElementFilter
M PassesFilter(Element) bool Applies the filter to a given element. ElementFilter
Name Return Type Description Inherited From
P Tolerance double Allows control over the match criteria by using a tolerance in the geometry comparison. It is suggested to use this in cases where trivial differences should be considered when matching elements.
P Inverted bool True if the results of the filter are inverted; elements that would normally be accepted by this filter will be rejected, and elements that would normally be rejected will be accepted. ElementFilter
P IsValidObject bool Specifies whether the .NET object represents a valid Revit entity. ElementFilter