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