手すり

手すり

Autodesk.Revit.DB.Architecture.Railing クラスは Autodesk Revit プロジェクトの手すり要素を表します。手すりは階段に関連付けられていますが、床などの別のホストに関連付けたり、スペースに配置できます。手すりは連続または非連続にすることができます。非連続の場合は、アクセス権のレベルは制限されます。

階段に関連付けられている手すりは GetAssociatedRailings()メソッドを使用して Stairs クラスから取得できます。上部手すりの ElementId を返す TopRail プロパティや手すりがフリップされた場合に表示する Flipped など、手すりに特有なプロパティとメソッドは数個だけです。Railing.Flip()メソッドは手すりをフリップし、RemoveHost()メソッドは、手すりとそのホスト間の関連付けを削除します。

次の例では、Stairs オブジェクトに関連付けられたすべての手すりを取得して、システムが生成した既定のレールである各手すりをフリップします。

コード領域: Railing を使用して作業

private void FlipDefaultRailings(Stairs stairs)
{
    ICollection<ElementId> railingIds = stairs.GetAssociatedRailings();
    Transaction trans = new Transaction(stairs.Document, "Flip Railings");
    trans.Start();
    foreach (ElementId railingId in railingIds)
    {
        Railing railing = stairs.Document.GetElement(railingId) as Railing;
        if (railing.IsDefault == true)
        {
            railing.Flip();
        }
    }
    trans.Commit();
}

Railing クラスには、階段要素のすべての面で指定された手すりタイプを使用して、新しい手すりを自動的に作成する Create メソッドがあります。Railing の作成は、「階段を作成、編集する」セクションで説明されています。

RailingType クラスは、手すりの生成に使用される手すりのタイプを表します。高さ、側面オフセット、主手すりおよび副手すりのタイプ、上部手すりなど、手すりには多くのプロパティが含まれています。

コード領域: RailingType

private void GetRailingType(Stairs stairs)
{
    ICollection<ElementId> railingIds = stairs.GetAssociatedRailings();
    foreach (ElementId railingId in railingIds)
    {
        Railing railing = stairs.Document.GetElement(railingId) as Railing;
        RailingType railingType = stairs.Document.GetElement(railing.GetTypeId()) as RailingType;

        // Format railing type info for display
        string info = "Railing Type:  " + railingType.Name;
        info += "\nPrimary Handrail Height:  " + railingType.PrimaryHandrailHeight;
        info += "\nTop Rail Height:  " + railingType.TopRailHeight;

        TaskDialog.Show("Revit", info);
    }
}