コリドー サーフェスを追加、削除する

CorridorSurfaceCollection オブジェクトで、Add() メソッドを使用して、新しい空の CorridorSurface を追加することができます。このメソッドには、新しい CorridorSurface の名前を指定する文字列と、サーフェスに適用する CorridorSurfaceStyleStyleID (省略可能)を指定します。

CorridorSurfaces は、CorridorSurfaceCollection から Remove() または RemoveAt() メソッドを使用して削除することができます。 Remove() には、CorridorSurface の名前を指定する文字列、または CorridorSurface オブジェクト自身を指定します。RemoveAt() には、CorridorSurfaceCollection 内の削除する CorridorSurface オブジェクトのインデックスを指定する整数を指定します。

この例では、新しい CorridorSurface を作成し、指定したコリドーの CorridorSurfaces コレクションに追加します。

// prompt for the target corridor name:
String corridorName = _editor.GetString("Enter a corridor name:").StringResult;
// Get the corridor
ObjectId corridorId = _civilDoc.CorridorCollection[corridorName];
Corridor corridor = ts.GetObject(corridorId, OpenMode.ForWrite) as Corridor;

// Get a surface style to use for the new corridor surface:
ObjectId surfaceStyleId = _civilDoc.Styles.SurfaceStyles[0];
CorridorSurface corridorSurface = corridor.CorridorSurfaces.Add("New Example Corridor Surface", surfaceStyleId);

// Corridor will now be out-of-date:
_editor.WriteMessage("Corridor is out of date: {0}", corridor.IsOutOfDate);
// You can re-build, although this won't do anything in this case, since
// the new surface is empty:
corridor.Rebuild();


// Remove the new surface:
corridor.CorridorSurfaces.Remove(corridorSurface);

ts.Commit();