2027 Class
Changes 5
C

ExternalDefinition

Description:
The ExternalDefinition object adds properties specific to Autodesk Revit shared parameter definitions.
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.

Inheritance Hierarchy:
System.Object
  Autodesk.Revit.DB.Definition
    Autodesk.Revit.DB.ExternalDefinition
public class ExternalDefinition : Definition, 
	IDisposable
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;
             }
         }
    }
}
Name Return Type Description Inherited From
M Dispose() None Releases all resources used by the ExternalDefinition
M Equals None Determines whether the specified object is equal to the current object. (Inherited from Object ) Object
M GetDataType() ForgeTypeId Gets a ForgeTypeId identifying the data type describing values of the parameter. (Inherited from Definition ) Definition
M GetGroupTypeId() ForgeTypeId Returns the identifier of the parameter definition's parameter group. (Overrides Definition . GetGroupTypeId () )
M GetHashCode None Serves as the default hash function. (Inherited from Object ) Object
M GetType None Gets the Type of the current instance. (Inherited from Object ) Object
M ToString None Returns a string that represents the current object. (Inherited from Object ) Object
Name Return Type Description Inherited From
P Description string The description of the parameter. The description will be used as tooltip in the Revit UI including in the properties palette.
P GUID Guid Returns the GUID associated with the shared parameter definition.
P HideWhenNoValue bool Indicates whether this parameter should be hidden from the properties palette when it has no value.
P IsValidObject Boolean Specifies whether the .NET object represents a valid Revit entity.
P Name string The user visible name for the parameter. (Overrides Definition . Name )
P OwnerGroup DefinitionGroup Returns or change the group ID of the external parameter definition.
P UserModifiable bool Indicates whether the parameter can be modified by the user interface.
P Visible bool Indicates if the parameter is visible in the Autodesk Revit user interface.