查看单个帖子
旧 2009-04-14, 03:14 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】arx 选择的 一个很古怪的问题

arx 选择的 一个很古怪的问题
arx 选择的 一个很古怪的问题
我用 acedssget()去选择一个区域内的实体
当我在前面不加入
acdbintarray m_offflag;
acdbintarray m_frozenflag;
acdbintarray m_lockedflag;
acdblayertable *playertable;
acdblayertablerecord* prec;
acdbcurdwg()->getlayertable(playertable, acdb::kforwrite) ;
acdblayertableiterator* piterator;
playertable->newiterator(piterator);
for(piterator->start();!piterator->done();piterator->step())
{
piterator->getrecord(prec, acdb::kforwrite);
m_offflag.append(prec->isoff()) ;
m_frozenflag.append(prec->isfrozen()) ;
m_lockedflag.append(prec->islocked()) ;
if(prec->isoff())
prec->setisoff(adesk::kfalse);
//if(prec->isfrozen())
//prec->setisfrozen(adesk::kfalse);
if(prec->islocked())
prec->setislocked(adesk::kfalse);
prec->close();
}
delete piterator;
playertable->close();
的时候 选择的结果是正确的
可是当加入上面的//if(prec->isfrozen())
//prec->setisfrozen(adesk::kfalse);后选择集却变成了该层的所有的实体,不知道为什么//if(prec->isfrozen())
//prec->setisfrozen(adesk::kfalse);会影响选择的结果。 期待帮助。
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)