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); } } |