AcDbDatabase *m_pDb = acdbHostApplicationServices()->workingDatabase();
AcDbBlockTable *pBlkTbl = NULL;
m_pDb->getBlockTable(pBlkTbl, AcDb::kForWrite);
if (NULL == pBlkTbl)
return;
AcDbBlockTableRecord *pBlkTblRcd = NULL;
pBlkTbl->getAt(ACDB_MODEL_SPACE, pBlkTblRcd, AcDb::kForWrite);
pBlkTbl->close();
if (NULL == pBlkTblRcd)
return;
AcDbBlockTableRecordIterator *pIter;
pBlkTblRcd->newIterator(pIter);
int num = 0;
for (pIter->start();!pIter->done();pIter->step())
{
AcDbEntity *pEntity;
pIter->getEntity(pEntity, AcDb::kForWrite);
acutPrintf(_T("\nname: %s;objectId: %d;"), pEntity->isA()->name(), pEntity->objectId());
num ++;
pEntity->close();
}
delete pIter;
acutPrintf(_T("\nTotalNum: %d;"), num);
pBlkTblRcd->close();