TA的每日心情![](source/plugin/dsu_paulsign/img/emot/kx.gif) | 开心 昨天 15:23 |
---|
签到天数: 69 天 [LV.6]常住居民II
管理员
- 积分
- 2704
|
Acad::ErrorStatus Grazie::purge()
{
Acad::ErrorStatus es;
AcDbObjectIdArray ids;
AcDbObjectId id;
CString nome=L"";
AcDbObjectId tblRecId;
AcDbDatabase *pDbUse=acdbHostApplicationServices()->workingDatabase();
ids.setLogicalLength(0).setPhysicalLength(0);
AcDbBlockTable *pBlockTable;
es=acdbHostApplicationServices()->workingDatabase()->getSymbolTable(pBlockTable, AcDb::kForWrite);
AcDbBlockTableIterator* tblIter;
es = pBlockTable->newIterator(tblIter);
if (es == Acad::eOk)
{
// walk table and just collect all the objIds
// of the entries
for (; !tblIter->done(); tblIter->step())
{
AcDbBlockTableRecord* blkRec;
es = tblIter->getRecord(blkRec, AcDb::kForWrite);
if (es == Acad::eOk)
{
//if(blkRec->isKindOf(AcDbBlockReference::desc()))
{
if (blkRec->isAnonymous())
{
ACHAR* locName;
blkRec->getName(locName);
id=blkRec->id();
ids.append(id);
}
}
blkRec->close();
}
}
delete tblIter;
}
pBlockTable->close();
es=pDbUse->purge(ids);
es = pBlockTable->newIterator(tblIter);
if (es == Acad::eOk)
{
// walk table and just collect all the objIds
// of the entries
for (; !tblIter->done(); tblIter->step())
{
AcDbBlockTableRecord* blkRec;
es = tblIter->getRecord(blkRec, AcDb::kForWrite);
if (es == Acad::eOk)
{
//if(blkRec->isKindOf(AcDbBlockReference::desc()))
{
if (blkRec->isAnonymous())
{
ACHAR* locName;
blkRec->getName(locName);
id=blkRec->id();
if(ids.find(id)>=0)
{
nome=L"";
nome=locName;
// if(nome.Find(L"*D")==0 || nome.Find(L"*U")==0)
es=blkRec->erase();
}
}
}
blkRec->close();
}
}
delete tblIter;
}
pBlockTable->close();
ids.setLogicalLength(0).setPhysicalLength(0);
return es;
}[code][code][code] int i, nCount = ids.length();
for (i = 0; i < nCount; ++i)
{
AcDbBlockTableRecord* blkRec=NULL;
if ( (es=acdbOpenObject(blkRec, ids[i], AcDb::kForWrite)) == Acad::eOk )
{
es = blkRec->erase();
blkRec->close();
}
}[/code][/code][/code]
ACHAR* locName;
blkRec->getName(locName); |
|