コリドー リージョンは、BaselineRegionCollection タイプのコレクションで、基線の BaselineRegions プロパティに保持されます。 Add() および Remove() メソッドを使用して、このコレクションにリージョンを追加したり除去することができます。Add() メソッドには 4 種類があり、いずれも新しいリージョンの名前、および、リージョンの作成に使用するドキュメント Assembly の名前(文字列)または ObjectId のいずれかを指定します。2 種類は、リージョンの開始測点と終了測点を指定します。測点を指定しなければ、リージョンは基線全体に適用されるとみなされます。リージョンはオーバーラップできません。基線内の既存のリージョンにオーバーラップするようなリージョンを追加しようとすると、Add() メソッドは失敗します。
次の例では、指定したコリドーから基線を取得し、リージョンに関するいくつかの情報を出力します。次に、リージョンを削除し、2 つの新しいリージョンを追加します。
// use on a document with at least one alignment, and one profile for the alignment, // and a baseline with a BaselineRegion defined. // EG: Corridor-5b.dwg in the tutorials directory string corridorName = "Corridor - (1)"; Corridor corridor = ts.GetObject(_civildoc.CorridorCollection[corridorName], OpenMode.ForWrite) as Corridor; // get first baseline in corridor Baseline baseline = corridor.Baselines[0]; BaselineRegion baselineRegion = baseline.BaselineRegions[0]; // print out some properties for this baseline region: _editor.WriteMessage("Baseline region name: {0} start station: {1} end station: {2}", baselineRegion.Name, baselineRegion.StartStation, baselineRegion.EndStation); // Remove the existing baseline region baseline.BaselineRegions.Remove(baselineRegion); // Add two new baseline regions // This will fail if there is already a baselineRegion for the same start-end station range ObjectId assemblyId = _civildoc.AssemblyCollection[0]; baseline.BaselineRegions.Add("New Region1", assemblyId, baseline.StartStation, baseline.EndStation / 2); baseline.BaselineRegions.Add("New Region2", assemblyId, baseline.EndStation / 2, baseline.EndStation);