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