|
||
| Правила | Регистрация | Пользователи | Поиск | Сообщения за день | Все разделы прочитаны | Справка по форуму | Файлообменник | |
|
Поиск в этой теме |
27.11.2017, 09:25 | #1 | |
Как программно задать точку начала области печати?
г. Норильск
Регистрация: 15.08.2005
Сообщений: 451
|
||
Просмотров: 2308
|
|
||||
===AAA===, Посмотри dump объекта. Там будут все свойства и методы.
Код:
Цитата:
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 451
|
Чего-то не получается точку задать...
Оба варианта не срабатывают: ни (vla-put-PlotOrigin namlay (list 10 10)) ни (vla-put-PlotOrigin namlay 10 10) В каком виде-то ей этот аргумент "скормить" нужно? Или функция по-другому выглядеть должна?
__________________
Счастливо, Алексей! |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,004
|
Официальной справкой принципиально не пользуетесь?
|
|||
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 451
|
Спасибочки!
Просто ожидал, что параметр должен передаваться в виде простого списка. :-) Ну и, если не затруднит, как сопоставить форматы бумаги типа CanonicalMediaName = "USER9265" из форматов принтера какому-нибудь "человеческому" Oversize A1 (альбомная) ?
__________________
Счастливо, Алексей! |
|||
|
||||
Регистрация: 10.08.2013
Сообщений: 11,004
|
ищите по CanonicalMediaName. Пример на .Net
|
|||
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 451
|
Да "канонические"-то у меня есть... А вот где хранятся соответствующие им
"человеческие" имена - непонятно. Т.е. у принтеров могут быть и "человекоподобные" названия форматов, типа А1_(841.00_х_594.00)_MM а могут быть (вперемешку) и USERхххх. При этом сам Автокад видит, что конкретному USERхххх сопоставлен какой- нибудь, к примеру, "Оверсайз А1 вертикальный" - вот прямо так, русскими буквами.
__________________
Счастливо, Алексей! |
|||
|
||||
примеры на Lisp
----- добавлено через ~2 мин. ----- Цитата:
----- добавлено через ~12 мин. ----- ===AAA===, Здесь в 2016 так же тебе давали ссылку на набор ф-ций Plot Device functions for AutoLISP и GetPlotDevices.lsp Free AutoLISP for AutoCAD
__________________
Как использовать код на Лиспе читаем здесь Последний раз редактировалось VVA, 27.11.2017 в 19:18. Причина: исправлена ссылка. см #10 |
||||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
VVA, первая ссылка никуда не ведет
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 451
|
Всем добрый вечер!
Спасибо, в части "точки начала области печати" всё получилось. Что касается ссылок 2016 года, то, конечно, я их смотрел, но ни (vlax-dump-object ...) ни (vla-put-PlotOrigin ...) я там не нашёл. Собственно, мне и нужно-то лишь изредка название одной-другой функции, ибо несколько отдалился я от программирования (от слова "почти совсем") в силу изменения характера работы. Так что сорри, ежели повторюсь в вопросах, которые для местных старожилов известны назубок. Еще раз всем спасибо, насчёт (vla-GetLocaleMediaName ...) почитаю обязательно. ----- добавлено через ~37 мин. ----- Да, (vla-GetLocaleMediaName ...) именно то, что нужно. А какая функция - наоборот - устанавливает "форматку" не по "каноническому", типа (vla-put-CanonicalMediaName namlay "USER9265") а по "человеческому" (оно же - медианейм) названию? что-то, видимо, типа (vla-put-LocaleMediaName ... ) Подскажите, плиз.
__________________
Счастливо, Алексей! |
|||
|
||||
===AAA===, Как вариант сделать список из "человеческого" и "канонического" названия. По "человеческому" найти соответствующее "каноническое" и уже устанавливать его с помощью vla-put-canonicalmedianame
__________________
Как использовать код на Лиспе читаем здесь |
||||
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 451
|
Да, такой алгоритм действий у меня тоже наметился (исходя из предположения,
что порядок следования имён в "каноническом" и "человеческом" списках совпадают - просто ещё не успел это проверить), но была надежда, что есть функция, названия которой мне не ведомо. :-) Всё равно спасибо!
__________________
Счастливо, Алексей! |
|||
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 451
|
Кстати, столкнулся с интересным глюком PlotOrigin.
Заключается в том, что ориентация листа через эту функцию меняется не для всех "форматок". У меня, например, установленный "А0" легко меняет ориентацию через диалоговые окна Автокада и не меняется через вызов PlotOrigin. Для других форматок А4 ... А1 всех модификаций - всё нормально. Т.е. нестабильненько-с... Что есть самая неприятная вещь при программировании.
__________________
Счастливо, Алексей! |
|||
|
||||
Moderator
LISP, C# (ACAD 200[9,12,13,14]) Регистрация: 25.08.2003
С.-Петербург
Сообщений: 39,787
|
PlotOrigin и PlotRotation, кажется, немного разные вещи
__________________
Моя библиотека lisp-функций --- Обращение ко мне - на "ты". Все, что сказано - личное мнение. |
|||
|
||||
Регистрация: 15.08.2005
г. Норильск
Сообщений: 451
|
Сорри, конечно же (vla-put-PlotRotation ...)
:-) ----- добавлено через ~3 мин. ----- > а почему не используете наборы параметров листов? Да проблемы, как таковой, в общем-то и нет, т.к. всё легко делается через (command-s "_-plot" ... параметры ...) Просто разбирался с альтернативными вариантами.
__________________
Счастливо, Алексей! |
|||
|
Опции темы | Поиск в этой теме |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Как получить точку привязки начала размера AutoCAD на VBA? | МишаИнженер | Программирование | 22 | 02.09.2022 18:03 |
AutoLisp не получается задать точку при помощи переменных | granit201z | LISP | 1 | 11.10.2014 13:32 |
Hp laserjet 5035 MFP смещение чертежа на формате A3 при печати из Autocad 2011 и 2013 | merdoc2003 | AutoCAD | 6 | 18.04.2013 23:59 |
Не отображаются граница области печати и заданный формат на вкладке лист. | shartal | AutoCAD | 14 | 05.04.2012 10:03 |
Печать свойств стилей печати | Inner | AutoCAD | 11 | 19.03.2011 14:05 |