View Set |
Sets the overrides associated with a filter.
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

public void SetFilterOverrides(
ElementId filterElementId,
OverrideGraphicSettings overrideGraphicSettings
)
Parameters
- filterElementId ElementId
- ElementId of the filter.
- overrideGraphicSettings OverrideGraphicSettings
- The overrides to apply to the filter.

Exception | Condition |
---|---|
ArgumentException | ElementId is not associated with a FilterElement. -or- Fill pattern must be a drafting pattern. -or- Fill pattern Id must be invalidElementId or point to a LinePattern element. |
ArgumentNullException | A non-optional argument was null |
InvalidOperationException | The element "this View" does not belong to a project document. -or- The view type does not support Visibility/Graphics Overriddes. |

If the filter is not currently applied to the view, this will add the filter with the assigned overrides.

public static void ModifyExistingFilter(Document doc, View view)
{
// Find any filter with overrides setting cut color to Red
Dictionary<ElementId, OverrideGraphicSettings> filterIdsToChange = new Dictionary<ElementId, OverrideGraphicSettings>();
foreach (ElementId filterId in view.GetFilters())
{
OverrideGraphicSettings overrideSettings = view.GetFilterOverrides(filterId);
Color lineColor = overrideSettings.CutLineColor;
if (lineColor == Color.InvalidColorValue)
continue;
// Save overrides setting the cut color to green
if (lineColor.Red == 0xFF && lineColor.Green == 0x00 && lineColor.Blue == 0x00)
{
overrideSettings.SetCutLineColor(new Color(0x00, 0xFF, 0x00));
filterIdsToChange[filterId] = overrideSettings;
}
}
// Make the change to all found filters
using (Transaction t = new Transaction(doc, "Change override filters"))
{
t.Start();
foreach (ElementId filterId in filterIdsToChange.Keys)
{
view.SetFilterOverrides(filterId, filterIdsToChange[filterId]);
}
t.Commit();
}
}
