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

14/09/2020

Установка «Показать область печати» с помощью API

Когда вы создаёте новый лист новые Параметры Листа называются *ЛистN*

На листе вы видите область печати, которая отмечена штриховым прямоугольником:

 

Чтобы убрать этот прямоугольник можно воспользоваться командой из меню AutoCAD:

Сервис->Настройка->Экран->Границы области печати

 

Или тоже самое при помощи API:

Код - C++: [Выделить]
  1. void turnOffPrintableArea()
  2. {
  3.  
  4.   AcApLayoutManager* pApLayoutMgr =
  5.    (AcApLayoutManager*)acdbHostApplicationServices()->layoutManager();
  6.   if (pApLayoutMgr != NULL) {
  7.     pApLayoutMgr->setShowPaperMargins(false);
  8.     pApLayoutMgr->updateCurrentPaper();
  9.   }
  10. }

К сожалению, аналогичная возможность в AutoCAD .NET API не представлена.

Примечание переводчика: В COM/ActiveX модели AutoCAD есть аналогичная возможность: Application.Preferences.DISPLAY.LayoutDisplayMargins = False

К сожалению, этот код не работает должным образом – штриховой прямоугольник не убирается.  Только последующее переключение между листами позволяет убрать границу. Хотя  обратная процедура включения показа области печати работает правильно и граница появляется сразу.

Источник: https://adndevblog.typepad.com/autocad/2020/09/set-display-printable-area-via-api.html

Автор перевода: Александр Ривилис
Опубликовано 14.09.2020
Отредактировано 14.09.2020 в 13:44:11