乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 12|回复: 0

为何删除外部文件中的块无效?

[复制链接]

14

主题

39

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
96
发表于 2018-12-8 20:24:00 | 显示全部楼层 |阅读模式
最近有一个问题一只没有搞定,我有一段删除块的代码,如果文件已经打开,代码没有任何问题,如果是用来删除外部文件的话,就没用,下面是代码:
  1.         public static bool DeleteBlock(string path, string fileName, string blockName)
  2.         {
  3.             bool result;
  4.             using (Database db = new Database(false, true))
  5.             {
  6.                 db.ReadDwgFile(path + "\" + fileName, System.IO.FileShare.Read, false, "");
  7.                 db.CloseInput(true);
  8.                 result = db.DeleteBlock(blockName);
  9.                 db.SaveAs(fileName, DwgVersion.AC1024);
  10.             }
  11.             return result;
  12.         }
  1.         public static bool DeleteBlock(this Database db, string blockName)
  2.         {
  3.             try
  4.             {
  5.                 using (Transaction tr = db.TransactionManager.StartTransaction())
  6.                 {
  7.                     BlockTable bt = tr.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;
  8.                     if (!bt.Has(blockName))
  9.                     {
  10.                         return false;
  11.                     }
  12.                     BlockTableRecord btr = tr.GetObject(bt[blockName], OpenMode.ForWrite) as BlockTableRecord;                    
  13.                     btr.Erase(false);                    
  14.                     tr.Commit();
  15.                 }
  16.             }
  17.             catch (Exception ex)
  18.             {
  19.                 throw ex;
  20.             }
  21.             return true;
  22.         }

而且我还发现一个问题, 如果随便打开这个文件下的另外一个文件后, 再删除又成功了,  完全不知道问题出在哪里;下面是动图,有一点大(1.5M)要等一下才可以显示

iytp5tdweud.gif

iytp5tdweud.gif


图片中 我新建一个块到Drawing2这个文件里面, 然后直接删除,是删除失败的,  然后我又打开同级目录下面的另外一个文件,打开后不做任何操作,  再删除,就可以成功删除了,
望路过的高手不吝赐教, 非常感谢!!!
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-3-13 02:24 , Processed in 0.497331 second(s), 57 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表