図形からサブ アセンブリを追加する

CivilDocument.SubassemblyCollection's Add() メソッドを使用して、サブアセンブリ オブジェクトを図形からドキュメントのサブアセンブリのコレクションに追加することができます。サブアセンブリの作成に使用できる有効な図形タイプは、ポリライン、ポリライン 3D、ポリライン 2D、フィーチャ、面、線分、円、円弧、楕円、スプライン オブジェクトです。このメソッドには、新しい Subassembly オブジェクトの名前(文字列)、AutoCAD 図形の ObjectId、曲線を小分割する中央縦距の距離(存在する場合)、および Subassembly のリンク作成動作を指定する LinkCreationType 列挙型を指定します。これらのオプションの詳細は、「ポリラインからサブアセンブリを作成する」を を参照してください

次の例では、ユーザが選択したポリラインから新しいサブアセンブリが作成され、Subassembly コレクションが反復されます。

ObjectId polylineId = promptForEntity("Select a polyline to add as a subassembly.\n", typeof(Polyline));
SubassemblyCollection subassemblyCollection = _civildoc.SubassemblyCollection;
ObjectId newSubassemblyId = subassemblyCollection.Add("New Subassembly", polylineId, 1.0, LinkCreationType.Single);

// iterate through all subassemblies, and show the new subassembly in the collection:
foreach (ObjectId saId in _civildoc.SubassemblyCollection)
{
    Subassembly sa = ts.GetObject(saId, OpenMode.ForRead) as Subassembly;
    _editor.WriteMessage("Subassembly : {0}\n", sa.Name);
}