ExternalDefinition
The ExternalDefinition object adds properties specific to Autodesk Revit shared parameter definitions.
Inheritance Hierarchy
System.Object
Autodesk.Revit.DB.Definition
Autodesk.Revit.DB.ExternalDefinition
Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public class ExternalDefinition : Definition, IDisposable
The ExternalDefinition type exposes the following members.
Properties
Name
Description
Public Property
Description
The description of the parameter. The description will be used as tooltip in the Revit UI including in the properties palette.
Public Property
GUID
Returns the GUID associated with the shared parameter definition.
Public Property
HideWhenNoValue
Indicates whether this parameter should be hidden from the properties palette when it has no value.
Public Property
IsValidObject
Specifies whether the .NET object represents a valid Revit entity.
Public Property
Name
The user visible name for the parameter.
(Overrides
Definition.Name
)Public Property
OwnerGroup
Returns or change the group ID of the external parameter definition.
Public Property
UserModifiable
Indicates whether the parameter can be modified by the user interface.
Public Property
Visible
Indicates if the parameter is visible in the Autodesk Revit user interface.
Methods
Name
Description
Public Method
Dispose
Releases all resources used by the ExternalDefinition
Public Method
Equals
Determines whether the specified object is equal to the current object.
(Inherited from Object)
Public Method
Code Example
GetDataType
Gets a ForgeTypeId identifying the data type describing values of the parameter.
(Inherited from Definition)
Public Method
GetGroupTypeId
Returns the identifier of the parameter definition’s parameter group.
(Overrides
Definition.GetGroupTypeId.
)Public Method
GetHashCode
Serves as the default hash function.
(Inherited from Object)
Public Method
GetType
Gets the Type of the current instance.
(Inherited from Object)
Public Method
ToString
Returns a string that represents the current object.
(Inherited from Object)
Remarks
The ExternalDefinition object can be created by a definition Group object from a shared parameters file. External parameter definition must belong to a Group which is nothing more than a collection of shared parameter definitions. The following process should be followed to add a parameter to an element: Open the shared parameters file, via the Application.OpenSharedParameterFile() method. Access an existing or create a new group, via the DefinitionFile.Groups property. Access an existing or create a new external parameter definition, via the DefinitionGroup.Definitions property. Create a new Binding object with the categories to which the parameter will be bound using an InstanceBinding or a TypeBinding object. Finally add the binding and definition to the document using the Document.ParameterBindings object.
Shared parameters added to elements are typically visible to interactive users. To add data to elements that is never visible to interactive users, use Extensible Storage to construct and populate the needed structured data.
Example
private void ReadEditExternalParam(DefinitionFile file){ // get ExternalDefinition from shared parameter file DefinitionGroups myGroups = file.Groups; DefinitionGroup myGroup = myGroups.get_Item("MyGroup"); if (myGroup != null) { ExternalDefinition myExtDef = myGroup.Definitions.get_Item("MyParam") as ExternalDefinition; if (myExtDef != null) { DefinitionGroup newGroup = myGroups.get_Item("AnotherGroup"); if (newGroup != null) { // change the OwnerGroup of the ExternalDefinition myExtDef.OwnerGroup = newGroup; } } }}