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

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