查看单个帖子
旧 2009-04-20, 05:40 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】一种快速导入其它文件中块的方法

一种快速导入其它文件中块的方法
www.dimcax.com
一种快速导入其它文件中块的方法
kean的文章,是利用wblockcloneobjects函数来实现的,但代码较多。其实可以使用database类的insert函数可以方便地实现这个功能。
下面的代码导入c:\\test.dwg文件中所有的块:
using (transaction trans = db.transactionmanager.starttransaction())
{
database curdb = hostapplicationservices.workingdatabase;
database sourcedb = new database(true, false);
sourcedb.readdwgfile("c:\\test.dwg", system.io.fileshare.read, true, null);
sourcedb.closeinput(true);
curdb.insert(new matrix3d(), sourcedb, false);
trans.commit();
}
复制代码
另:如果你想让c:\\test.dwg文件当作一个块被导入,则curdb.insert(new matrix3d(), sourcedb, false);改成:
curdb.insert(“test” sourcedb, false);
请老大指点。
发错贴
[
老大代码中有点问题,就是
curdb.insert(new matrix3d(), sourcedb, false);
中的new matrix3d()为0矩阵,将得到不正确的变换结果,所以模型空间中的实体看不见。
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)