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