c++ objectarx二次开发删除指定图层下所有实体
时间: 2023-12-24 15:05:34 浏览: 44
您好,针对您的问题,可以使用以下代码实现删除指定图层下所有实体的功能:
```
// 获取指定图层
AcDbLayerTable* pLayerTable;
acdbHostApplicationServices()->workingDatabase()->getLayerTable(pLayerTable, AcDb::kForRead);
AcDbLayerTableRecord* pLayerTableRecord;
if (pLayerTable->getAt(layerName, pLayerTableRecord, AcDb::kForWrite) == Acad::eOk)
{
// 遍历图层下的所有实体并删除
AcDbBlockTable* pBlockTable;
acdbHostApplicationServices()->workingDatabase()->getBlockTable(pBlockTable, AcDb::kForRead);
AcDbBlockTableRecord* pModelSpaceRecord;
if (pBlockTable->getAt(ACDB_MODEL_SPACE, pModelSpaceRecord, AcDb::kForWrite) == Acad::eOk)
{
// 遍历模型空间下的所有实体
AcDbBlockTableRecordIterator* pIterator;
pModelSpaceRecord->newIterator(pIterator);
for (; !pIterator->done(); pIterator->step())
{
AcDbEntity* pEntity;
if (pIterator->getEntity(pEntity, AcDb::kForWrite) == Acad::eOk)
{
if (pEntity->layerId() == pLayerTableRecord->objectId())
{
// 删除实体
pEntity->erase();
}
pEntity->close();
}
}
delete pIterator;
pModelSpaceRecord->close();
}
pLayerTableRecord->close();
}
pLayerTable->close();
```
请将 `layerName` 替换为您需要删除实体的图层名。同时需要注意该代码仅适用于 ObjectARX 二次开发环境下。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)