明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 1321|回复: 1

[图元] 绘制实体时发生eAlreadyInDb异常,求教

[复制链接]
发表于 2015-4-8 21:55:30 | 显示全部楼层 |阅读模式
首先读取一个dwg文件中的实体到List<Entity>集合,再将其添加到当前模型空间,但是提示eAlreadyInDb,求教各位大神
  1.             Database db = HostApplicationServices.WorkingDatabase;
  2.             List<Entity> entities = ReadIn("D://sourcefiles//zz2.dwg");
  3.             ObjectId entityId = ObjectId.Null;
  4.             //插入对象

  5.             using (Transaction trans = db.TransactionManager.StartTransaction())
  6.             {
  7.                 BlockTable bt = (BlockTable)trans.GetObject(db.BlockTableId, OpenMode.ForRead);
  8.                 BlockTableRecord modelSpace = (BlockTableRecord)trans.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite);
  9.                
  10.                 foreach(Entity entity in entities)
  11.                 {
  12.                     entityId = modelSpace.AppendEntity(entity);// ------ ----eAlreadyInDb异常
  13.                     trans.AddNewlyCreatedDBObject(entity, true);
  14.                 }
  15.                 trans.Commit();
  16.             }
发表于 2015-4-8 23:25:55 | 显示全部楼层
eAlreadyInDb,实体已经在别的Db里了 你偏要再加到其他Db,,,
你这种情况,用Clone或者WblockCloneObjects
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-11-25 10:31 , Processed in 0.153978 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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