Тема: Создание размерного стиля

Уважаемые коллеги!
Пытаюсь создать свой размерный стиль, и сделать его текущим. Стиль создается, но сделать текущим и, соответсвенно создать размер не удается. В чем может быть проблема?
Спасибо
void createtDimStyle()
{
AcDbDimStyleTable *pDimTable;
AcDbDimStyleTableRecord *pDimTblRecord;
AcDbObjectId recId, txtStyleId;
AcDbDatabase *pCurDb = NULL;
pCurDb = acdbHostApplicationServices()->workingDatabase();
pCurDb->getDimStyleTable(pDimTable, AcDb::kForRead);
// Check to see if the dimensions table exists
if(pDimTable->has("NewDimStyle")) {
    pDimTable->getAt("NewDimStyle", pDimTblRecord,   AcDb::kForRead, Adesk::kFalse);
//    recId = pDimTblRecord->objectId();
//    pCurDb->setDimstyle(recId);
}//if
else
{
   pDimTable->upgradeOpen();
   pDimTblRecord = new AcDbDimStyleTableRecord;
   pDimTblRecord->setDimscale(30.0);
   pDimTblRecord->setDimtxt(3.0);
   pDimTblRecord->setDimzin(8);
   pDimTblRecord->setDimblk("_CLOSEDFILLED");
   pDimTblRecord->setDimunit(2);
   pDimTblRecord->setName("NewDimStyle");
   //color set
   AcCmColor clrObj1, clrObj2;
   clrObj1.setColorIndex(16);
   clrObj2.setColorIndex(3);
   pDimTblRecord->setDimclrd(clrObj1);
   pDimTblRecord->setDimclre(clrObj1);
   pDimTblRecord->setDimclrt(clrObj2);
   pDimTable->add(pDimTblRecord);
}//else
recId = pDimTblRecord->objectId();
pCurDb->setDimstyle(recId);
pDimTblRecord->close();
pDimTable->close();
//for check only
struct resbuf rbCurDimStyle;
  acedGetVar("DIMSTYLE", &rbCurDimStyle);
}

Re: Создание размерного стиля

Шестое чуство мне посказывает, что сначала нужно закрыть pDimTblRecord, а уже потом делать ее текущей.

Re: Создание размерного стиля

Александр!
В такой ситуации новый стиль становится перекрытым от самого себя, т.е получает статус style override (?).
Тогда я добавил строчку (не знаю каким чувством, мне не приходилось раньше создавать dim. style)
и все o'k .

pCurDb->setDimstyleData(pDimTblRecord);
pCurDb->setDimstyle(recId);

Очень благодарен Вам за помощь.
На форуме Autodesk шестое чувство
Вас также не подводит!
Benjamin

Re: Создание размерного стиля

smile Рад был помочь. Мне тоже не приходилось раньше в ObjectARX создавать размерные стили, но это общий принцип - сначала закрой "объект", а потом можешь его использовать. Не важно какой это "объект" - примитив, таблица стилей, запись в таблице стилей... Особенно если этот "объект" открыт для записи.