版权声明:yunyou.ke.qq.com 版权所有,转载请注明 https://blog.csdn.net/yunyouxy/article/details/83041877
C++ ARX遍历AutoCAD图形数据库的代码:
void FindObjectId(AcDbObjectId & objId)
{
AcDbDatabase * pDb = acdbHostApplicationServices()->workingDatabase();
AcDbBlockTable *pBlockTable;
pDb->getBlockTable(pBlockTable, AcDb::kForRead);
AcDbBlockTableRecord *pBlockTableRecord;
pBlockTable->getAt(ACDB_MODEL_SPACE, pBlockTableRecord, AcDb:: kForRead);
pBlockTable->close();
AcDbBlockTableRecordIterator *pIter;
pBlockTableRecord- >newIterator(pIter); // Create an iterator
for (pIter->start(); !pIter->done(); pIter->step())
{
….........
AcDbEntity *pEntity;
if (pIter->getEntity(pEntity, AcDb::kForRead) != Acad::eOk) continue;
If(pEntity->isKindOf(AcDbCircle::desc()) objId = pEntity->ObjectId();
}
pBlockTableRecord- >close();
}