AcDbObjectId DimStyleNameToId(const ACHAR* szName,AcDbDatabase* pDb)
  {
   AcDbObjectId id;
   if( NULL == pDb )
   {
    pDb = acdbHostApplicationServices()->workingDatabase();
   }

   AcDbDimStyleTable* pTbl; 
   pDb->getDimStyleTable(pTbl,AcDb::kForWrite);

   AcDbDimStyleTableIterator* pIterator = NULL ;
   pTbl->newIterator(pIterator);
   for(pIterator->start();!pIterator->done();pIterator->step())
   {
    AcDbDimStyleTableRecord* pR = NULL ;
    pIterator->getRecord(pR,AcDb::kForWrite);
    AcString sName ;     
    pR->getName(sName);   
    if( sName  == szName )
    { 
     id = pR->id();
     pR->close(); 
     break;;
    }
    pR->close();     
   }

   pTbl->close();
   return id;
  }
  
  Acad::ErrorStatus SetCurDimStyle(const ACHAR* szName,AcDbDatabase* pDb)
  {
   if( NULL == pDb )
   {
    pDb = acdbHostApplicationServices()->workingDatabase();
   }
 
   AcDbObjectId id = DimStyleNameToId(szName,pDb);
   if( id.isNull() )
   {
    return eNullObjectId;
   }
   return pDb->setDimstyle(id);  
  }


posted on 2022-01-12 16:32  闻缺陷则喜何志丹  阅读(11)  评论(0编辑  收藏  举报  来源