グローバル パラメータを管理する

GlobalParametersManager クラスは、特定のモデルにおける一般情報とグローバル パラメータ要素のデータへのアクセスを提供します。

GlobalParametersManager は、プロジェクト ドキュメント内のグローバル パラメータの管理に使用する主要アクセス ポイントを提供します。静的なメソッドを提供し、グローバル パラメータにアクセスして順序を変更したり、名前がユニークであるかどうかを検証できるようにします。

グローバル パラメータにアクセスする

グローバル パラメータがサポートされているのはプロジェクト ドキュメント内に限られます。ファミリ ドキュメントでは、サポートされていません。ただし、プロジェクト ドキュメント内であっても、ある特定の条件下ではグローバル パラメータを一時的または永久的に使用できない場合があります。AreGlobalParametersAllowed() メソッドは、指定されたドキュメントの内部でグローバル パラメータが使用できるかどうかを示します。

グローバル パラメータがプロジェクト ドキュメント内で使用できる場合は、指定されたドキュメント内のすべてのグローバル パラメータを取得するには、GetAllGlobalParameters() メソッドを使用します。グローバル パラメータが順番に列挙されたリストを取得するには、GetGlobalParametersOrdered() メソッドを使用します。順番に列挙されたリストを取得した場合、項目の順番は Revit ユーザ インタフェース内の標準の[グローバル パラメータ]ダイアログに表示されるグローバル パラメータの順番と同じになります。

グローバル パラメータを名前順で取得するには、名前が付けられたグローバル パラメータの ElementId を返す FindByName() を呼び出します。または、指定した名前を持つグローバル パラメータが見つからない場合は、ElementId.InvalidElementId を呼び出します。グローバル パラメータ名はユニークである必要があります。したがって、新しい GlobalParameter を作成する前に、IsUniqueName() メソッドを呼び出して名前を確認しておく必要があります。

GlobalParameter の ElementId が与えられると、IsValidGlobalParameter は与えられた ElementId が有効なグローバル パラメータ ID であることを確認します。

次の例では、グローバル パラメータをドキュメント内で使用することができる場合にすべてのグローバル パラメータを取得する方法を紹介しています。

コード領域: グローバル パラメータを取得

/// <summary>
/// Returns all global parameter elements defined in the given document. 
/// </summary>
/// <param name="document">Revit project document.</param>
/// <returns>A set of ElementIds of global parameter elements</returns>
public ISet<ElementId> GetAllGlobalParameters(Document document)
{
    // Global parameters are not available in all documents.
    // They are available in projects, but not in families.
    if (GlobalParametersManager.AreGlobalParametersAllowed(document))
    {
        return GlobalParametersManager.GetAllGlobalParameters(document);
    }

    // return an empty set if global parameters are not available in the document
    return new HashSet<ElementId>();
}

グローバル パラメータの順序を変更する

GlobalParametersManager を使用すると、プロジェクト ドキュメント内のグローバル パラメータの指定された順番を変更することができます。これらの操作は、グローバル パラメータ自体には影響しません。変更した順番は、Revit 標準の[グローバル パラメータ]ダイアログにのみ表示され、GetGlobalParametersOrdered() メソッドに反映されます。

  • SortParameters() - グローバル パラメータを、それぞれのパラメータ グループの範囲内で、アルファベットの昇順と降順のいずれかで並べ替えます。
  • MoveParameterDownOrder() - 指定されたパラメータを、現在の順番の中で下に移動します。
  • MoveParameterUpOrder() - 指定されたパラメータを、現在の順番の中で上に移動します。

パラメータの移動はそのパラメータ グループ内に限られます。したがって、パラメータがパラメータ グループの境界にあるため移動できない場合、MoveParameter メソッドは「False」を返します。