Share

View.GetLinkOverrides Method

Gets the graphic overrides of a RevitLinkType or RevitLinkInstance in view.


Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 26.1.0.0 (26.1.0.34)

Syntax

C#

public RevitLinkGraphicsSettings GetLinkOverrides(
	ElementId linkId
)

Parameters

linkId  ElementId
The id of the RevitLinkType or RevitLinkInstance.

Return Value

RevitLinkGraphicsSettings
Settings representing graphic overrides for the input element id in the view, or nullptr if the input id references RevitLinkInstance and it doesn't have overrides in the view.

Exceptions

ExceptionCondition
ArgumentException The input id is not a valid RevitLinkInstance or RevitLinkType id.
ArgumentNullException A non-optional argument was null

Example

C#

public static void PrintLinkOverridesInView(View view)
{
    var ids = new FilteredElementCollector(view.Document)
                  .WhereElementIsElementType()
                  .OfType<RevitLinkType>()
                  .Select(link => link.Id)
                  .ToList();

    ids.AddRange(new FilteredElementCollector(view.Document)
                     .WhereElementIsNotElementType()
                     .OfType<RevitLinkInstance>()
                     .Select(link => link.Id)
                     .ToList());

    StringBuilder message = new StringBuilder();
    message.AppendLine("View: " + view.Id.ToString());
    foreach(ElementId id in ids)
    {
        message.AppendLine("Element Id in the view: " + id.ToString());

        RevitLinkGraphicsSettings settings = view.GetLinkOverrides(id);
        if (settings == null)
        {
            message.AppendLine("It doesn't have graphical overrides in the view.");
            continue;
        }

        message.AppendLine("    LinkVisibilityType " + settings.LinkVisibilityType);
        message.AppendLine("    LinkedView: " + settings.LinkedViewId.Value.ToString());
        message.AppendLine("    ViewFilterType: " + settings.ViewFilterType);
        message.AppendLine("    ViewRange: " + settings.ViewRange);
        message.AppendLine("    ColorFill: " + settings.ColorFill);
        message.AppendLine("    ObjectStyles: " + settings.ObjectStyles);
        message.AppendLine("    NestedLinks: " + settings.NestedLinks);

        message.AppendLine(string.Format("    Discipline has type {0} and value: {1}",
                                         settings.GetDisciplineType(), settings.GetDiscipline()));
        message.AppendLine(string.Format("    Phase has type {0} and value: {1}",
                                         settings.GetPhaseType(), settings.GetPhaseId().ToString()));
        message.AppendLine(string.Format("    PhaseFilter has type {0} and value: {1}",
                                         settings.GetPhaseFilterType(), settings.GetPhaseFilterId().ToString()));
        message.AppendLine(string.Format("    ViewDetailLevel has type {0} and value: {1}",
                                         settings.GetViewDetailLevelType(), settings.GetViewDetailLevel()));
    }

    TaskDialog.Show("Link Overrides report", message.ToString());
}

See Also

Reference

Was this information helpful?