Arx 选择的 一个很古怪的问题
<P>我用 acedssget()去选择一个区域内的实体</P><P>当我在前面不加入</P>
<P>AcDbIntArray m_OffFlag;<BR> AcDbIntArray m_FrozenFlag;<BR> AcDbIntArray m_LockedFlag;<BR> AcDbLayerTable *pLayerTable;<BR> AcDbLayerTableRecord* pRec;<BR> acdbCurDwg()->getLayerTable(pLayerTable, AcDb::kForWrite) ;<BR> AcDbLayerTableIterator* pIterator;<BR> pLayerTable->newIterator(pIterator);</P>
<P> for(pIterator->start();!pIterator->done();pIterator->step())<BR> {<BR> pIterator->getRecord(pRec, AcDb::kForWrite);<BR> m_OffFlag.append(pRec->isOff()) ;<BR> m_FrozenFlag.append(pRec->isFrozen()) ;<BR> m_LockedFlag.append(pRec->isLocked()) ;</P>
<P> if(pRec->isOff())<BR> pRec->setIsOff(Adesk::kFalse); <BR> //if(pRec->isFrozen())<BR> //pRec->setIsFrozen(Adesk::kFalse);<BR> if(pRec->isLocked())<BR> pRec->setIsLocked(Adesk::kFalse);<BR> pRec->close();<BR> }<BR> delete pIterator;<BR> pLayerTable->close();</P>
<P>的时候 选择的结果是正确的</P>
<P>可是当加入上面的//if(pRec->isFrozen())<BR> //pRec->setIsFrozen(Adesk::kFalse);后选择集却变成了该层的所有的实体,不知道为什么//if(pRec->isFrozen())<BR> //pRec->setIsFrozen(Adesk::kFalse);会影响选择的结果。 期待帮助。</P>
页:
[1]