Namespace:
Autodesk.Revit.DB
SelectionFilterElement
Class
Description:
A filter element that stores an explicit list of ElementIds. Only elements whose ElementIds are in this list will pass the filter.
A filter element that stores an explicit list of ElementIds. Only elements whose ElementIds are in this list will pass the filter.
Inheritance Hierarchy:
System.Object
Autodesk.Revit.DB.Element
Autodesk.Revit.DB.FilterElement
Autodesk.Revit.DB.SelectionFilterElement
System.Object
Autodesk.Revit.DB.Element
Autodesk.Revit.DB.FilterElement
Autodesk.Revit.DB.SelectionFilterElement
Examples
public static void CreateSelectionFilter(Document doc, View view)
{
// find room tags in this view
FilteredElementCollector collector = new FilteredElementCollector(doc, view.Id);
collector.WherePasses(new RoomTagFilter());
// collect tags whose room number matches criteria
List<ElementId> tagIds = new List<ElementId>();
foreach (RoomTag tag in collector.Cast<RoomTag>())
{
int number = Int32.Parse(tag.Room.Number);
if (number % 3 == 0)
{
tagIds.Add(tag.Id);
}
}
using (Transaction t = new Transaction(doc, "Create SelectionFilterElement"))
{
t.Start();
// Create selection filter and assign ids
SelectionFilterElement filterElement = SelectionFilterElement.Create(doc, "Room tags filter");
filterElement.SetElementIds(tagIds);
ElementId filterId = filterElement.Id;
// Add the filter to the view
view.AddFilter(filterId);
doc.Regenerate();
// Use the existing graphics settings, and change the color to Blue
OverrideGraphicSettings overrideSettings = view.GetFilterOverrides(filterId);
overrideSettings.SetProjectionLineColor(new Color(0x00, 0x00, 0xFF));
view.SetFilterOverrides(filterId, overrideSettings);
t.Commit();
}
}