ViewSetLinkOverrides Method |
Namespace: Autodesk.Revit.DBAssembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntaxpublic void SetLinkOverrides(
ElementId linkId,
RevitLinkGraphicsSettings linkDisplaySettings
)
Public Sub SetLinkOverrides (
linkId As ElementId,
linkDisplaySettings As RevitLinkGraphicsSettings
)
public:
void SetLinkOverrides(
ElementId^ linkId,
RevitLinkGraphicsSettings^ linkDisplaySettings
)
member SetLinkOverrides :
linkId : ElementId *
linkDisplaySettings : RevitLinkGraphicsSettings -> unit
Parameters
- linkId ElementId
-
The id of the RevitLinkType or RevitLinkInstance.
- linkDisplaySettings RevitLinkGraphicsSettings
-
Settings representing all link graphic overrides in the view.
ExceptionsException | Condition |
---|
ArgumentException |
The input id is not a valid RevitLinkInstance or RevitLinkType id.
-or-
The LinkedViewId of linkDisplaySettings has incorrect value for the specified LinkVisibilityType.
-or-
The ViewFilterType of linkDisplaySettings has incorrect value.
-or-
The ViewRange of linkDisplaySettings has unsupported value.
-or-
The phase or pahse type of linkDisplaySettings has incorrect value for the specified LinkVisibilityType.
-or-
The phase filter or phase filter type of linkDisplaySettings has incorrect value for the specified LinkVisibilityType.
-or-
The view detail level or the type of view detail level of linkDisplaySettings has incorrect value for the specified LinkVisibilityType.
-or-
The discipline or the discipline type of linkDisplaySettings has incorrect value for the specified LinkVisibilityType.
-or-
The ColorFill of linkDisplaySettings has incorrect value for the specified LinkVisibilityType.
-or-
The ObjectStyles of linkDisplaySettings has incorrect value for the specified LinkVisibilityType.
-or-
The NestedLinks of linkDisplaySettings has incorrect value for the specified LinkVisibilityType.
|
ArgumentNullException |
A non-optional argument was null
|
InvalidOperationException |
The view type does not support Visibility/Graphics Overriddes.
-or-
The view does not support link graphical overrides.
|
Examplepublic static void UpdateOverridesInView(View view, ElementId linkElementId, ElementId linkedViewId, LinkVisibility visibilityType)
{
RevitLinkGraphicsSettings settings = new RevitLinkGraphicsSettings();
switch (visibilityType)
{
case LinkVisibility.ByHostView:
settings.LinkVisibilityType = LinkVisibility.ByHostView;
break;
case LinkVisibility.ByLinkView:
settings.LinkVisibilityType = LinkVisibility.ByLinkView;
settings.LinkedViewId = linkedViewId;
break;
case LinkVisibility.Custom:
settings.LinkVisibilityType = LinkVisibility.Custom;
settings.LinkedViewId = linkedViewId;
settings.ViewFilterType = LinkVisibility.Custom;
settings.ViewRange = RevitLinkGraphicsSettings.IsViewRangeSupported(view) ? LinkVisibility.ByLinkView : LinkVisibility.ByHostView;
settings.ColorFill = view.SupportedColorFillCategoryIds().Any() ? LinkVisibility.ByLinkView : LinkVisibility.ByHostView;
settings.ObjectStyles = LinkVisibility.ByLinkView;
settings.NestedLinks = LinkVisibility.ByLinkView;
settings.SetDiscipline(LinkVisibility.Custom, ViewDiscipline.Mechanical);
settings.SetPhase(LinkVisibility.Custom, ElementId.InvalidElementId);
settings.SetPhaseFilter(LinkVisibility.Custom, ElementId.InvalidElementId);
settings.SetViewDetailLevel(LinkVisibility.Custom, ViewDetailLevel.Medium);
break;
default:
throw new InvalidOperationException("Not expected visibility type.");
}
using (Transaction transaction = new Transaction(view.Document, "Set link graphical overrides"))
{
transaction.Start();
view.SetLinkOverrides(linkElementId, settings);
transaction.Commit();
}
}
See Also