Ejemplo n.º 1
0
        public void AddTriangle()
        {
            Database db = HostApplicationServices.WorkingDatabase;

            using (Transaction trans = db.TransactionManager.StartTransaction())
            {
                BlockTable       bt  = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);
                BlockTableRecord btr = (BlockTableRecord)trans.GetObject(db.CurrentSpaceId, OpenMode.ForWrite);

                // 提示用户拾取三点
                Point3d pt1 = new Point3d();
                Point3d pt2 = new Point3d();
                Point3d pt3 = new Point3d();
                if (GetPoint("\n输入起点:", out pt1) &&
                    GetPoint("\n输入终点:", pt1, out pt2) &&
                    GetPoint("\n输入终点:", pt2, out pt3))
                {
                    MgTriangle triangle = new MgTriangle(pt1, pt2, pt3);
                    double     area     = triangle.Area;
                    btr.AppendEntity(triangle);
                    trans.AddNewlyCreatedDBObject(triangle, true);

                    Editor ed = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;
                    ed.WriteMessage("\n三角形的面积:{0}", area);

                    trans.Commit();
                }
            }
        }
Ejemplo n.º 2
0
        public void test()
        {
            Database db = HostApplicationServices.WorkingDatabase;
            Editor   ed = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;

            PromptEntityOptions opt = new PromptEntityOptions("\n请选择对象");
            PromptEntityResult  res = ed.GetEntity(opt);

            using (Transaction trans = db.TransactionManager.StartTransaction())
            {
                Entity ent = trans.GetObject(res.ObjectId, OpenMode.ForWrite) as Entity;
                if (ent is MgTriangle)
                {
                    MgTriangle triangle = ent as MgTriangle;
                    triangle.ColorIndex = 1;

                    trans.Commit();
                }
            }
        }