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

27/06/2013

API для ГРАФНАСТР (3DCONFIG)

Вопрос:

Мне известно, что я могу воспользоваться версией команды 3DCONFIG для командной строки, чтобы изменить установки графической подсистемы, т.е. SendStringToExecute(). Однако было бы хорошо сделать тоже самое непосредственно при помощи API.

Ответ:

Вы можете это сделать при помощи класса AcGsConfig.

Этот пример с использованием ObjectARX переключает аппаратное ускорение графики:

Код - C++: [Выделить]
  1. static void ToggleHWAcceleration(void)
  2. {
  3.   AcGsConfig * gsConf =
  4.     acgsGetGsManager()->getGSClassFactory()->getConfig();
  5.   bool b = gsConf->isFeatureEnabled(AcGsConfig::kHwAcceleration);
  6.   gsConf->setFeatureEnabled(AcGsConfig::kHwAcceleration, !b);
  7.   gsConf->saveSettings();
  8. }

Тоже самое при помощи AutoCAD .NET API:

Код - C#: [Выделить]
  1. [CommandMethod("ToggleHWAcceleration")]
  2. public void ToggleHWAcceleration()
  3. {
  4.   using (Autodesk.AutoCAD.GraphicsSystem.Configuration config =
  5.     new Autodesk.AutoCAD.GraphicsSystem.Configuration())
  6.   {
  7.     bool b = config.IsFeatureEnabled(
  8.       Autodesk.AutoCAD.GraphicsSystem.
  9.       HardwareFeature.HardwareAcceleration);
  10.     config.SetFeatureEnabled(
  11.       Autodesk.AutoCAD.GraphicsSystem.
  12.       HardwareFeature.HardwareAcceleration, !b);
  13.     config.SaveSettings();
  14.   }
  15. }

 

Источник: http://adndevblog.typepad.com/autocad/2012/07/api-for-3dconfig.html

Обсуждение: http://adn-cis.org/forum/index.php?topic=125.0

Опубликовано 27.06.2013
Отредактировано 04.08.2013 в 16:22:13