Share

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: 26.1.0.0 (26.1.0.34)

Syntax

C#

public interface ISelectionFilter

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.

Example

C#

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;
    }
}

VB

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

See Also

Reference

Was this information helpful?