ADN Open CIS
Сообщество программистов Autodesk в СНГ

24/01/2022

Установка текущего визуального стиля при помощи ObjectARX

Вы можете использовать функцию acdbSetViewportVisualStyle для установки необходимого визуального стиля. Пример того, как установить визуальный стиль Реалистичный (Realistic).

Код - C++: [Выделить]
  1. static void ASDK_test(void)
  2. {
  3.     ACHAR *name =  ACRX_T("REALISTIC");
  4.     AcDbObjectId visualStyleId = AcDbObjectId::kNull;
  5.  
  6.     // Открываем словарь визуальных стилей для чтения
  7.     AcDbDictionary *pVisualStyleDict = NULL;
  8.     Acad::ErrorStatus dbStatus;
  9.     AcDbVisualStyle *pVisualStyleObj = NULL;
  10.  
  11.     AcDbDatabase *pDb =
  12.             acdbHostApplicationServices()->workingDatabase();
  13.  
  14.     if (pDb->getVisualStyleDictionary(pVisualStyleDict,
  15.                                 AcDb::kForRead) == Acad::eOk)
  16.     {
  17.         // Получаем визуальный стиль
  18.         dbStatus = pVisualStyleDict->getAt(name,
  19.             (AcDbObject *&)pVisualStyleObj, AcDb::kForWrite);
  20.  
  21.         if (dbStatus == Acad::eOk)
  22.         {
  23.             // Получаем ObjectId визуального стиля
  24.             visualStyleId = pVisualStyleObj->objectId();
  25.             pVisualStyleObj->close();
  26.         }
  27.  
  28.         pVisualStyleDict->close();
  29.     }
  30.     acdbSetViewportVisualStyle(visualStyleId);
  31. }



 

 

Источник: https://adndevblog.typepad.com/autocad/2012/06/setting-current-visual-style-using-objectarx.html

 

Автор перевода: Александр Ривилис
Опубликовано 24.01.2022