Skip to content

ExternalResourceReference

Public Class

This class identifies an external resource provided by an IExternalResourceServer.

Inheritance Hierarchy

System.Object
Autodesk.Revit.DB.ExternalResourceReference

Namespace: Autodesk.Revit.DB

Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)

Syntax

public class ExternalResourceReference : IDisposable

The ExternalResourceReference type exposes the following members.

Constructors

Name

Description


Public Method
ExternalResourceReference(ExternalResourceReference)

Creates a new ExternalResourceReference from the given ExternalResourceReference.


Public Method
ExternalResourceReference(Guid, IDictionary.String, String., String, String)

Creates a new ExternalResourceReference from the given data.


Properties

Name

Description


Public Property

The path stores the full display path which includes the server name plus the path provided by ExternalResourceServer.

The path that Revit will present for user recognizing and browsing to this resource during one session of Revit.

This property allows ExternalResourceServers to handle cases where the path to a resource may vary between Revit sessions. For example, if this ExternalResourceReference refers to a resource in a folder, this property can be used to store the current path of the resource. If the resource is moved to another folder later, the ExternalResourceServer could calculate the correct path for the resource from resource identification information when it is loaded and store it in this property, so that it will work correctly even if the rvt file is opened in a different location.

Do not rely on this path to look up an ExternalResourceReference, as the path is neither unique nor stable. It isn’t unique because multiple servers might use the same server name and display name format. It isn’t stable because some servers allow renaming, and because a server might change its name at some point.


Public Property
IsValidObject

Specifies whether the .NET object represents a valid Revit entity.


Public Property

The id of the server that Revit is expecting to provide the external resource.


Public Property

The version of the external data that was most recently loaded in Revit.


Methods

Name

Description


Public Method
Static Member

Creates an ExternalResourceReference representing a local file managed by Revit’s built-in server.


Public Method

Releases all resources used by the ExternalResourceReference


Public Method

Equals

Determines whether the specified object is equal to the current object.
(Inherited from Object)


Public Method

GetHashCode

Serves as the default hash function.
(Inherited from Object)


Public Method

Returns a copy of an object containing previously-stored reference or lookup information about the specific resource provided by the server.


Public Method
GetResourceShortDisplayName

Gets the short display name of the external resource.


Public Method
GetResourceVersionStatus

Checks whether this ExternalResourceReference corresponds to the current version of the resource.


Public Method

GetType

Gets the Type of the current instance.
(Inherited from Object)


Public Method
HasValidDisplayPath

Checks whether this external Resource has a valid display path.


Public Method
IsValidReference

Checks whether the reference is in a valid format.


Public Method

ToString

Returns a string that represents the current object.
(Inherited from Object)


Remarks

The class contains:

  • The id of the IExternalResourceServer from which the resource was obtained.
  • A (String, String) map containing information that is meaningful to the server for accessing the desired data. This could be something as simple as “4” to indicate that Revit wants option 4 from a range of several choices, or something more detailed, such as a filename or directory path.
  • A String indicating the version of the resource that was most recently loaded in Revit.
  • A (String, String) map containing “in session” information that is meaningful to the server, but which does not need to be saved permanently in the document on disk.

When calling an IExternalResourceServer, Revit will provide an ExternalResourceReference to identify the specific resource that Revit is using from that server. The server can then use the relevant information in the (String, String) maps to retrieve the data from the correct source.