enum PlotRotation {
k0degrees = 0,
k90degrees = 1,
k180degrees = 2,
k270degrees = 3
};
учитывай в коде ширину вышину и поворот
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();
}