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

26/12/2017

Изменение установок экранного разрешения при помощи API

Мы можем установить все четыре установки  в Экранном разрешении в Настройке.

 

Перед тем как их устанавливать при помощи API, мы разберёмся что каждая из этих переменных делает.

VIEWRES: Сглаживание дуг и окружностей, устанавливается для объектов в видовом экране.

SPLINESEGS: Сегменты в полилинии, устанавливают число линейных сегментов, генерируемых для каждой сглаженной сплайном полилинии, создаваемой командой _PEDIT.

FACETRES: Плавность визуальных объектов, корректирует гладкость затененных и визуализированных объектов и объектов со скрытыми линиями.

ISOLINES: Контурные линии на поверхностях, определяют число контурных линий на кривых поверхностях твердых тел.

Код - C++: [Выделить]
  1. void changeDispRes()
  2. {
  3.   AcDbDatabase *pDb = acdbHostApplicationServices()->workingDatabase();
  4.   acutPrintf(_T("\n Текущее значение SPLINESEGS %d"),pDb->splinesegs());
  5.   acutPrintf(_T("\n Текущее значение FACETRES %d"),pDb->facetres());
  6.   acutPrintf(_T("\n Текущее значение ISOLINES  %d"),pDb->isolines());
  7.   pDb->setSplinesegs(8);pDb->setFacetres(0.75);pDb->setIsolines(6);
  8.   AcDbObjectId curVportId = AcDbObjectId::kNull;
  9.   curVportId = acedActiveViewportId();
  10.   AcDbObjectPointer<AcDbViewportTableRecord> curVTR (curVportId,AcDb::kForWrite);
  11.   if(curVTR.openStatus() == Acad::eOk)
  12.   {
  13.       acutPrintf(_T("\n Текущее значение VIEWRES %d"),curVTR->circleSides());
  14.  
  15.       curVTR->setCircleSides(100);
  16.   }
  17. }

 

Источник: http://adndevblog.typepad.com/autocad/2016/04/changing-display-resolution-settings-through-api.html

 

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

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

Опубликовано 26.12.2017