Определить у Листа ориентацию


enum PlotRotation {
  k0degrees = 0,
  k90degrees = 1,
  k180degrees = 2,
  k270degrees = 3
};


учитывай в коде ширину вышину и поворот

вообщето в GUI печати листа PlotRotation не вытащен, но API для этого есть

и программы типа Реверса этим пользуются уродуя параметры печати листа

Вот поэтому и не хотелось программно поворачивать

Здравствуйте, свойство CanonicalMediaName содержит информацию о размере листа. Чтобы определить ориентацию листа, используйте, как вам подсказали выше, PlotRotation. Ниже пример задания пользовательских настроек печати и их применения к активному слою на .NET для приложенного вами файла dwg.
Необходимо подключить библиотеки: hostmgd.dll, hostdbmgd.dll и ncauto.dll
[CommandMethod(“Test”)]
public void Test() {
Document doc = Platform.ApplicationServices.Application.DocumentManager.MdiActiveDocument;
nanoCAD.Document comDoc = doc.AcadDocument as nanoCAD.Document;
nanoCAD.Plot plot = (nanoCAD.Plot)comDoc.Plot;
//OdaX.IAcadLayout layout = comDoc.Layouts.Item(0);
OdaX.IAcadLayout layout = comDoc.ActiveLayout;
layout.ConfigName = “Встроенный pdf-принтер”;

nanoCAD.InanoCADPlotCustomParams customPlotSettings =
plot.CustomPlotSettings[layout];

// Изменяем путь сохранения напечатанного документа
customPlotSettings.UseDWGPath = false;
customPlotSettings.FileFolder = “W:”;

// Изменяем шаблон имени файла, в который будет напечатан документ
customPlotSettings.UsePrefinedNames = true;
customPlotSettings.FileMask = “_”;

// Задаем формат листа
layout.CanonicalMediaName = “A4x4”;

doc.Editor.WriteMessage($“PlotRotation: {layout.PlotRotation}”);
doc.Editor.WriteMessage($“CanonicalMediaName: {layout.CanonicalMediaName}”);

// Передаем измененные пользовательские настройки в лист
plot.CustomPlotSettings[layout] = customPlotSettings;

// Печать листа
plot.PlotToDevice();

}