明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1107|回复: 4

一个DWG追加到另外一个DWG,都是包含内容的

[复制链接]
发表于 2015-10-23 15:06:20 | 显示全部楼层 |阅读模式

一个DWG追加到另外一个DWG,Wblock可否实现,书上代码可以实现新建一个DWG,然后复制进去,可是我两个DWG都是已有的图形,怎么实现?


发表于 2015-10-23 22:21:08 | 显示全部楼层
这个是个混合区,不知道你所用那种语言,什么方式,不标明,很难说清楚。。
发表于 2015-10-24 17:14:29 | 显示全部楼层
Document.Database->获取他的数据库.
发表于 2015-10-24 17:16:01 | 显示全部楼层
  1.         /// <summary>
  2.         /// 从源数据库复制块到指定的数据库.
  3.         /// </summary>
  4.         /// <param name="sourceDb"></param>
  5.         /// <param name="db"></param>
  6.         /// <param name="blockName"></param>
  7.         /// <param name="bReplace"></param>
  8.         /// <returns></returns>
  9.         public static ObjectId importBlock(Database sourceDb, Database db, string blockName, bool bReplace,DuplicateRecordCloning Cloing = DuplicateRecordCloning.Replace)
  10.         {
  11.             //返回Id
  12.             ObjectId destId = ObjectId.Null;
  13.             //对照关系
  14.             IdMapping idmap;
  15.             using (Transaction sourceTr = sourceDb.TransactionManager.StartTransaction())
  16.             {
  17.                 //块表
  18.                 BlockTable sourceBt = sourceTr.GetObject(sourceDb.BlockTableId, OpenMode.ForRead) as BlockTable;
  19.                 if (sourceBt.Has(blockName))
  20.                 {
  21.                     ObjectId sourceId = sourceBt[blockName];
  22.                     idmap = new IdMapping();
  23.                     sourceDb.WblockCloneObjects(new ObjectIdCollection(new[] { sourceId }), db.BlockTableId, idmap, Cloing, false);
  24.                     destId = idmap[sourceId].Value;
  25.                     idmap.Dispose();
  26.                 }
  27.                 //销毁对象
  28.                 sourceBt.Dispose();
  29.                 sourceTr.Commit();
  30.             }
  31.             //返回
  32.             return destId;
  33.         }
 楼主| 发表于 2015-10-26 09:27:15 | 显示全部楼层
db.WblockCloneObjects(ids,blkrec.ObjectId, map, DuplicateRecordCloning.Ignore, false);
实现了,可是是在 db 中,怎么转化到当前文档显示呢?
                           
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 08:21 , Processed in 0.268876 second(s), 28 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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