CAD工具之家's Archivers

From boitboy on 2015-07-22 13:04:15

清理空分组

有的图看起来没多少实体,但是还是特别的大。 有可能是空的分组太多了,使用下面的方法 就可以极大的缩小源文件的大小,大大加快运行和渲染速度。 //清理空分组 //pDb,需要清理的数据库 Acad::ErrorStatus PurgeGroupDictionary(AcDbDatabase* pDb) {  Acad::ErrorStatus es=Acad::eOk;  AcDbDictionary *pGroupDict;  es=pDb->getGroupDictionary(pGroupDict, AcDb::kForRead);  if(es!=Acad::eOk)  {   return es;  }  AcDbDictionaryIterator* pIter=pGroupDict->newIterator();  if(pIter==NULL)  {   pGroupDict->close();   return Acad::eNullHandle;  }  for(;!pIter->done();pIter->next())  {   AcDbObject* pObj=NULL;   if(Acad::eOk!=pIter->getObject(pObj,AcDb::kForWrite))   {    continue;   }   if(!pObj->isKindOf(AcDbGroup::desc()))   {    pObj->close();    continue;   }   AcDbGroup *pGroup=AcDbGroup::cast(pObj);   if(pGroup->numEntities()>0)   {    pObj->close();    continue;   }   acutPrintf(_T("\r\n删除空分组:%s"),pIter->name());   pObj->erase();   pObj->close();  }  delete pIter;  pIter=NULL;  pGroupDict->close();  return Acad::eOk; }

查看完整版本: 清理空分组

Tags:


©CAD工具之家
创办于:2013年5月24日