2025.3 Class
Changes 0
C

ReferenceIntersector

Description:
A class used to find and return elements that intersect a ray created from an origin point and direction.
Remarks:

An instance of this class can be constructed to return any 3D geometric element that intersects the ray created by the origin and direction, or to return a subset of elements based on filtering and flags. The caller can opt to filter the results using an ElementFilter, or by applying a specific list of acceptable elements. The caller can also specify the type of object to be returned, which might be whole elements, geometry objects, or a combination. In all cases the caller is required to supply a 3D view for evaluation; the view and visibility settings on the input view will determine if a particular element is returned (for example, hidden elements will never be returned by this tool, nor will elements whose geometry is outside the section box of the view).

The class is configured so that a single instance can be constructed and used for multiple evaluations of different rays. The results of the evaluation are not preserved between invocations on the same ReferenceIntersector.

The class also offers an option to return element results encountered in Revit Links. When the FindReferencesInRevitLinks flag is set, the results may include elements in the host document and in any RevitLinkInstance encountered, depending on the other flags set. See the remarks for FindReferencesInRevitLinks for details on how the flags affect the results obtained from links.

Inheritance Hierarchy:
System.Object
  Autodesk.Revit.DB.ReferenceIntersector
public class ReferenceIntersector : IDisposable
Name Return Type Description Inherited From
C ReferenceIntersector(View3D) None Constructs a ReferenceIntersector which is set to return intersections from all elements and representing all reference target types.
C ReferenceIntersector(ElementFilter, FindReferenceTarget, View3D) None Constructs a ReferenceIntersector which is set to return intersections from any element which passes an input filter.
C ReferenceIntersector(ElementId, FindReferenceTarget, View3D) None Constructs a ReferenceIntersector which is set to return intersections from a single target element only.
C ReferenceIntersector(ICollection<ElementId>, FindReferenceTarget, View3D) None Initializes a new instance of the ReferenceIntersector class
Name Return Type Description Inherited From
M Dispose() None Releases all resources used by the ReferenceIntersector
M Equals None Determines whether the specified object is equal to the current object. (Inherited from Object ) Object
M Find(XYZ, XYZ) IList<ReferenceWithContext> Projects a ray from the origin along the given direction, and returns all references from intersected elements which match the ReferenceIntersector's criteria.
M FindNearest(XYZ, XYZ) ReferenceWithContext Projects a ray from the origin along the given direction, and returns the nearest reference from intersected elements which match the ReferenceIntersector's criteria.
M GetFilter() ElementFilter Gets the ElementFilter used in intersection testing.
M GetHashCode None Serves as the default hash function. (Inherited from Object ) Object
M GetTargetElementIds() ICollection<ElementId> Gets the set of ElementIds to test from in intersection testing.
M GetType None Gets the Type of the current instance. (Inherited from Object ) Object
M SetFilter(ElementFilter) None Sets the ElementFilter used in intersection testing.
M SetTargetElementIds(ICollection<ElementId>) None
M ToString None Returns a string that represents the current object. (Inherited from Object ) Object
Name Return Type Description Inherited From
P FindReferencesInRevitLinks bool Determines if references inside Revit Links should be found.
P IsValidObject Boolean Specifies whether the .NET object represents a valid Revit entity.
P TargetType FindReferenceTarget The type of reference to find.
P ViewId ElementId The id of the 3D view used for evaluation.