明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2808|回复: 1

[求助]删除图层问题

[复制链接]
发表于 2009-12-2 17:07:00 | 显示全部楼层 |阅读模式

DeleteAllLayer(void)
{
 //删除所有图层上的所有实体
    DellayerALL();
 //把0层设为当前层
 SetCLayer(L"0",true);
 //获得0层id
 AcDbObjectId baselayerId;//layername图层的ID
 
 AcDbLayerTable *pLyrTable;
 AcDbLayerTableIterator *pLyrTblIterator;
 AcDbObjectId recId;
    ads_name entname;
 Acad::ErrorStatus es;
 AcDbDatabase *pCurDb = NULL;

 pCurDb = acdbHostApplicationServices()->workingDatabase();


 es =pCurDb->getLayerTable(pLyrTable, AcDb::kForRead);//获取层表记录
 pLyrTable->getAt(L"0",baselayerId);
 es =pLyrTable->newIterator(pLyrTblIterator);
 
 for(pLyrTblIterator->start();!pLyrTblIterator->done();pLyrTblIterator->step())
 {
  int j=pLyrTblIterator->getRecordId(recId);
         if(baselayerId==recId)
    continue; //0层跳过
  es =acdbGetAdsName(entname,recId);
 
  acdbEntDel(entname);
  if (recId.isErased()==TRUE)
  {
    CString str;
   
   acutPrintf(L"%s\n对象给我们删除了\n",entname);
  }
  else{
   acutPrintf(L"\n%s对象存在\n",entname);
  }

   
 }
 delete pLyrTblIterator;
 pLyrTable->close();
 return Acad::ErrorStatus();
}

删除所有图层为什么删不掉啊?

发表于 2009-12-3 14:48:00 | 显示全部楼层

图层的删除需要注意如下几点:

1、0层不能被删除;
2、当前层不能被删除;
3、如果某个图层被某个块引用,那么那个层也不能被删除。

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

本版积分规则

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

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

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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