明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1852|回复: 6

请高手们帮忙看段代码

[复制链接]
发表于 2010-5-18 12:00:00 | 显示全部楼层 |阅读模式
  1.          public static void NewDrawing()
  2.         {
  3.             string strTemplatePath = "kcv.dwt";
  4.             DocumentCollection acDocMgr = Application.DocumentManager;
  5.             Document acDoc = acDocMgr.Add(strTemplatePath);
  6.             acDocMgr.MdiActiveDocument = acDoc;
  7.             Database db = acDoc.Database;
  8.             using (Transaction trans = db.TransactionManager.StartTransaction())
  9.             {
  10.                 BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);
  11.                 BlockTableRecord btr = (BlockTableRecord)trans.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);
  12.                 Circle cir = new Circle(new Point3d(1, 1, 0), Vector3d.ZAxis, 1.0);
  13.                 btr.AppendEntity(cir);
  14.                 trans.AddNewlyCreatedDBObject(cir, true);
  15.                 trans.Commit();
  16.             }
我想用上面的代码实现:以kcv.dwt为模板 新建一个文件 并在这个文件里画一个圆 ,实现不了,请大家帮忙看看该怎么改,谢谢
发表于 2010-5-18 12:41:00 | 显示全部楼层

CommandFlags.Session

 楼主| 发表于 2010-5-18 12:56:00 | 显示全部楼层

版主我 前面加上了 [CommandMethod("NewDrawing", CommandFlags.Session)]
还是不能正常运行
发表于 2010-5-18 13:00:00 | 显示全部楼层

这里可以去掉

acDocMgr.MdiActiveDocument = acDoc;

没办法试,你先看下吧

 楼主| 发表于 2010-5-18 13:07:00 | 显示全部楼层

还是不行

谢谢版主热心解答

发表于 2010-5-19 13:24:00 | 显示全部楼层
  1.         [CommandMethod("tt", CommandFlags.Session)]
  2.         public static void Test()
  3.         {
  4.             string strTemplatePath = "acad.dwt";
  5.             DocumentCollection acDocMgr = Application.DocumentManager;
  6.             Document acDoc = acDocMgr.Add(strTemplatePath);
  7.             //acDocMgr.MdiActiveDocument = acDoc;
  8.             Database db = acDoc.Database;
  9.             using (acDoc.LockDocument())
  10.             {
  11.                 using (Transaction trans = db.TransactionManager.StartTransaction())
  12.                 {
  13.                     BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);
  14.                     BlockTableRecord btr = (BlockTableRecord)trans.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);
  15.                     Circle cir = new Circle(new Point3d(1, 1, 0), Vector3d.ZAxis, 1.0);
  16.                     btr.AppendEntity(cir);
  17.                     trans.AddNewlyCreatedDBObject(cir, true);
  18.                     trans.Commit();
  19.                 }
  20.             }
  21.         }
 楼主| 发表于 2010-5-19 16:14:00 | 显示全部楼层

 谢谢版主

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 23:48 , Processed in 0.178360 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表