-
- [CommandMethod("TEST")]
- static public void DrawCircle()
- {
- ClassLibrary1.TestForm Dg = new ClassLibrary1.TestForm();
- Application.ShowModelessDialog(Dg);
- if (Dg.DialogResult== System.Windows.Forms.DialogResult.Cancel)
- {
- ed.WriteMessage("\n");
- return;
- }
- using (Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.LockDocument())
- Editor ed = Application.DocumentManager.MdiActiveDocument.Editor;
- PromptPointOptions p = new PromptPointOptions("");
- p.Message = "请选取圆心!";
- PromptPointResult result = ed.GetPoint(p);
- if (result.Status.ToString() == "OK")
- {
- Point3d centerPoint = result.Value;
- Document acDoc = Application.DocumentManager.MdiActiveDocument;
- Database acCurDb = acDoc.Database;
- using (Transaction acTrans = acDoc.TransactionManager.StartTransaction())
- {
- BlockTable acTab = acTrans.GetObject(acCurDb.BlockTableId, OpenMode.ForRead) as BlockTable;
- BlockTableRecord acBlkTblRec = acTrans.GetObject(acTab[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;
- Circle newCircle = new Circle();
- newCircle.SetDatabaseDefaults();
- newCircle.Center = centerPoint;
- newCircle.Radius = 10;
- acBlkTblRec.AppendEntity(newCircle);
- acTrans.AddNewlyCreatedDBObject(newCircle, true);
- acTrans.Commit();
- }
- }
- }
|