sonny_wu 发表于 2010-5-18 12:00:00

请高手们帮忙看段代码


         public static void NewDrawing()
      {
            string strTemplatePath = "kcv.dwt";
            DocumentCollection acDocMgr = Application.DocumentManager;
            Document acDoc = acDocMgr.Add(strTemplatePath);
            acDocMgr.MdiActiveDocument = acDoc;
            Database db = acDoc.Database;
            using (Transaction trans = db.TransactionManager.StartTransaction())
            {
                BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);
                BlockTableRecord btr = (BlockTableRecord)trans.GetObject(bt, OpenMode.ForWrite);
                Circle cir = new Circle(new Point3d(1, 1, 0), Vector3d.ZAxis, 1.0);
                btr.AppendEntity(cir);
                trans.AddNewlyCreatedDBObject(cir, true);
                trans.Commit();
            }我想用上面的代码实现:以kcv.dwt为模板 新建一个文件 并在这个文件里画一个圆 ,实现不了,请大家帮忙看看该怎么改,谢谢

雪山飞狐_lzh 发表于 2010-5-18 12:41:00

CommandFlags.Session

sonny_wu 发表于 2010-5-18 12:56:00


版主我 前面加上了
还是不能正常运行

雪山飞狐_lzh 发表于 2010-5-18 13:00:00

这里可以去掉
acDocMgr.MdiActiveDocument = acDoc;
没办法试,你先看下吧

sonny_wu 发表于 2010-5-18 13:07:00

还是不行
谢谢版主热心解答

雪山飞狐_lzh 发表于 2010-5-19 13:24:00


      
      public static void Test()
      {
            string strTemplatePath = "acad.dwt";
            DocumentCollection acDocMgr = Application.DocumentManager;
            Document acDoc = acDocMgr.Add(strTemplatePath);
            //acDocMgr.MdiActiveDocument = acDoc;
            Database db = acDoc.Database;
            using (acDoc.LockDocument())
            {
                using (Transaction trans = db.TransactionManager.StartTransaction())
                {
                  BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);
                  BlockTableRecord btr = (BlockTableRecord)trans.GetObject(bt, OpenMode.ForWrite);
                  Circle cir = new Circle(new Point3d(1, 1, 0), Vector3d.ZAxis, 1.0);
                  btr.AppendEntity(cir);
                  trans.AddNewlyCreatedDBObject(cir, true);
                  trans.Commit();
                }
            }
      }

sonny_wu 发表于 2010-5-19 16:14:00

谢谢版主
页: [1]
查看完整版本: 请高手们帮忙看段代码