数据库中的块表类,块表中存放着块表记录,我们常见的模型空间就是块表中名为*Model_Space 的块表记录
class McDbBlockTable : public McDbSymbolTable;
McDbSymbolTable.h
例如:遍历块表中所有的块表记录
void GetAllBlockRecord() { // 读方式打开块表对象 McDbBlockTablePointer spBlkTabl(acdbCurDwg(),McDb::kForRead); if(spBlkTabl.openStatus() != Mcad::eOk) return; // 创建一个遍历器,准备遍历块表 McDbBlockTableIterator* pIterator = NULL; spBlkTabl->newIterator(pIterator); if(pIterator == NULL) return; // 把遍历器的指针交给智能指针管理 std::auto_ptr<McDbBlockTableIterator> spIterator(pIterator); // 遍历所有记录 for(;!pIterator->done();pIterator->step()) { McDbObjectId id; pIterator->getRecordId(id); // 读方式打开记录 McDbObjectPointer<McDbBlockTableRecord> spBlkRec(id,McDb::kForRead); if(spBlkRec.openStatus() != Mcad::eOk) continue; LPCTSTR pszName = NULL; spBlkRec->getName(pszName); CString sT; sT.Format(_T("发现块表记录名:%s"),pszName); AfxMessageBox(sT); } };