删除块定义以及指定的块中块(结合上一章)
void CTest5::deleteAcDbBlockReference(CString& strBlockName)
{
// 获得当前图形数据库的块表
AcDbBlockTable *pBlkTbl;
acdbHostApplicationServices()->workingDatabase()->getBlockTable(pBlkTbl, AcDb::kForWrite);
// 创建新的块表记录
AcDbBlockTableRecord *pBlkTblRcd = NULL;
pBlkTbl->getAt(ACDB_MODEL_SPACE, pBlkTblRcd, kForRead);
pBlkTbl->close();
AcDbBlockTableRecordIterator *pIte = NULL;
Acad::ErrorStatus es;
es = pBlkTblRcd->newIterator(pIte);
AcDbEntity *pEnt = NULL;
for (pIte->start(); !pIte->done(); pIte->step())
{
pIte->getEntity(pEnt, AcDb::kForWrite);
if (pEnt->isKindOf(AcDbBlockReference::desc()))
{
AcDbBlockReference *pdBlkRec = AcDbBlockReference::cast(pEnt);
AcDbObjectId id = pdBlkRec->