找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1164|回复: 0

[分享] Insert Block from a different DWG using .NET

[复制链接]

已领礼包: 593个

财富等级: 财运亨通

发表于 2013-5-25 02:40:18 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
http://adndevblog.typepad.com/autocad/2012/05/insert-block-from-a-different-dwg-using-net-.htmlInsert Block from a different DWG using .NET By Virupaksha Aithal
Using the WblockCloneObjects() method, its possible to copy a particular block from a drawing in to the other drawing. The C# code snippet that shows how to use WblockCloneObjects to copy a specific block "test" from the drawing available at "C:\TEMP\test.dwg".
"C:\TEMP\test.dwg".


[CommandMethod("InsertBlock")]
static public void InsertBlock() // This method can have any name
{
    Document doc = Application.DocumentManager.MdiActiveDocument;
    using(Database OpenDb = new Database(false, true))
    {
        OpenDb.ReadDwgFile("c:\\temp\\test.dwg",
            System.IO.FileShare.ReadWrite, true, "");
        ObjectIdCollection ids = new ObjectIdCollection();
        using (Transaction tr =
                OpenDb.TransactionManager.StartTransaction())
        {
             //For example, Get the block by name "TEST"
             BlockTable bt;
             bt = (BlockTable)tr.GetObject(OpenDb.BlockTableId
                                            , OpenMode.ForRead);
             if (bt.Has("TEST"))
             {
                 ids.Add(bt["TEST"]);
             }
             tr.Commit();
        }
        //if found, add the block
        if (ids.Count != 0)
       {
            //get the current drawing database
            Database destdb = doc.Database;
            IdMapping iMap = new IdMapping();
            destdb.WblockCloneObjects(ids, destdb.BlockTableId
                   ,iMap,DuplicateRecordCloning.Ignore, false);
        }
    }
}

评分

参与人数 1D豆 +2 收起 理由
ScmTools + 2 很给力,资料分享奖!

查看全部评分

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2024-11-17 22:47 , Processed in 0.184427 second(s), 32 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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