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(); } }
运行结果: