縦断ビューを作成する

ProfileView クラスには、図面に新規 ProfileView オブジェクトを追加するための 2 つのバージョンの Profil View::Create() メソッドがあります。各メソッド オーバーロードは、CivilDrawing オブジェクトへの参照、新規縦断ビューの名前、および縦断ビューが挿入された図面内の Point3d の場所を取得します。これら 2 つのバージョンは、帯セット スタイルと線形も取得します。一方のバージョンは、線形を ObjectId として取得し、もう一方のバージョンは、文字列として取得します。

この例では、新規 ProfileView の作成について説明します。

[CommandMethod("CreateProfileView")]
public void CreateProfileView()
{
    doc = CivilApplication.ActiveDocument;
    Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
    using (Transaction ts = Application.DocumentManager.MdiActiveDocument.Database.TransactionManager.StartTransaction())
    {
        // Ask the user to select an alignment 
        PromptEntityOptions opt = new PromptEntityOptions("\nSelect an Alignment");
        opt.SetRejectMessage("\nObject must be an alignment.\n");
        opt.AddAllowedClass(typeof(Alignment), false);
        ObjectId alignID = ed.GetEntity(opt).ObjectId;
        // Create insertion point:
        Point3d ptInsert = new Point3d(100, 100, 0);
        // Get profile view band set style ID:
        ObjectId pfrVBSStyleId = doc.Styles.ProfileViewBandSetStyles["Standard"];
        // If this doesn't exist, get the first style in the collection
        if (pfrVBSStyleId == null) pfrVBSStyleId = doc.Styles.ProfileViewBandSetStyles[0];
        ObjectId ProfileViewId = ProfileView.Create(doc, "New Profile View", pfrVBSStyleId, alignID, ptInsert);
        ts.Commit();
    }
}