乐筑天下

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

[求助]删除图层问题

[复制链接]

11

主题

21

帖子

1

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
65
发表于 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();
}
删除所有图层为什么删不掉啊?

                               
登录/注册后可看大图

回复

使用道具 举报

2

主题

165

帖子

6

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
173
发表于 2009-12-3 14:48:00 | 显示全部楼层
图层的删除需要注意如下几点:
1、0层不能被删除;
2、当前层不能被删除;
3、如果某个图层被某个块引用,那么那个层也不能被删除。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-5 21:52 , Processed in 0.146302 second(s), 56 queries .

© 2020-2025 乐筑天下

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