块定义从一个图形传到当前图形

本文介绍了一种使用AutoCAD API实现从指定文件中批量导入图形块的方法。通过Wblock和Insert命令,可以将一个DWG文件中的所有非模型与图纸空间的块导入到当前图形中。
 public void btb()
        {
            
//先用Wblock 将指定文件内容传到临时db
            
//再用Insert传到当前图形

            Document doc 
= Application.DocumentManager.MdiActiveDocument;
            Database db 
= doc.Database;
            Database databaseFromFile 
= Getdb("c:\\blockbtr.dwg", System.IO.FileShare.Read, true);
            
using (Transaction tr = databaseFromFile.TransactionManager.StartTransaction())
            {
                BlockTable bt; BlockTableRecord btr;
                ArxHlb.CADEntAdd.GetBtBtr(databaseFromFile, tr, 
out bt, out btr, OpenMode.ForRead);

                
foreach (ObjectId bbtrId in bt)
                {
                    BlockTableRecord bbtr 
= tr.GetObject(bbtrId, OpenMode.ForRead) as BlockTableRecord;
                    
if (!(bbtr.Name.ToUpper().Contains("MODEL_SPACE"|| bbtr.Name.ToUpper().Contains("PAPER_SPACE")))
                    {
                        Database dbTemp 
= databaseFromFile.Wblock(bbtrId);

                        db.Insert(bbtr.Name, dbTemp, 
true);
                    }
                }
            }
        }

 

转载于:https://www.cnblogs.com/houlinbo/archive/2010/06/21/1762286.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值