- UID
- 341156
- 积分
- 0
- 精华
- 贡献
-
- 威望
-
- 活跃度
-
- D豆
-
- 在线时间
- 小时
- 注册时间
- 2005-10-24
- 最后登录
- 1970-1-1
|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
各位大虾,小弟在遍历选择集时遇到麻烦了。当选择集里包含MTEXT类型的实体时,CAD始终在计算但没有什么反应了,基本上是程序未响应状态,这是为什么?
ads_name slEnt;
struct resbuf *ebuf, *eb;
long i=0;
if(acedSSName(slTable,i,slEnt)==RTNORM)
{//5
ebuf=acdbEntGet(slEnt); //当slEnt为MTEXT时,程序停在这里了
...
}//5
故此我又做了过滤处理,把MTEXT过滤掉,但是我想这样MTEXT不就漏选了吗?所以第一次先预选,不用过滤,但不读取实体,第二次,用参数P选取加上过滤条件,得到不包含MTEXT的实体集,第三次怎样把仅有MTEXT的实体选取出来呢,好像参数P以不生效了。
另外,我发现个奇怪的现象,就是刚开始,两个都用参数P都能选取成功,后来出现一次错误后,就再也没用了。而且,对MTEXT实体单独处理时,用
AcDbObjectId eId;
if(acdbGetObjectId(eId,slEnt)==Acad::eOk)
{//6
AcDbMText *pEnt;
acdbOpenObject(pEnt, eId,AcDb::kForRead);
pEnt->contents();//这个地方有时候cad2006好像也没反应
...
} |
|