Civil 3D 2013新API -- 创建空间几何点(COGO Point)

Civil 3D 2013 .net API中新引入了空间几何点相关的API,我们可以创建、修改、删除空间几何点。 类CogoPointCollection表示所有空间几何点的集合,这个类可以通过CivilApplication.ActiveDocument.CogoPoints得到。创建新的COGOPoint,调用CogoPointCollection.Add()方法即可。下面是一个代码片段:

 

    [CommandMethod("CreateCOGOPoint")]
    public void CreateCOGOPoint()
    {
      Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
      Database db = ed.Document.Database;
      CivilDocument civilDoc = CivilApplication.ActiveDocument;
      
      // Select the location for COGO Point
      PromptPointOptions ppo = new PromptPointOptions("\nSelect the location to Create a COGO Point :");
      PromptPointResult ppr = ed.GetPoint(ppo);

      if (ppr.Status != PromptStatus.OK)
        return;
      Point3d location = ppr.Value;

      //start a transaction
      using (Transaction trans = db.TransactionManager.StartTransaction())
      {

        // All points in a document are held in a CogoPointCollection object
        // We can access CogoPointCollection through the CivilDocument.CogoPoints property

        CogoPointCollection cogoPoints = CivilApplication.ActiveDocument.CogoPoints;

        // Adds a new CogoPoint at the given location with the specified description information
        ObjectId pointId = cogoPoints.Add(location, "Survey Point");
        CogoPoint cogoPoint = pointId.GetObject(OpenMode.ForWrite) as CogoPoint;

        // Set Some Properties
        cogoPoint.PointName = "Survey_Base_Point";
        cogoPoint.RawDescription = "This is Survey Base Point";

        trans.Commit();

      }
    }

运行结果:

image


Related Posts Plugin for WordPress, Blogger...