如何遍历图纸中所有实体
我希望能够检索图纸中我指定的类型实体信息,但不知如何遍历? acedSSGet做选择集(用过滤器) Acad::ErrorStatus es;AcDbBlockTable *pBlkTbl;
es=CurrectWorkingDWG->getBlockTable(pBlkTbl, AcDb::kForRead);
if (es!=Acad::eOk) {return;}
AcDbBlockTableRecord *pBlkTblRcd;
es = pBlkTbl->getAt(ACDB_MODEL_SPACE,pBlkTblRcd,AcDb::kForRead);
pBlkTbl->close();
if (es!=Acad::eOk) {return;}
AcDbBlockTableRecordIterator *pBlkTblRcdItr;
es=pBlkTblRcd->newIterator(pBlkTblRcdItr);
if (es!=Acad::eOk) {pBlkTblRcd->close();return;}
AcDbEntity *pEnt;
for (pBlkTblRcdItr->start();!pBlkTblRcdItr->done();pBlkTblRcdItr->step()) {
pBlkTblRcdItr->getEntity(pEnt,AcDb::kForRead);
//...........
pEnt->close();
}
pBlkTblRcd->close();
delete pBlkTblRcdItr;
看似麻烦,实际上比acedSSGet快且有效 比acedSSGet快且有效?
不能这样说? 既然要寻找指定的类型信息实体, 就要用过滤器来选择, 比如:
图面上有2000个实体,其中只有一条LINE, 就要以LINE为过滤条件,而不能遍历全部实体! 谢谢各位
页:
[1]