XaraMathers 10 Опубликовано 21 сентября, 2020 Жалоба Поделиться Опубликовано 21 сентября, 2020 (изменено) Уважаемые друзья! Сталкивался ли кто-нибудь с задачей выяснить, включен ли цветозависимый режим печати? В AutoCAD была соответствующая переменная DEFLPLSTYLE, зная которую, в коде можно было перейти на другой режим. В NanoCAD же ее нет и режимы переключаются в явном виде. Это удобно, но не совсем... :-) Передо мной стоит задача выяснить, какое значение в свойстве "Стиль печати" присвоено примитиву и изменить его, однако в случае, если задан цветозависимый режим, мне не удается ничего сделать с этим свойством и вылетает Exception. Вопрос - как определить, задан ли цветозависимый режим печати для текущего чертежа и можно ли его поменять? Заранее благодарен за любую помощь! АП: Нашел системную переменную PSTYLEMODE, которая тоже есть в Нано. Вопрос с определением режима отпал, вопрос изменения режима остался Изменено 21 сентября, 2020 пользователем XaraMathers Цитата Ссылка на сообщение Поделиться на другие сайты
Ivanco 140 Опубликовано 24 сентября, 2020 Жалоба Поделиться Опубликовано 24 сентября, 2020 язык разработки какой? Пример на .net по идее должен работать(не проверял, но в справке по API методы есть). // get the current value from a system variable int pltStyle = System.Convert.ToInt32(Application.GetSystemVariable("PSTYLEMODE")); // do something // set system var to new Application.SetSystemVariable("PSTYLEMODE", 0); Цитата Ссылка на сообщение Поделиться на другие сайты
XaraMathers 10 Опубликовано 24 сентября, 2020 Автор Жалоба Поделиться Опубликовано 24 сентября, 2020 2 часа назад, Ivanco сказал: язык разработки какой? Пример на .net по идее должен работать(не проверял, но в справке по API методы есть). // get the current value from a system variable int pltStyle = System.Convert.ToInt32(Application.GetSystemVariable("PSTYLEMODE")); // do something // set system var to new Application.SetSystemVariable("PSTYLEMODE", 0); // get the current value from a system variable int pltStyle = System.Convert.ToInt32(Application.GetSystemVariable("PSTYLEMODE")); // do something // set system var to new Application.SetSystemVariable("PSTYLEMODE", 0); Ох да, забыл указать - язык C#. SetSystemVariable я рассматривал, но он выдает исключение, хоть и видимых ошибок в коде нет, а лишь в процессе отладки. Сдается мне, что нельзя просто взять и поменять эту переменную (кстати, в NanoCAD она доступна только для чтения)... Цитата Ссылка на сообщение Поделиться на другие сайты
Ivanco 140 Опубликовано 25 сентября, 2020 Жалоба Поделиться Опубликовано 25 сентября, 2020 Это конфигурация параметров печати получается. через интерфейс же меняется PSTYLEMODE если изменить в диспетчере печати. возможно стоит поковырять класс PlotSettings или что то смежное с ним , посмотреть есть ли программно доступ к этому свойству. Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.