GlobalParametersManager.IsUniqueName Method

GlobalParametersManagerIsUniqueName Method

Tests whether a name is unique among existing global parameters of a given document.

Namespace: Autodesk.Revit.DB
Assembly: RevitAPI (in RevitAPI.dll) Version: 25.0.0.0 (25.0.0.0)
Syntax
public static bool IsUniqueName(
	Document document,
	string name
)
Public Shared Function IsUniqueName ( 
	document As Document,
	name As String
) As Boolean
public:
static bool IsUniqueName(
	Document^ document, 
	String^ name
)
static member IsUniqueName : 
        document : Document * 
        name : string -> bool 

Parameters

document  Document
Document in which a new parameter is to be added.
name  String
A name of a parameter being added.

Return Value

Boolean
True if the given %name% does not exist yet among existing global parameters nof the document; False otherwise.
Exceptions
ExceptionCondition
ArgumentNullException A non-optional argument was null
Remarks
Typically, this method is used before a new global parameters is created, for all global parameters must have their names unique in the scope of a document.
Example
/// <summary>
/// Creates or finds a global parameter of a given name. 
/// </summary>
/// <param name="document">Revit project document.</param>
/// <param name="name">Name of a global parameter.</param>
/// <returns>An Element Id of the global parameter</returns>
public GlobalParameter GetOrCreateAGlobalParameter(Document document, String name)
{
    GlobalParameter gp = null;

    // Global parameters are not available in all documents.
    // They are available in projects, but not in families.
    if (GlobalParametersManager.AreGlobalParametersAllowed(document))
    {
        if (GlobalParametersManager.IsUniqueName(document,name))
        {
            // if the name is not unique, the global parameter must exist already
            gp = document.GetElement(GlobalParametersManager.FindByName(document, name)) as GlobalParameter;
        }
        else
        {
            // A global parameter with such a name does not exist yet;
            // Let's create a new one (assume the type is Number)
            using (Transaction trans = new Transaction(document, "Create Global Parameter"))
            {
                trans.Start();
                gp = GlobalParameter.Create(document,name, SpecTypeId.Number);
                trans.Commit();
            }
        }
    }

    return gp;
}
' <summary>
' Creates or finds a global parameter of a given name. 
' </summary>
' <param name="document">Revit project document.</param>
' <param name="name">Name of a global parameter.</param>
' <returns>An Element Id of the global parameter</returns>
Public Function GetOrCreateAGlobalParameter(document As Document, name As [String]) As GlobalParameter
    Dim gp As GlobalParameter = Nothing

    ' Global parameters are not available in all documents.
    ' They are available in projects, but not in families.
    If GlobalParametersManager.AreGlobalParametersAllowed(document) Then
        If GlobalParametersManager.IsUniqueName(document, name) Then
            ' if the name is not unique, the global parameter must exist already
            gp = TryCast(document.GetElement(GlobalParametersManager.FindByName(document, name)), GlobalParameter)
        Else
            ' A global parameter with such a name does not exist yet;
            ' Let's create a new one (assume the type is Number)
            Using trans As New Transaction(document, "Create Global Parameter")
                trans.Start()
          gp = GlobalParameter.Create(document, name, SpecTypeId.Number)
          trans.Commit()
            End Using
        End If
    End If

    Return gp
End Function

No code example is currently available or this language may not be supported.

No code example is currently available or this language may not be supported.

See Also