勾配パターンとは、勾配の方向を表すために、2 本のコリドー計画線(通常は、グレーディング計画線と法面展開線)の間の領域に適用されるパターンです。SlopePattern オブジェクトのコリドーのコレクションは、その SlopePatterns コレクションに保持されます。このコレクションには Add() メソッドもあり、2 つの CorridorFeatureLine オブジェクトと、SlopePatternStyle の ObjectId によって定義された新しい SlopePattern を追加することができます。 SlopePattern を追加した後は、その開始および終了測点を設定することができます。
この例では、既存のすべての勾配パターンがリストされ、次に新しい SlopePattern がコリドーに追加され、その測点が設定されます。
// add slope pattern CorridorFeatureLine featureLine1 = null; CorridorFeatureLine featureLine2 = null; string fl1name = "ETW"; string f2name = "Ditch_Out"; Baseline baseline = corridor.Baselines[0]; foreach (FeatureLineCollection fl in baseline.MainBaselineFeatureLines.FeatureLineCollectionMap) { foreach (CorridorFeatureLine cfl in fl) { if (cfl.CodeName == fl1name) { featureLine1 = cfl; break; } if (cfl.CodeName == f2name) { featureLine2 = cfl; break; } } } // get a style for the slope pattern: ObjectId slopePatterStyleId = _civilDoc.Styles.SlopePatternStyles["Standard"]; CorridorSlopePattern pattern = corridor.SlopePatterns.Add(featureLine1, featureLine2, slopePatterStyleId); // set the stations: _editor.WriteMessage("First station: {0} \nEnd station: {1}\n", baseline.StartStation, baseline.EndStation); pattern.StartStation = baseline.StartStation; pattern.EndStation = baseline.EndStation;