- UID
- 475465
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2006-8-4
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
求助,我要保留指定图层,删除其他所以图层的时候(已经把其他图层上的所以实体删除)。为什么es返回Adesk::eInvalidOpenState
AcDbLayerTable * pLayerTbl;//定义层表指针
acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pLayerTbl, AcDb::kForWrite);
AcDbLayerTableRecord * pLayerTblRcd; //定义层表记录指针
AcDbLayerTableIterator *pLayerTblIterator;
pLayerTbl->newIterator(pLayerTblIterator);
for(;!pLayerTblIterator->done();pLayerTblIterator->step())
{
pLayerTblIterator->getRecord(pLayerTblRcd,AcDb::kForRead);
pLayerTblRcd->getName(pLayerName);
if((strcmp(pLayerName,pLayerName1)!=0)
&&(strcmp(pLayerName,pLayerName2)!=0)
&&(strcmp(pLayerName,pLayerName3)!=0)
&&(strcmp(pLayerName,pLayerName4)!=0)
&&(strcmp(pLayerName,pLayerName5)!=0)
&&(strcmp(pLayerName,"0")!=0)){
pLayerTblRcd->close();
es=pLayerTblRcd->upgradeOpen();//es在删除最后一个图层的时候返回eInvalidOpenState
pLayerTblRcd->erase(true);//删除图层
pLayerTblRcd->close();
}
}
acutDelString(pLayerName);
delete pLayerTableIterator;
pLayerTblRcd->close();
pLayerTbl->close(); |
|