縦断スタイルは 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 } }