縦断スタイルを作成する

縦断スタイルは ProfileStyle 型のオブジェクトであり、縦断の外観を定義します。ドキュメント内のすべての縦断スタイルのコレクションは、CivilDocument.Styles.ProfileStyles コレクションに格納されます。このスタイルには、DisplayStyle 型のオブジェクトが含まれています。このオブジェクトは、線形の方向を示す矢印の表示と、縦断を構成する線分、線分の拡張、曲線、放物曲線の拡張、対称放物線、および非対称放物線の表示を制御します。新しい縦断スタイルのプロパティは、ドキュメントの環境設定によって定義されます。

// Illustrates creating a new profile style
[CommandMethod("CreateProfileStyle")]
public void CreateProfileStyle()
{
    doc = CivilApplication.ActiveDocument;
 
    Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
    using (Transaction ts = Application.DocumentManager.MdiActiveDocument.Database.TransactionManager.StartTransaction())
    {
        ObjectId profileStyleId = doc.Styles.ProfileStyles.Add("New Profile Style");
        ProfileStyle oProfileStyle = ts.GetObject(profileStyleId, OpenMode.ForRead) as ProfileStyle;
        oProfileStyle.GetDisplayStyleProfile(ProfileDisplayStyleProfileType.Arrow).Visible = true;
        // set to yellow:
        oProfileStyle.GetDisplayStyleProfile(ProfileDisplayStyleProfileType.Line).Color = Color.FromColorIndex(ColorMethod.ByAci, 50);
        oProfileStyle.GetDisplayStyleProfile(ProfileDisplayStyleProfileType.Line).Visible = true;
        // grey
        oProfileStyle.GetDisplayStyleProfile(ProfileDisplayStyleProfileType.LineExtension).Color = Color.FromColorIndex(ColorMethod.ByAci, 251);
        oProfileStyle.GetDisplayStyleProfile(ProfileDisplayStyleProfileType.LineExtension).Visible = true;
        // green
        oProfileStyle.GetDisplayStyleProfile(ProfileDisplayStyleProfileType.Curve).Color = Color.FromColorIndex(ColorMethod.ByAci, 80);
        oProfileStyle.GetDisplayStyleProfile(ProfileDisplayStyleProfileType.Curve).Visible = true;
        // grey
        oProfileStyle.GetDisplayStyleProfile(ProfileDisplayStyleProfileType.ParabolicCurveExtension).Color = Color.FromColorIndex(ColorMethod.ByAci, 251);
        oProfileStyle.GetDisplayStyleProfile(ProfileDisplayStyleProfileType.ParabolicCurveExtension).Visible = true;
        // green
        oProfileStyle.GetDisplayStyleProfile(ProfileDisplayStyleProfileType.SymmetricalParabola).Color = Color.FromColorIndex(ColorMethod.ByAci, 81);
        oProfileStyle.GetDisplayStyleProfile(ProfileDisplayStyleProfileType.SymmetricalParabola).Visible = true;
        // green
        oProfileStyle.GetDisplayStyleProfile(ProfileDisplayStyleProfileType.AsymmetricalParabola).Color = Color.FromColorIndex(ColorMethod.ByAci, 83);
        oProfileStyle.GetDisplayStyleProfile(ProfileDisplayStyleProfileType.AsymmetricalParabola).Visible = true;
 
        // properties for 3D should also be set
    }
}