Sets the overrides associated with a filter.
Namespace: Autodesk.Revit.DBAssembly: RevitAPI (in RevitAPI.dll) Version: 21.0.0.0 (21.1.1.109)
Since: 2014
Syntax
C# |
---|
public void SetFilterOverrides( ElementId filterElementId, OverrideGraphicSettings overrideGraphicSettings ) |
Visual Basic |
---|
Public Sub SetFilterOverrides ( _ filterElementId As ElementId, _ overrideGraphicSettings As OverrideGraphicSettings _ ) |
Visual C++ |
---|
public: void SetFilterOverrides( ElementId^ filterElementId, OverrideGraphicSettings^ overrideGraphicSettings ) |
Parameters
- filterElementId
- Type: Autodesk.Revit.DB..::..ElementId
ElementId of the filter.
- overrideGraphicSettings
- Type: Autodesk.Revit.DB..::..OverrideGraphicSettings
The overrides to apply to the filter.
Remarks
If the filter is not currently applied to the view, this will add the filter with the assigned overrides.
Examples

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

Public Shared Sub ModifyExistingFilter(doc As Document, view As View) ' Find any filter with overrides setting cut color to Red Dim filterIdsToChange As New Dictionary(Of ElementId, OverrideGraphicSettings)() For Each filterId As ElementId In view.GetFilters() Dim overrideSettings As OverrideGraphicSettings = view.GetFilterOverrides(filterId) Dim lineColor As Color = overrideSettings.CutLineColor If lineColor.IsValid = False Then Continue For End If ' Save overrides setting the cut color to green If lineColor.Red = &Hff AndAlso lineColor.Green = &H0 AndAlso lineColor.Blue = &H0 Then overrideSettings.SetCutLineColor(New Color(&H0, &Hff, &H0)) filterIdsToChange(filterId) = overrideSettings End If Next ' Make the change to all found filters Using t As New Transaction(doc, "Change override filters") t.Start() For Each filterId As ElementId In filterIdsToChange.Keys view.SetFilterOverrides(filterId, filterIdsToChange(filterId)) Next t.Commit() End Using End Sub
Exceptions
Exception | Condition |
---|---|
Autodesk.Revit.Exceptions..::..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. |
Autodesk.Revit.Exceptions..::..ArgumentNullException | A non-optional argument was NULL |
Autodesk.Revit.Exceptions..::..InvalidOperationException | View does not belong to a project document. -or- The view type does not support Visibility/Graphics Overriddes. |