ISelectionFilter Interface

ISelectionFilter Interface

An interface that provides the ability to filter objects during a selection operation.

Namespace: Autodesk.Revit.UI.Selection
Assembly: RevitAPIUI (in RevitAPIUI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public interface ISelectionFilter
Public Interface ISelectionFilter
public interface class ISelectionFilter
type ISelectionFilter = interface end

The ISelectionFilter type exposes the following members.

Methods
 NameDescription
Public methodAllowElementOverride this pre-filter method to specify if the element should be permitted to be selected.
Public methodAllowReferenceOverride this post-filter method to specify if a reference to a piece of geometry is permitted to be selected.
Top
Example
public static IList<Element> GetManyRefByRectangle(UIDocument doc)
{
    ReferenceArray ra = new ReferenceArray();
    ISelectionFilter selFilter = new MassSelectionFilter();
    IList<Element> eList = doc.Selection.PickElementsByRectangle(selFilter, 
        "Select multiple faces") as IList<Element>;
    return eList;
}

public class MassSelectionFilter : ISelectionFilter
{
    public bool AllowElement(Element element)
    {
        if (element.Category.Name == "Mass")
        {
            return true;
        }
        return false;
    }

    public bool AllowReference(Reference refer, XYZ point)
    {
        return false;
    }
}
Public Shared Function GetManyRefByRectangle(doc As UIDocument) As IList(Of Element)
    Dim ra As New ReferenceArray()
    Dim selFilter As ISelectionFilter = New MassSelectionFilter()
    Dim eList As IList(Of Element) = TryCast(doc.Selection.PickElementsByRectangle(selFilter, "Select multiple faces"), IList(Of Element))
    Return eList
End Function

Public Class MassSelectionFilter
    Implements ISelectionFilter
    Public Function AllowElement(element As Element) As Boolean Implements ISelectionFilter.AllowElement
        If element.Category.Name = "Mass" Then
            Return True
        End If
        Return False
    End Function

    Public Function AllowReference(refer As Reference, point As XYZ) As Boolean Implements ISelectionFilter.AllowReference
        Return False
    End Function
End Class

No code example is currently available or this language may not be supported.

No code example is currently available or this language may not be supported.

See Also