明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2386|回复: 4

如何遍历图纸中所有实体

[复制链接]
发表于 2005-1-14 10:49:00 | 显示全部楼层 |阅读模式
我希望能够检索图纸中我指定的类型实体信息,但不知如何遍历?
发表于 2005-1-14 12:32:00 | 显示全部楼层

回复

acedSSGet做选择集(用过滤器)
发表于 2005-1-15 00:22:00 | 显示全部楼层
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快且有效
发表于 2005-1-15 00:36:00 | 显示全部楼层

回复

比acedSSGet快且有效?


不能这样说? 既然要寻找指定的类型信息实体, 就要用过滤器来选择, 比如:


图面上有2000个实体,其中只有一条LINE, 就要以LINE为过滤条件,而不能遍历全部实体!

 楼主| 发表于 2005-1-20 08:29:00 | 显示全部楼层
谢谢各位
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-26 08:42 , Processed in 0.154441 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表