LISP. Изменение настроек принтера в листе(листах)
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Изменение настроек принтера в листе(листах)

LISP. Изменение настроек принтера в листе(листах)

Ответ
Поиск в этой теме
Непрочитано 21.01.2008, 12:19 3 | #1
LISP. Изменение настроек принтера в листе(листах)
VVA
 
Инженер LISP
 
Минск
Регистрация: 11.05.2005
Сообщений: 6,996

Команда опубликована whdjr здесь. Внес некоторые улучшения.
Команда устанавливает всем листам сохраненные ранее настройки параметра листа (Разъяснения читать в посте #2).
В архиве lsp и dcl и vlx файл. Для работы рекомендуется загружать pagesetups.vlx (lisp и dcl в одном флаконе). Название команды
Команды
Change_page_setups или CPS - изменяет параметры листа по всем листам
CPSSL - изменяет параметры листа выбранных листов
DPS - удаляет выбранные параметры
DAPS - удаляет все параметры
MyPS - управляющая команда
CPStyle - изменяет стиль печати выбранных листов

Варианты:
CPSSL от VVA
CPSSL от Sleekka
Версия PageSetups to Tabs от CAB'a




Вложения
Тип файла: lsp page_setup20191115.LSP (15.2 Кб, 859 просмотров)

__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 15.11.2019 в 18:02. Причина: Добавил CPStyle
Просмотров: 80853
 
Автор темы   Непрочитано 21.01.2008, 12:23
#2
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Некоторые разъяснения. Чтобы воспользоваться командой, необходимо предварительно в команде _plot создать Именованный набор параметров в листе!!!. Картинка ниже должна помочь
Миниатюры
Нажмите на изображение для увеличения
Название: page_setups.jpg
Просмотров: 4146
Размер:	84.9 Кб
ID:	2446  
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 21.01.2008, 16:27
#3
wetr

инженер
 
Регистрация: 09.08.2006
Владивосток
Сообщений: 1,536
<phrase 1= Отправить сообщение для wetr с помощью Skype™


Спасибо,VVA,
а то там где это опубликовал whdjr я нифига не понял. Ты уже раньше давал ссылочку на форуме...
__________________
14 Ибо если вы будете прощать людям согрешения их, то простит и вам Отец ваш Небесный (Мф 6, 14)
wetr вне форума  
 
Автор темы   Непрочитано 21.01.2008, 18:05
#4
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Вариант с выбором назначаемых листов. Немного модифицировал. Диалог пишется динамически
Команда называется CPSSL (Change Page Setups on Select Layout)
При выборе листов нужно использовать в диалоге Shift и Ctrl
Код:
[Выделить все]
;;;posted whdjr
;;;http://www.theswamp.org/index.php?topic=12439.msg153420#msg153420
;;;Modifyed VVA 21.01.2008 http://dwg.ru/f/showthread.php?t=16792
;;Change Page Setups on Select Layout (CPSSL)
(defun c:CPSSL (/                  adoc
                page_setups        dcl_id
                userclick          selection
                plotcfg            loc:get_page_setup
                loc:getSelectedItems
                loc:dwgru-get-user-dcl
               )
;;;
  (defun loc:get_page_setup (doc func / lst)
    (vlax-map-collection
      (vla-get-plotconfigurations doc)
      '(lambda (x) (setq lst (cons ((eval func) x) lst)))
    ) ;_ end of vlax-map-collection
    (reverse lst)
  ) ;_ end of defun
;;;
  (defun loc:getSelectedItems (tilename AllItemsList / indexes)
    (if (setq indexes (get_tile tilename))
      (setq indexes (read (strcat "(" indexes ")"))
            indexes (mapcar '(lambda (n) (nth n AllItemsList))
                            indexes
                    ) ;_ end of mapcar
      ) ;_ end of setq
    ) ;_ end of if
    indexes
  ) ;_ end of defun
;;;
;;; ************************************************************************
;;; * Библиотека DWGruLispLib Copyright ©2008  DWGru Programmers Group
;;; *
;;; * loc:dwgru-get-user-dcl (Кандидат)
;;; *
;;; * Запрос значения у пользователя через диалоговое окно
;;; *
;;; *
;;; * 21/01/2008 Версия 0001. Редакция Владимир Азарко (VVA)
;;; ************************************************************************
 
  (defun loc:dwgru-get-user-dcl
         (zagl info-list multi / fl ret dcl_id msg layouts)
         ;|
* Запрос значения у пользователя через диалоговое окно
* Диалог формируется "налету"
* Параметры вызова:
    zagl - заголовок окна [String]
    info-list - список строковых значений[List of String]
    multi - t - разрешен множественный выбор, nil- нет
 
* Возвращает:
 Список выбранных строк или nil - отмена
* Пример
 (loc:dwgru-get-user-dcl "Укажите вариант" '("Первый" "Второй" "Третий") nil) ->("Первый") 
 (loc:dwgru-get-user-dcl "Укажите вариант" '("Первый" "Второй" "Третий") t) ->("Первый" "Второй") 
|;
    (if (null zagl)
      (setq zagl "Выбор")
    ) ;_ end if
    (setq fl (vl-filename-mktemp "dwgru" nil ".dcl"))
    (setq ret (open fl "w"))
    (mapcar
      '(lambda (x) (write-line x ret))
      (list "dwgru_msg : dialog { "
            (strcat "label=\"" zagl "\";")
            " :list_box {"
            "alignment=top ;"
            (if multi
              "multiple_select = true ;"
              "multiple_select = false ;"
            ) ;_ end of if
            "width=31 ;"
            (if (> (length info-list) 26)
              "height= 26 ;"
              (strcat "height= " (itoa (+ 3 (length info-list))) ";")
            ) ;_ end of if
            "is_tab_stop = false ;"
            "key = \"info\";}"
            "ok_cancel;}"
      ) ;_ end of list
    ) ;_ end of mapcar
    (setq ret (close ret))
    (if (and (null (minusp (setq dcl_id (load_dialog fl))))
             (new_dialog "dwgru_msg" dcl_id)
        ) ;_ end and
      (progn (start_list "info")
             (mapcar 'add_list info-list)
             (end_list)
             (set_tile "info" "0")
             (setq ret "0")
             (action_tile "info" "(setq ret $value)")
             (action_tile "cancel" "(done_dialog 0)")
             (action_tile "accept" " (done_dialog 1)")
             (if (zerop (start_dialog))
               (setq ret nil)
               (setq
                 ret (mapcar (function (lambda (num) (nth num info-list)))
                             (read (strcat "(" ret ")"))
                     ) ;_ end mapcar
               ) ;_ end setq
             ) ;_ end if
             (unload_dialog dcl_id)
      ) ;_ end of progn
    ) ;_ end of if
    (vl-file-delete fl)
    ret
  ) ;_ end of defun
;;;
  (vl-load-com)
  (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
(if (= (getvar "TILEMODE") 0)
  (progn
  (setq page_setups
         (loc:get_page_setup
           adoc
           '(lambda (x)
              (if (eq (vla-get-modeltype x) :vlax-false)
                (vla-get-name x)
                nil
              ) ;_ end of if
            ) ;_ end of lambda
         ) ;_ end of loc:get_page_setup
  ) ;_ end of setq
;;;_Change VVA
  (setq page_setups (vl-remove-if 'null page_setups))
;;;_Add VVA
  (if (and page_setups
           (setq selection (loc:dwgru-get-user-dcl
                             "Select Page Setups"
                             page_setups
                             nil
                           ) ;_ end of loc:dwgru-get-user-dcl
           ) ;_ end of setq
           (setq layouts (loc:dwgru-get-user-dcl
                           "Select Layouts with Shift or Ctrl"
                           (acad_strlsort (layoutlist))
                           t
                         ) ;_ end of loc:dwgru-get-user-dcl
           ) ;_ end of setq
           (setq plotcfg (vla-item (vla-get-plotconfigurations adoc)
                                   (car selection)
                         ) ;_ end of vla-item
           ) ;_ end of setq
      ) ;_ end of and
    (vlax-map-collection
      (vla-get-layouts adoc)
      '(lambda (x)
         (if (and (eq (vla-get-modeltype x) :vlax-false)
                  (member (vla-get-name x) layouts)
             ) ;_ end of and
           (vla-copyfrom x plotcfg)
         ) ;_ end of if
       ) ;_ end of lambda
    ) ;_ end of vlax-map-collection
    (alert (if (= (getvar "DWGCODEPAGE") "ANSI_1251")
           "Нет именованных параметров листа\nСоздавать командой _plot"
           "The named setups of pages are absent\nCall _plot to do it"
           )
         )
  ) ;_ end of if
  )
  (alert (if (= (getvar "DWGCODEPAGE") "ANSI_1251")
           "Нужно перейти в пространство листа"
           "Work in layout space"
           )
         )
  )
  (princ)
) ;_ end of defun
(princ "\nType CPSSL in command line")
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 23.04.2008 в 10:07. Причина: Добавлены сообщения
VVA вне форума  
 
Автор темы   Непрочитано 22.01.2008, 12:17
#5
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Изменил архив в #1. Теперь vlx включает в себя команды CHANGE_PAGE_SETUPS и CPSSL
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 25.01.2008, 13:31
#6
Rascen


 
Сообщений: n/a


Спасибо огромное. действительно необходимой lisp!
 
 
Непрочитано 13.03.2008, 19:00
#7
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,149


VVA, я так именно и хотел, первый варинт предложенный тобой
не умел делать выборку, теперь с этим справились!
но потестировав данный лисп я нашел трудность которая по прежднему
не дает пользоваться данной программой по полной:

Сначало расскажу ситуацию:

Приносят чертеж 100 лайаутов настроенных на другой плоттер,
а мне надобно их распечатать на своем А4 лазерном,
но листы там расположены как по вертикали так и по горизонтали,
для того чтобы воспользоваться выборкой я должен их просмотреть
и выписать какой лист повернут а какой нет, тогда смысла нет
потом осуществлять выборку покая буду перелистывать я могу и
принтер настроить...

Что хотелось бы поменять в алгоритме работы лиспа:

1. Создаю к примеру два Setup 1 и Setup 2
2. Setup 1 отвечает за листы горизонтальные Landscape, бумага к примеру А4 (зависит от моего принтера), масштаб по лайауту тоесть Fit to Paper, галочка в поле Center the plot.
3. Setup 2 отвечает за листы вертикальные Portrait, бумага к примеру А4 (зависит от моего принтера), масштаб по лайауту тоесть Fit to Paper, галочка в поле Center the plot.

Теперь самое интересное:


Из Setup 1 и Setup 2 создается Setup 3,
Setup 3 я применяю ко всем лайаутам,
и он распределяется так что, где в предыдущем
плоттере было настроено горизонтальный лист там
применяется Setup 1, а где вертикальный применяется
Setup 2, и формат настраивается под мой принтер
какой бы ни был на другом, т.е. если там формат А1, то под мой принтер
получается А4

Тоесть за 1 минуту мы переустанавливаем все настройки лайаутов
под свой принтер, а это просто и быстро с помощью такого лиспа

Примечание: Для русского автокада: горизонтальная читать АЛЬБОМНАЯ, а вертикальная читать КНИЖНАЯ



PS VVA, если интересно могу рассказать как я уже полгода выкручиваюсь из данной ситуации
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 23.04.2008, 05:32
#8
u77


 
Регистрация: 10.06.2005
Сообщений: 31


Можно пояснить ?, AutoCad2006(Eng) 2008(Rus)
вообще ни какой реакции на обе команды ? что не так делаю ?
Команда: _appload Успешно загружено файлов: 2.
Команда:
Type Change_page_setups or CPSSL in command line
Команда:
Type Change_page_setups or CPSSL in command line
Команда:
Команда: CPSSL
Команда:
Команда:
CPSSL
Команда:
u77 вне форума  
 
Автор темы   Непрочитано 23.04.2008, 10:10
#9
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


u77,
1. Читать внимательно #2
2. Перейти в лист!!!
3. Создать именованный параметр страницы. См. рисунок в #2
4. Вызвать команду
Чтобы было понятней, добавил диалоговые сообщения в #4. Обнови и попробуй снова с учетом пп. 1-4
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 23.04.2008, 10:29
#10
u77


 
Регистрация: 10.06.2005
Сообщений: 31


VVA-СПАСИБО
Понял в чем проблема , в лист не перешел, а когда перешел на другом файле видно вид не настроил, все отлично работает !
Правда за ночь я и так все сделал (лучше бы потом за 5 минут долететь)
u77 вне форума  
 
Непрочитано 17.12.2008, 08:37
#11
SkyLine

Проектировщик
 
Регистрация: 16.10.2007
Иркутск
Сообщений: 16


Всё клёва вообще, вот только у меня листы бывают и А3 и А4 и быбирать из списка где какие не вариант, сильно мутарно, вот если бы это было автоматически!!!!! Может кто может подправить данный лисп нужным образом???
SkyLine вне форума  
 
Непрочитано 17.12.2008, 09:14
#12
SkyLine

Проектировщик
 
Регистрация: 16.10.2007
Иркутск
Сообщений: 16


Или хотя бы сделать так, чтоб в списке выбора листов А3 были скажем расположены вверху, а А4 внизу... Или допустим добавить в этот список ещё один столбец, где у каждого листа был бы указан размер.
SkyLine вне форума  
 
Непрочитано 17.12.2008, 11:04
#13
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, տ.գ.թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,990
Отправить сообщение для Red Nova с помощью Skype™


SkyLine,
Цитата:
Или хотя бы сделать так, чтоб в списке выбора листов А3 были скажем расположены вверху, а А4 внизу... Или допустим добавить в этот список ещё один столбец, где у каждого листа был бы указан размер.
Используй публиш там такое есть.
Цитата:
Всё клёва вообще, вот только у меня листы бывают и А3 и А4 и быбирать из списка где какие не вариант, сильно мутарно, вот если бы это было автоматически!!!!! Может кто может подправить данный лисп нужным образом???
А вот с этим я полностью согласен. Если VVA добавит эту возможность то лисп станет значительно удобнее, хотя и сейчас он лично для меня незаменим.
__________________
Блог
Red Nova вне форума  
 
Непрочитано 18.12.2008, 03:58
#14
SkyLine

Проектировщик
 
Регистрация: 16.10.2007
Иркутск
Сообщений: 16


VVA I need help!!!! Вся надежда на тебя!!!
SkyLine вне форума  
 
Непрочитано 18.12.2008, 04:02
#15
SkyLine

Проектировщик
 
Регистрация: 16.10.2007
Иркутск
Сообщений: 16


Цитата:
Сообщение от Red Nova Посмотреть сообщение
SkyLine,

Используй публиш там такое есть.
Red Nova, Я что-то несовсем понял, где в publish такая сортировка?
SkyLine вне форума  
 
Непрочитано 18.12.2008, 13:19
#16
Red Nova

ՃԱՐՏԱՐԱԳԵՏ, տ.գ.թ.
 
Регистрация: 23.10.2007
Торонто
Сообщений: 1,990
Отправить сообщение для Red Nova с помощью Skype™


Для того чтобы это работало нужно чтобы каждый лист имел свой page setup, причем в названии page setup нужно указать и формат бумаги (чтобы сразу видно было, а также чтобы при желании сортировалось).
Вот к примеру мои файлы. Я тоже пользуюсь листами А4 и А3. Для каждого формата я имею два своих page setup-а, в сумме получается 4 штуки, вот они
А3 Canon
А4 Canon
А3 PDF
А4 PDF
Когда вызываю publish, то выходит таблица всех имеющихся листов с page setup-ами А3 Canon и А4 Canon (картинка-1)
Нажимаю на заголовок столбца с page setup-ами, и они сортируются по названию (картинка-2)
При помощи клавиши shift выбираю все листы А3 Canon и назначаю им page setup А3 PDF, с листами А4 тоже–самое (картинка-3)
Затем обратно сортирую листы (а названия листов у меня возрастают по очереди, и по этому сортируются) и печатаю (картинка-4)
Все.
Миниатюры
Нажмите на изображение для увеличения
Название: 1.JPG
Просмотров: 880
Размер:	42.4 Кб
ID:	13705  Нажмите на изображение для увеличения
Название: 2.JPG
Просмотров: 580
Размер:	42.7 Кб
ID:	13706  Нажмите на изображение для увеличения
Название: 3.JPG
Просмотров: 474
Размер:	39.3 Кб
ID:	13707  Нажмите на изображение для увеличения
Название: 4.JPG
Просмотров: 485
Размер:	39.4 Кб
ID:	13708  
__________________
Блог
Red Nova вне форума  
 
Непрочитано 19.12.2008, 04:18
#17
SkyLine

Проектировщик
 
Регистрация: 16.10.2007
Иркутск
Сообщений: 16


А ну да так можно, при условии первоначально правильного составленного dwg файла. У меня просто публиш выглядит так:



Какой из них А3, какой А4 непонятно, было бы клёво просто добавить столбец в прогу примерно так:





чтоб я сразу в ручную выделил, зажав контрол, все А4 или все А3.

А сейчас я залажу в модель и смотрю где какой лист, как и многие другие люди... Вот такой вот гимор...
SkyLine вне форума  
 
Непрочитано 25.02.2009, 09:51
#18
Сергей Богатов


 
Регистрация: 21.02.2009
Сообщений: 825


Друзья - зачем так сложно? Какой такой лисп Отправляйте всё в dwf, а потом печатайте с галочкой "Use dwf paper size" или "Choose paper source by DWF page size" (если у вас Design review)
Сергей Богатов вне форума  
 
Автор темы   Непрочитано 25.02.2009, 18:38
#19
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


SkyLine, Вариант CPSSL с показом назначенных форматов и ориентаций
Буква P означает Portrait, L - Landscape
Если по каким-либо причинам не удалось получить формат листа (отключен сетевой принтер или удален, а pc3 остался), то вместо формата будет отображаться ?
Код:
[Выделить все]
(defun c:CPSSL (/     adoc
  page_setups    dcl_id
  userclick    selection
  plotcfg     loc:get_page_setup
  loc:getSelectedItems
  loc:dwgru-get-user-dcl
        )
;;;
;;;posted whdjr
;;;http://www.theswamp.org/index.php?topic=12439.msg153420#msg153420
;;;Modifyed VVA 21.01.2008 http://dwg.ru/f/showthread.php?t=16792
;;Change Page Setups on Select Layout (CPSSL)
;;;  
  (defun loc:get_page_setup (doc func / lst)
    (vlax-map-collection
      (vla-get-plotconfigurations doc)
      '(lambda (x) (setq lst (cons ((eval func) x) lst)))
    ) ;_ end of vlax-map-collection
    (reverse lst)
  ) ;_ end of defun
;;;
  (defun loc:getSelectedItems (tilename AllItemsList / indexes)
    (if (setq indexes (get_tile tilename))
      (setq indexes (read (strcat "(" indexes ")"))
     indexes (mapcar '(lambda (n) (nth n AllItemsList))
       indexes
      ) ;_ end of mapcar
      ) ;_ end of setq
    ) ;_ end of if
    indexes
  ) ;_ end of defun
;;;
;;; ************************************************************************
;;; * Библиотека DWGruLispLib Copyright ©2008  DWGru Programmers Group
;;; *
;;; * loc:dwgru-get-user-dcl (Кандидат)
;;; *
;;; * Запрос значения у пользователя через диалоговое окно
;;; *
;;; *
;;; * 21/01/2008 Версия 0001. Редакция Владимир Азарко (VVA)
;;; ************************************************************************

  (defun loc:dwgru-get-user-dcl
  (zagl info-list multi / fl ret dcl_id msg layouts)
  ;|
* Запрос значения у пользователя через диалоговое окно
* Диалог формируется "налету"
* Параметры вызова:
    zagl - заголовок окна [String]
    info-list - список строковых значений[List of String]
    multi - t - разрешен множественный выбор, nil- нет
    
* Возвращает:
 Список выбранных строк или nil - отмена
* Пример
 (loc:dwgru-get-user-dcl "Укажите вариант" '("Первый" "Второй" "Третий") nil) ->("Первый") 
 (loc:dwgru-get-user-dcl "Укажите вариант" '("Первый" "Второй" "Третий") t) ->("Первый" "Второй") 
|;
    (if (null zagl)
      (setq zagl "Выбор")
    ) ;_ end if
    (setq fl (vl-filename-mktemp "dwgru" nil ".dcl"))
    (setq ret (open fl "w"))
    (mapcar
      '(lambda (x) (write-line x ret))
      (list "dwgru_msg : dialog { "
     (strcat "label=\"" zagl "\";")
     " :list_box {"
     "alignment=top ;"
     (if multi
       "multiple_select = true ;"
       "multiple_select = false ;"
     ) ;_ end of if
     "width=31 ;"
     (if (> (length info-list) 26)
       "height= 26 ;"
       (strcat "height= " (itoa (+ 3 (length info-list))) ";")
     ) ;_ end of if
     "is_tab_stop = false ;"
     "key = \"info\";}"
     "ok_cancel;}"
      ) ;_ end of list
    ) ;_ end of mapcar
    (setq ret (close ret))
    (if (and (null (minusp (setq dcl_id (load_dialog fl))))
      (new_dialog "dwgru_msg" dcl_id)
 ) ;_ end and
      (progn
 (start_list "info")
 (mapcar 'add_list info-list)
 (end_list)
 (set_tile "info" "0")
 (setq ret "0")
 (action_tile "info" "(setq ret $value)")
 (action_tile "cancel" "(done_dialog 0)")
 (action_tile "accept" " (done_dialog 1)")
 (if (zerop (start_dialog))
   (setq ret nil)
   (setq
     ret (mapcar (function (lambda (num) (nth num info-list)))
   (read (strcat "(" ret ")"))
  ) ;_ end mapcar
   ) ;_ end setq
 ) ;_ end if
 (unload_dialog dcl_id)
      ) ;_ end of progn
    ) ;_ end of if
    (vl-file-delete fl)
    ret
  ) ;_ end of defun
(defun loc:catch ( func  / ret)
  (if (VL-CATCH-ALL-ERROR-P (setq ret (vl-catch-all-apply
         '(lambda()(eval func)))))
    "?"
    ret
  )
  )
;;;
  (vl-load-com)
  (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
  (setq page_setups
  (loc:get_page_setup
    adoc
    '(lambda (x)
       (if (eq (vla-get-modeltype x) :vlax-false)
  (strcat
    (vla-get-name x)
    (if (= (loc:catch '(vla-get-CanonicalMediaName x)) "")
      " [Нет]"
      (strcat " [ "
       (loc:catch '(vla-GetLocaleMediaName x (vla-get-CanonicalMediaName x)))
        (if (zerop(vla-get-PlotRotation x)) " P" " L")
       " ]"
        )
      )
  )
  nil
       ) ;_ end of if
     ) ;_ end of lambda
  ) ;_ end of loc:get_page_setup
  ) ;_ end of setq
;;;_Change VVA
  (setq page_setups (vl-remove-if 'null page_setups))
;;;_Add VVA
  (if (and page_setups
    (setq selection (loc:dwgru-get-user-dcl
        "Select Page Setups"
        page_setups
        nil
      ) ;_ end of loc:dwgru-get-user-dcl
    ) ;_ end of setq
    (setq selection
    (mapcar '(lambda(x / l)(setq l (strlen x))
        (while (/= (substr x l 1) "[")
          (setq l (1- l)))
        (substr x 1 (- l 2)))
     selection
     )
   )
    (setq
      layouts (loc:dwgru-get-user-dcl
         "Select Layouts with Shift or Ctrl"
         (acad_strlsort
    (mapcar
      '(lambda (y / x)
         (setq x (vla-item (vla-get-Layouts adoc) y))
         (strcat
    y
    (if (= (loc:catch '(vla-get-CanonicalMediaName x)) "")
      " [Нет]"
      (strcat " [ "
       (loc:catch '(vla-GetLocaleMediaName x (vla-get-CanonicalMediaName x)))
       (if (zerop(vla-get-PlotRotation x)) " P" " L")
         " ]"
      )
    )
    
         )
       )
      (LAYOUTLIST)
    )
         )
         t
       ) ;_ end of loc:dwgru-get-user-dcl
    ) ;_ end of setq
    (setq layouts
    (mapcar '(lambda(x / l)(setq l (strlen x))
        (while (/= (substr x l 1) "[")
          (setq l (1- l)))
        (substr x 1 (- l 2)))
     layouts
     )
   )
    (setq plotcfg (vla-item (vla-get-plotconfigurations adoc)
       (car selection)
    ) ;_ end of vla-item
    ) ;_ end of setq
      ) ;_ end of and
    (vlax-map-collection
      (vla-get-layouts adoc)
      '(lambda (x)
  (if (and (eq (vla-get-modeltype x) :vlax-false)
    (member (vla-get-name x) layouts)
      ) ;_ end of and
    (vla-copyfrom x plotcfg)
  ) ;_ end of if
       ) ;_ end of lambda
    ) ;_ end of vlax-map-collection
  ) ;_ end of if
  (vl-cmdf "_.REGENALL")
  (princ)
) ;_ end of defun
(princ "\nType CPSSL in command line")
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 02.03.2009 в 11:20. Причина: Обработка отсутсвующих притеров (пост #27)
VVA вне форума  
 
Непрочитано 26.02.2009, 16:59
#20
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,149


VVA, а можно чтобы еще и показывал Ландскайл и Портрейт, по мимо самого масштаба, вот бы было здорово.....
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Автор темы   Непрочитано 26.02.2009, 18:16
#21
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Изменил #19
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 26.02.2009, 19:51
#22
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,149


исправлено
__________________
инженер проектировшик с опттом программа авто гад образование высшие

Последний раз редактировалось dextron3, 28.02.2009 в 15:06.
dextron3 вне форума  
 
Автор темы   Непрочитано 27.02.2009, 09:55
#23
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Обновил #19
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 27.02.2009, 15:15
#24
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,149


А можно еще сделать чтобы показывало эти галочки, название принтера и монохром или нет...
Миниатюры
Нажмите на изображение для увеличения
Название: Snap1.jpg
Просмотров: 495
Размер:	172.0 Кб
ID:	16656  
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 28.02.2009, 14:11
#25
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


А ты создай шаблоны в которых у тебя будет в имени написано, монохром или нет и имя принтера. А функция которую ты просишь ИМХО не нужна, VVA - спасибо.
Sleekka вне форума  
 
Непрочитано 28.02.2009, 15:05
#26
dextron3

проектировшик
 
Регистрация: 01.01.2007
СССР
Сообщений: 5,149


Sleekka, я хочу видеть уже в созданных шаблонах, чтобы не проверять их
__________________
инженер проектировшик с опттом программа авто гад образование высшие
dextron3 вне форума  
 
Непрочитано 01.03.2009, 12:15
1 | #27
Sleekka

-
 
Регистрация: 24.07.2005
Москва
Сообщений: 1,335


Чего-то у меня не работает - то что в 19-м =)
Почему пока не знаю.
Итакс: ИМХО код который в 19 посте неправилен с моей колокольни, потому что, как мне кажется нарушает логику автоматизации. Придумали шаблоны печати, когда ты его применяешь ты поидее должен отдавать себе отчет какой формат листа и т.д.ит.п. ты присваиваешь листу, и поидее главным является имя шаблона, а тут с подачи пользователей код обращается к имени принтера и т.д. ит.п. у мене все ето не работает патамушта принтеры сетевые и переодически выключены и их нетума, а имя шаблона понятие - идеализированное его присвоил и усе вне зависимости подключены такие принтеры к компу есть ли вналичие теже pc3 или нету, поэтому выкладываю свой вариант, он отображает СПИСОК ЛИСТОВ И ВСКОБОЧКАХ ИМЯ СТИЛЯ ПЕЧАТИ как в стандартном ДИСПЕТЧЕРЕ СТИЛЕЙ ПЕЧАТИ.
Кто понимает о чем я - милости прошу:
Используется библиотечная функция из: http://forum.dwg.ru/showthread.php?t=15661

Код:
[Выделить все]
;posted whdjr
;http://www.theswamp.org/index.php?topic=12439.msg153420#msg153420
(defun c:change_page_setups (/		adoc	     page_setups
			     dcl_id	userclick   selection
			     plotcfg
			    )
;;;
 (defun	get_page_setup (doc func / lst)
  (vlax-map-collection
   (vla-get-plotconfigurations doc)
   '(lambda (x) (setq lst (cons ((eval func) x) lst)))
  )
  (reverse lst)
 )
;;;
 (defun	getSelectedItems (tilename AllItemsList / indexes)
  (if (setq indexes (get_tile tilename))
   (setq indexes (read (strcat "(" indexes ")"))
	indexes (mapcar '(lambda (n) (nth n AllItemsList))
			indexes
		)
   )
  )
  indexes
 )
;;;
 (vl-load-com)
 (defun	on_list_pick ()
  (if (= (get_tile "page_setup_names") "")
   (mode_tile "select" 1)
   (mode_tile "select" 0)
  )
 )
 (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
 (and
  (setq page_setups (get_page_setup adoc '(lambda(x)(if (eq (vla-get-modeltype x) :vlax-false)(vla-get-name x) nil)))) ;;;_Change VVA
  (setq page_setups (vl-remove-if 'null page_setups))                                                                  ;;;_Add VVA
  (setq dcl_id (load_dialog "page_setup.dcl"))
  (new_dialog "page_setup" dcl_id)
  (start_list "page_setup_names")
  (mapcar 'add_list page_setups)
  (not (end_list))
  (action_tile "cancel" "(done_dialog 0)")
  (action_tile
   "select"
   (strcat
    "(setq selection (getSelectedItems \"page_setup_names\" page_setups))"
    "(done_dialog 1)"
   )
  )
  (action_tile "page_setup_names" "(on_list_pick)")
  (not (mode_tile "select" 1))
  (setq userclick (start_dialog))
 )
 (if dcl_id
  (unload_dialog dcl_id)
 )
 (if (and userclick selection)
  (and
   (setq plotcfg (vla-item (vla-get-plotconfigurations adoc)
			   (car selection)
		)
   )
   (vlax-map-collection
    (vla-get-layouts adoc)
    '(lambda (x)
      (if (eq (vla-get-modeltype x) :vlax-false)
       (vla-copyfrom x plotcfg)
      )
     )
   )
  )
 )
 (princ)
)
;;;posted whdjr
;;;http://www.theswamp.org/index.php?topic=12439.msg153420#msg153420
;;;Modifyed VVA 21.01.2008 http://dwg.ru/f/showthread.php?t=16792
;;Change Page Setups on Select Layout (CPSSL)
(defun c:CPSSL (/                  adoc
                page_setups        dcl_id
                userclick          selection
                plotcfg            loc:get_page_setup
                loc:getSelectedItems
                loc:dwgru-get-user-dcl
               )
;;;
  (defun loc:get_page_setup (doc func / lst)
    (vlax-map-collection
      (vla-get-plotconfigurations doc)
      '(lambda (x) (setq lst (cons ((eval func) x) lst)))
    ) ;_ end of vlax-map-collection
    (reverse lst)
  ) ;_ end of defun
;;;
  (defun loc:getSelectedItems (tilename AllItemsList / indexes)
    (if (setq indexes (get_tile tilename))
      (setq indexes (read (strcat "(" indexes ")"))
            indexes (mapcar '(lambda (n) (nth n AllItemsList))
                            indexes
                    ) ;_ end of mapcar
      ) ;_ end of setq
    ) ;_ end of if
    indexes
  ) ;_ end of defun
;;;
;;; ************************************************************************
;;; * Библиотека DWGruLispLib Copyright ©2008  DWGru Programmers Group
;;; *
;;; * loc:dwgru-get-user-dcl (Кандидат)
;;; *
;;; * Запрос значения у пользователя через диалоговое окно
;;; *
;;; *
;;; * 21/01/2008 Версия 0001. Редакция Владимир Азарко (VVA)
;;; ************************************************************************


  (defun loc:dwgru-get-user-dcl
         (zagl info-list multi / fl ret dcl_id msg layouts)
         ;|
* Запрос значения у пользователя через диалоговое окно
* Диалог формируется "налету"
* Параметры вызова:
    zagl - заголовок окна [String]
    info-list - список строковых значений[List of String]
    multi - t - разрешен множественный выбор, nil- нет
    
* Возвращает:
 Список выбранных строк или nil - отмена
* Пример
 (loc:dwgru-get-user-dcl "Укажите вариант" '("Первый" "Второй" "Третий") nil) ->("Первый") 
 (loc:dwgru-get-user-dcl "Укажите вариант" '("Первый" "Второй" "Третий") t) ->("Первый" "Второй") 
|;
    (if (null zagl)
      (setq zagl "Выбор")
    ) ;_ end if
    (setq fl (vl-filename-mktemp "dwgru" nil ".dcl"))
    (setq ret (open fl "w"))
    (mapcar
      '(lambda (x) (write-line x ret))
      (list "dwgru_msg : dialog { "
            (strcat "label=\"" zagl "\";")
            " :list_box {"
            "alignment=top ;"
            (if multi
              "multiple_select = true ;"
              "multiple_select = false ;"
            ) ;_ end of if
            "width=31 ;"
            (if (> (length info-list) 26)
              "height= 26 ;"
              (strcat "height= " (itoa (+ 3 (length info-list))) ";")
            ) ;_ end of if
            "is_tab_stop = false ;"
            "key = \"info\";}"
            "ok_cancel;}"
      ) ;_ end of list
    ) ;_ end of mapcar
    (setq ret (close ret))
    (if (and (null (minusp (setq dcl_id (load_dialog fl))))
             (new_dialog "dwgru_msg" dcl_id)
        ) ;_ end and
      (progn (start_list "info")
             (mapcar 'add_list info-list)
             (end_list)
             (set_tile "info" "0")
             (setq ret "0")
             (action_tile "info" "(setq ret $value)")
             (action_tile "cancel" "(done_dialog 0)")
             (action_tile "accept" " (done_dialog 1)")
             (if (zerop (start_dialog))
               (setq ret nil)
               (setq
                 ret (mapcar (function (lambda (num) (nth num info-list)))
                             (read (strcat "(" ret ")"))
                     ) ;_ end mapcar
               ) ;_ end setq
             ) ;_ end if
             (unload_dialog dcl_id)
      ) ;_ end of progn
    ) ;_ end of if
    (vl-file-delete fl)
    ret
  ) ;_ end of defun

   ;_ end of defun

;;;
  (vl-load-com)
  (setq adoc (vla-get-activedocument (vlax-get-acad-object)))
  (setq page_setups
         (loc:get_page_setup
           adoc
           '(lambda (x)
              (if (eq (vla-get-modeltype x) :vlax-false)
                (vla-get-name x)
                nil
              ) ;_ end of if
            ) ;_ end of lambda
         ) ;_ end of loc:get_page_setup
  ) ;_ end of setq
;;;_Change VVA
  (setq page_setups (vl-remove-if 'null page_setups))
;;;_Add VVA
  (if (and page_setups
           (setq selection (loc:dwgru-get-user-dcl
                             "Select Page Setups"
                             page_setups
                             nil
                           ) ;_ end of loc:dwgru-get-user-dcl
           ) ;_ end of setq
           (setq
      layouts (loc:dwgru-get-user-dcl
         "Select Layouts with Shift or Ctrl"
         (acad_strlsort
    (mapcar
      '(lambda (y / x)
         (setq x (vla-item (vla-get-Layouts adoc) y))
         (strcat
    y
    (if (= (cdr (assoc 1 (entget (vlax-vla-object->ename x)))) "")
      "/___/(Нет)"
      (strcat "/___/("
       (cdr (assoc 1 (entget (vlax-vla-object->ename x))))
       
         ")"
      )
    )
 
         )
       )
      (LAYOUTLIST)
    )
         )
         t
       ) ;_ end of loc:dwgru-get-user-dcl
    ) ;_ end of setq

	   (setq layouts
    (mapcar '(lambda(x)
	       (car (dwgru-string-to-list x "/___/"))
	     
        )
     layouts
     )
   )
	   
           (setq plotcfg (vla-item (vla-get-plotconfigurations adoc)
                                   (car selection)
                         ) ;_ end of vla-item
           ) ;_ end of setq
      ) ;_ end of and
    (vlax-map-collection
      (vla-get-layouts adoc)
      '(lambda (x)
         (if (and (eq (vla-get-modeltype x) :vlax-false)
                  (member (vla-get-name x) layouts)
             ) ;_ end of and
           (vla-copyfrom x plotcfg)
         ) ;_ end of if
       ) ;_ end of lambda
    ) ;_ end of vlax-map-collection
  ) ;_ end of if
  (princ)
) ;_ end of defun
(princ "\nType Change_page_setups or CPSSL in command line")

Последний раз редактировалось Sleekka, 01.03.2009 в 13:27.
Sleekka вне форума  
 
Автор темы   Непрочитано 02.03.2009, 11:30
1 | #28
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


>Slekka Полность согласен.
Изменил #19. Теперь при невозможности получить формат листа должен отображаться знак ?.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 17.03.2011, 07:24
#29
rain_day


 
Регистрация: 02.10.2008
Сообщений: 198


Очень полезная штука, спасибо вам! Но если вдруг кто возмется модифицировать, имею пожелание. Было бы удобнее сделать эти все операции в табличном виде: Имеется список листов (строки), имеются наборы параметров (столбцы) и в них ставить галки напротив листов. Так будет всё перед глазами - и параметры и листы.
На подобии как в публикации, только там ковырять нужно каждый лист, нет пакетной работы с листами, эти списки всплывающие...в общем, неудобно там
rain_day вне форума  
 
Автор темы   Непрочитано 17.03.2011, 11:14
#30
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
Сообщение от rain_day Посмотреть сообщение
Имеется список листов (строки), имеются наборы параметров (столбцы) и в них ставить галки напротив листов.
Язык диалоговых окон (dcl) в плане графики остался на уровне ~ 1990 г. Поэтому такое в нем не реализовать (:
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 12.05.2011, 10:19
#31
Агент СмиТ

Gti
 
Регистрация: 14.01.2010
МО Железнодорожный
Сообщений: 121


>VVA спасибо за CPSSL, думаю пользовать её на этапе подготовки к публикации, когда становится ясно на каком из принтеров в офисе целесообразней выводить на печать (соответственно определяются и допустимые размеры полей) Однако возникает проблема удаления ранее сохраненных наборов параметров листов!

Обясните пожалуйста, а то же второй день рыскаю по форуму в поисках ответа, но кажется этот банальный вопрос не освещен, посему прошу сильно не ругать, если что!
Агент СмиТ вне форума  
 
Автор темы   Непрочитано 12.05.2011, 15:38
#32
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
Сообщение от Агент СмиТ Посмотреть сообщение
но кажется этот банальный вопрос не освещен
Это только кажется
Как избавиться от не нужных page setup?
Собрал все команды в одну кучу и обновил код в #1
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 12.05.2011, 17:57
#33
Агент СмиТ

Gti
 
Регистрация: 14.01.2010
МО Железнодорожный
Сообщений: 121


>VVA Спасибо за подсказку, по таким ключевым словам я сам очень долго искал бы! Протестил лисп всё работает, и хотя CPSSL и DPS думается буду часто использовать по сравнению с достаточно кардинальными DAPS и CPS, не хотелось бы вывешивать все 4 кнопки на панель, может дойдут у вас руки сделать диалог наподобие легендарного COORN?
Агент СмиТ вне форума  
 
Автор темы   Непрочитано 12.05.2011, 19:03
#34
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Обновил #1
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 13.05.2011, 10:16
#35
Агент СмиТ

Gti
 
Регистрация: 14.01.2010
МО Железнодорожный
Сообщений: 121


Спасибо ещё раз VVA, всё работает как надо!
Агент СмиТ вне форума  
 
Непрочитано 16.07.2011, 10:43
#36
5hev

roads
 
Регистрация: 22.12.2010
msk
Сообщений: 121
<phrase 1= Отправить сообщение для 5hev с помощью Skype™


Прошу прощения за такие поздние вопросы, но все же спрошу, ибо не догнал не запуская.
- сабж позволяет печатать заданные листы или просто меняет page setup?
- подразумевается что при смене ps пользователь будет работать с тем выделением на листе, которое уже было задано?
- насколько понимаю, если на листе акада несколько форматок в разных так сказать местах, то придется после смены ps выделять и печатать каждую?

Если кто ответит, буду благодарен =)
5hev вне форума  
 
Непрочитано 16.07.2011, 11:45
#37
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Цитата:
CPSSL - изменяет параметры листа выбранных листов
Пользовался предыдущей версией.
Заменяет набор параметров листа - например к листу 3,4 применен набор параметров листа "а"
Лисп позволяет заменить набор параметров "а" на "б".
Результат - к листу 3,4 применен набор параметров листа "б"
Перебирать все листы нет необходимости, если к ним уже был применен какой либо набор параметров листа, в случае если был жестко назначен принтер, поищите по форуму ключевое слово - набор параметров листа.

У меня таковые созданы к виртуальному PDF, имя НПЛ /ps/ задано таким образом, что содержит по порядку - имя принтера/кратко/ - ориентация П/А (портрет/альбом) - формат А...x... - формат мм...xмм.... Весь процесс подготовки к пакетной распечатке сводится к применению НПЛ /выпадающий список/, редактированию размеров видового экрана, вписывания (этот волшебный лисп дает возможность менять НПЛ один на другой не открывая каждый лист по отдельности, ну приспичило например поменять что-то в НПЛ скажем А4x5), основная надпись и рамка болтаются в модели, т.к. в лист заходить лишний раз нет желания, тормознуто все до безобразия, я там бываю один раз - при вписывании готового листа модели, т.е. во вкладке листа только ВЭ, изредка вставляю основную надпись и рамку поверх листа когда в модели лист не 1к1, при моей специализации 3-4 листа из 50.

В твердую копию - через промежуточную публикацию в dwf (там есть возможность сортировки по формату, т.е. выделяешь диапазон скажем А3 и посылаешь на соответствующий принтер гуртом все А3)


Цитата:
насколько понимаю, если на листе акада несколько форматок в разных так сказать местах
я так не делаю никогда, одна вкладка - один лист (в модели несколько), левый нижний угол - всегда в 0,0 чего и всем желаю, другие варианты не выглядят естественно, хотя и имеют право на существование для узкоспециальных применений, в некоторых вопросах интерфейс очень избыточен по сути.

P/s/ для еще больших возможностей есть подшивки.

Последний раз редактировалось perpetule, 16.07.2011 в 12:26.
perpetule вне форума  
 
Непрочитано 19.07.2011, 17:44
#38
Агент СмиТ

Gti
 
Регистрация: 14.01.2010
МО Железнодорожный
Сообщений: 121


Немного по CPSSL: http://forum.dwg.ru/showpost.php?p=781705&postcount=442
Агент СмиТ вне форума  
 
Непрочитано 21.07.2011, 01:24 Агент СмиТ
#39
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Есть множество способов, вывода на печать, больштинство ограничиваются выводом рамкой из пространства модели, реже листа.

Совсем нетипичные случаи, наборы листов *.dsd (весьма невнятный интерфейс, скорость вывода из пространства модели просто фантастическая, на порядок выше публикации, из пространства листа мной не проверялась ).

Если человек, по необходимости, или из любопытства, добрался до оформления в листе (самые разнообразные сочетания ВЭ или без затей поверх листа), следующий этап по удобству и гибкости - это то что вы описали в предыдущем посте (все сказанное ИМХО и не претедует на истину в последней инстанции).

За этим этапом следует подшивка, с основной надписью оформленной полями из подшивки, причем (здесь тоже присутствует многовариантность, на мой взгляд оптимальна подшивка - шаблон, с уже оформленными основными надписями связанными с листами подшивки, которые в свою очередь помещены в непечатаемые группы, для того чтобы включить лист в проект, достаточно перетащить мышой лист из непечатаемой группы в печатаемую, подобный шаблон легко сформировать из любого готового проекта, оформленного подшивкой /^4/ ). Что следует за подшивкой мне неизвестно, да забыл упомянуть, есть еще лисп отправляющий прямоугольник в определенном слое /модель/ на принтер с определенным набором параметров листа, мною не тестировалось (но это не для тех кто плотно работает с масштабами).

Теперь по вашему посту,
Цитата:
Для разметки листа пользуюсь нулевым слоем (сделал его непечатаемым)
слой 0 главным образом предназначен для блоков, и делать его непечатаемым, значит терять некоторые специфические свойства.
Слой Defpoints и Ashade, тоже специфические, переназначать их я бы не рекомендовал.
Исключение- /для моей специфики/ дабы часто не переключаться со слоя на слой /редко, но все же пользуюсь фильтрами по слою/, переназначил слою ноль цвет на 8 /темно серый/, теперь не так бьет по глазам на темном фоне, и сразу видно мой ли файл, пользуюсь им как для блоков, так и для построений примитивами, хотя это и не считается хорошим тоном, / толщина или вернее глобальный масштаб задается не через слой а текущей глобальной шириной полилинии, можно поискать по форуму "новые команды для работы с полилинией"/ , это когда нет необходимости выделять функционал построения, или то же самое в функциональный слой, если не хотите чтобы после взрыва подобной полилинии изменился вид напечатанного, необходимо опять же поместить ее на определенный слой с весом по слою, или задать вес жестко.

Цитата:
Для завершения работы над схемой нам понадобится замечательная программка уважаемого VVA под названием «layout» (см. http://dwg.ru/f/showthread.php?p=238661#post238661)
Это просто замечательно, тут намечается подход мною пока не опробованный, можно сформировать проект, по принципу раздел-файл, не пользуясь подшивкой, либо используя ее на заключительном этапе, каждый раз просто включая все листы в подшивку,
Ведомость комплекта все равно как не мудри приходится ручками составлять, хотя "сформировать ведомость листов" одна из лучших возможностей подшивки.

Цитата:
Если необходимо перенастроить вывод листов на другой принтер и при этом вывод на ранее настроенный принтер пока не планируется (перенастроить обратно, имея «старый» набор параметров листа элементарно): создать новый набор параметров листа (см. п.4) и командой «CPS» («CPSSL») программы VVA «page_setup» (http://forum.dwg.ru/showthread.php?p=238661#post238661) применить этот набор к необходимым листам. Далее жмём «Публикация» и перенастроенный процесс печати пошёл!
Имея физические принтера A4/A3 (возможно не в одном флаконе) и плотер, мы имеем геморр с многовариантностью которая просто зашкаливает все разумные пределы, а если еще упомянуть возможность поломки плотера и покупки другого, не так уж и редко такое случается, такой подход не представляется оптимальным.
Гораздо проще - создать копию виртуального предустановленного принтера (PDF, DWf), назначить им все возможные комбинации дополнительных форматов листов (несколько десятков), и просто иметь резервные копии этих файлов, и вы не будете как попугай, повторять одни и те же действия по надцать... раз, вы не зависите от принтера/плотера и его модели /тут тоже есть свой тонкости, но они не критичны/, имея такой виртуальный принтер, комплект наборов параметров листа, и шаблон подшивки, где листу соответствует основная надпись, оформление листа занимает по времени около 15-20 секунд, с возможностью в дальнейшем переместить лист произвольно и сдвинуть нумерацию листов не открывая каждый лист по отдельности, причем эти листы могут принадлежать разным dwg файлам (минут 5, на 30 листов, с меньшим кол-вом, с подшивкой связываться не имеет особого смысла, поскольку у вас уйдет изрядное кол-во времени на освоение интерфейса, если не у кого спросить как это делается, я не имел такой возможности), из минусов - промежуточная распечатка в эл. копию (50 - листов минут 10), из плюсов экономия бумаги - ляпы гораздо легче отследить имея готовый скомпанованный вариант пректа в эл. виде, скорость перемещения и наглядность выше нежели чем dwg, я обычно просматриваю такую эл. версию, выписываю конспективно огрехи и потом имея ее перед глазами быстренько правлю перед физической распечаткой, затем распечатываю в эл. копию еще раз, одна из причин сподвигнувшая меня на освоение подшивки, требование передавать заказчику как тв. копию, так и эл. вариант, не dwg, как правило делается это не один раз, по разным и не зависящим от меня причинам.


Цитата:
Дополнительно хочу отметить, что во избежание ошибок, листы разного формата отправляю на печать раздельно
Вот это очень правильно.

Цитата:
К сожалению, как сохранить в наборе параметров листа настройки самого принтера, я так и не разобрался.
Никак, для A3/A4 если драйвера принтера не поддерживают автоматическую смену лотка подачи бумаги.
Для плотера вообще не имеет значения, на сегодняшний день большинство пользуют HP (язык HPGL или HPGL/2), с корректным автовращением по рулону (при непосредственной печати, если физический размер листа задан на 10-20 мм больше с каждой стороны, и проставлен масштаб 100%), для не HP зависит от драйвера модели.
В DWF/PDF есть функция выбрать формат из dwf/pdf + ставите 100% и забываете об остальном.

P.S. Еще один час оторван от сна. Рад буду если комуто помог, хотя подавляющему большинству это до лампочки....

Последний раз редактировалось perpetule, 21.07.2011 в 02:05.
perpetule вне форума  
 
Непрочитано 21.07.2011, 12:51 perpetule
#40
Агент СмиТ

Gti
 
Регистрация: 14.01.2010
МО Железнодорожный
Сообщений: 121


Цитата:
Совсем нетипичные случаи, наборы листов *.dsd (весьма невнятный интерфейс, скорость вывода из пространства модели просто фантастическая, на порядок выше публикации, из пространства листа мной не проверялась ).
Насколько я понимаю файлы *.dsd, это лишь перечень листов конкретного файла, который можно использовать при публикации этого файла (а не "минусовать" ненужные листы), о какой скорости вывода идёт речь?

Цитата:
Если человек, по необходимости, или из любопытства, добрался до оформления в листе
Я бы сказал в основном из лени и отчасти из любопытства

Цитата:
слой 0 главным образом предназначен для блоков, и делать его непечатаемым, значит терять некоторые специфические свойства.
Слой Defpoints и Ashade, тоже специфические, переназначать их я бы не рекомендовал.
Со слоем Ashade никогда не сталкивался, о Defpoints знаю только, что при отключенном слое 0, он не редактируется и не выбирается. Видимо надо почитать об этих слоях побольше, авось удастся к своей работе что-нибудь полезное прикрутить.

Цитата:
Цитата: Для завершения работы над схемой нам понадобится замечательная программка уважаемого VVA под названием «layout» (см. http://dwg.ru/f/showthread.php?p=238661#post238661)

Это просто замечательно, тут намечается подход мною пока не опробованный, можно сформировать проект, по принципу раздел-файл
Наши проектировщики именно так и поступают с той лишь разницей, что форматки они размещают в пространстве модели, а в pdf перегоняют видимо через выделение рамкой, либо через
Цитата:
лисп отправляющий прямоугольник в определенном слое /модель/ на принтер с определенным набором параметров листа
На выходе получается папка с многостраничными pdf-ами и doc-овский файлик с кратким составом проекта и гиперссылками на pdf.

Цитата:
Имея физические принтера A4/A3 (возможно не в одном флаконе) и плотер, мы имеем геморр с многовариантностью которая просто зашкаливает все разумные пределы, а если еще упомянуть возможность поломки плотера и покупки другого, не так уж и редко такое случается, такой подход не представляется оптимальным.
Гораздо проще - создать копию виртуального предустановленного принтера (PDF, DWf), назначить им все возможные комбинации дополнительных форматов листов (несколько десятков)...
К причинам смены принтера имеет смысл также отнести и "внезапное" окончание чернил (порошка) в картриджах, а печатать надо "к утру что б было". Перегонка часто печатаемых документов в pdf вещь, БЕЗУСЛОВНО полезная, т.к. отправить pdf на печать гораздо проще, нежели dwg, НО опять же на конкретный принтер т.к. размеры печатаемой области, а главное размеры полей могут значительно отличаться (опциями "вписать" и "подогнать" я не пользуюсь, т.к. в 90% случаев масштаб документа критичен). Выход возможен заданием размеров листов под минимальную облась печати и под обрез форматки, но при просмотре в pdf будет выглядеть довольно убого. Хотя имея два НПЛ - для просмотра и для твердой копии... В общем на данный момент я настраиваю листы под физический принтер (в работе стараюсь сводить к минимуму количество используемых форматов), а при необходимости вывода в pdf просто меняю НПЛ, НО т.к. чертёж в листе остаётся на месте, а поля у виртуального принтера минимальны, ему практически всё равно что "жевать".

Цитата:
из минусов - промежуточная распечатка в эл. копию (50 - листов минут 10)
Немного не в тему но тоже о балансе "время-качество". Если в цепочку dwg > окончательный pdf добавить перегонку в postscript, на выходе можно получить значительно более лёгкий файл (сжатие в 10 и более раз), который соответственно будет легче и выводить на печать и просматривать (сам проделывал такое с помощью дистиллера и акробата, но возможность dwg > postscript > pdf не проверял).

Цитата:
из плюсов экономия бумаги - ляпы гораздо легче отследить имея готовый скомпанованный вариант пректа в эл. виде, скорость перемещения и наглядность выше нежели чем dwg
Полностью согласен, тем более что заметить сразу все ляпы мне не иногда не удаётся, потому приходится действовать методом "последовательных итераций" ))


Цитата:
P.S. Еще один час оторван от сна. Рад буду если комуто помог, хотя подавляющему большинству это до лампочки....
Уровень знания AutoCad, специфика работы, как и стремление узнать новое, у всех разные, потому и одинаково интересно всем думаю быть не может.
Агент СмиТ вне форума  
 
Непрочитано 21.07.2011, 20:56 Агент СмиТ
#41
perpetule


 
Регистрация: 23.09.2008
Волгоград
Сообщений: 805
<phrase 1= Отправить сообщение для perpetule с помощью Skype™


Цитата:
т.к. отправить pdf на печать гораздо проще, нежели dwg, НО опять же на конкретный принтер т.к. размеры печатаемой области
Не, не так, начиная с 2010 acada, не нужно иметь два набора параметров листа для pdf и dwf печати - достаточно одного, но обязательно на встроенный виртуальный принтер, либо DWFe6.ps3 либо такой же виртуальный встроенный pdf.pc3, оба они позволяют отправлять как в pdf, так и в dwf, настройки нестандартных всевозможных А4х5 и.т.д. хранятся в соответствующих *.pmp файлах, самое мерзкое, что создавать такой набор нужно сразу подряд, не выходя ни разу из интерфейса создания, т. к. кто-то очень умный придумал сортировать созданные нестандартеые листы исключительно только по порядку создания, в результате на выходе получаем /я лично переименовал/ пару файлов *.pc3 и *.pmp, где забиты все основные и дополнительные форматы листов по СПДС с нулевыми полями печати, принтер же виртуальный, он то могет, соответствующую таблицу легко найти в инете. По вопросу вписывания, это отдельная тема, но упомяну, что в новом госте по СПДС нижнее поле для А3/А4 уже не 5 мм, а от 5 до 10, я лично так понял такую запись 5(10), такое нововведение связано именно с невозможностью получить другим способом м1_1 на листах А3/А4, из-за области печати подобных принтеров, для плоттеров с рулона такой проблемы не существует... но не будешь же А3/А4 печатать с рулона их извините тогда еще обрезать нужно будет, ножничками по рамке м1_1.

Из PDF в твердую копию никогда не печатал, поскольку нет возможности отсортировать листы при печати или публикации по формату, а вот после публикации в dwf - легко, причем физический принтер с соответствующим лотком, выбирается один раз на диапазон одного форомата (на раздел), т.е. эта дрянь сама выдаст вам листы с произвольным порядком нумерации, но все скажем А3 горизонтальные - подряд, стопочкой, потом гораздо легче их ручками раскидать, чем тыкаться по одному листу на разные принтера (в N экземплярах, да еще с подписью/без подписи, ...тьфу...вспоминать тошно...). А также можно получить раздел в много/одно листовой PDF с внятной нумерацией, имея всего ОДИН НАБОР НАБОРОВ параметров листа , тавтология однако, для такого виртуального принтера (ОДНОГО), на каждый основной А3/А4/А2... и на каждый дополнительный А4х4 и т.д.

Основная мысль - создается виртуальный принтер который знает как основные, так и дополнительные - наши отечественные форматы листов, этому принтеру впоследующем назначаются наборы параметров листов, и далее - весь процесс пакетной печати сводится к оформлению в листе, для прдвинутых этот лист в подшивку, оформление листа - в свою очередь сводится к редактированию размеров видового экрана, и применении к листу из выпадающего списка готового набора параметров листа ОДНОГО виртуального принтера, котрый от вас уже не убежит.
Далее из DWF на ЛЮБОЙ доступный в данный момент плоттер/принтер, диапазонами листов с одним форматом.
PDF - только как эл. версия с якобы не редактируемым форматом, хотя если приспичит, можно и с него распечатать, но только по листику за раз.

Т.Е. в итоге настройки листа мы вообще оставляем в покое и не турзучим их туда - сюда - обратно, при таком подходе , мы НИЧЕГО НЕ МЕНЯЯ , для каждого листа в отдельности, получаем PDF пакетом (), и DWF пакетом, соответственно DWF, позволяет получить твердую копию, с минимальными потерями нервов.
В свою очередь мне могут возразить, да мы и так получаем DWF, назначая каждому лусту физический принтер, на что я резонно замечу, только до тех пор пока в системе установлен соответствующий принтер и драйвера к нему, в подшивку также включается только pc3 файл, а вот pmp носите как хотите, вот вам и _etransmit... , даже ручками не нашел как добавить, т.е. добавить то можно, но только при конкретном сохранении, в следующий раз опять отправляйся в долгое путешествие по форточкам винды.

Последний раз редактировалось perpetule, 21.07.2011 в 21:37.
perpetule вне форума  
 
Непрочитано 19.08.2011, 03:30
#42
МИХАИЛCAD


 
Регистрация: 19.11.2009
Сообщений: 21


Да всё класс!
Только почему Autodesk не занимается решением подобных задач?
2012 выпустили а толку 0!
МИХАИЛCAD вне форума  
 
Автор темы   Непрочитано 16.09.2011, 09:44
#43
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Версия от САВ'а отсюда (требуется регистрация) PageSetups to Tabs
Миниатюры
Нажмите на изображение для увеличения
Название: PageSetups.png
Просмотров: 11295
Размер:	6.9 Кб
ID:	66294  Нажмите на изображение для увеличения
Название: PageSetups2.png
Просмотров: 11310
Размер:	4.2 Кб
ID:	66295  
Вложения
Тип файла: lsp PageSetups CAB 07.LSP (19.6 Кб, 513 просмотров)
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 16.09.2011 в 11:10. Причина: исправлен вызов команды _-PSETUPIN
VVA вне форума  
 
Непрочитано 16.09.2011, 10:36
#44
Агент СмиТ

Gti
 
Регистрация: 14.01.2010
МО Железнодорожный
Сообщений: 121


Опробовал PageSetups to Tabs в AutoCad 2011: наборы параметров в текущем файле листам присваивает, но вот с импортом параметров листов загвоздка
Код:
[Выделить все]
Команда:  _PSU .-PSETUPIN Неизвестная команда "-PSETUPIN".  Для вызова справки 
нажмите F1.

Команда: D:\********\Договора аренды.dwg Неизвестная команда 
"DWG".  Для вызова справки нажмите F1.

Команда: А3 PDF Неизвестная команда "А3 PDF".  Для вызова справки нажмите F1.

Команда:
    ***   PageSetups Finished   ***
Здесь "А3 PDF" - название НПЛ из файла "Договора аренды.dwg"

P.S. Поясните пожалуйста, есть ли преимущества у сабжа перед Вашей вполне надежной и функциональной CPSSL?
Агент СмиТ вне форума  
 
Автор темы   Непрочитано 16.09.2011, 11:10
#45
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
Сообщение от Агент СмиТ Посмотреть сообщение
.-PSETUPIN Неизвестная команда "-PSETUPIN".
Нужно _.-PSETUPIN. Перезагрузил исправленный лисп в #43
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 17.02.2012, 12:30
#46
rain_day


 
Регистрация: 02.10.2008
Сообщений: 198


А у меня ИНОГДА при вызове _CPSSL в скобках напротив именованых параметров печати и напротив листов пишется знак "?" вместо формата. Принтеры все подключены, установлены и работают с данными параметрами печати. Принтеры частично сетевые, частично локальные
И как не крути и не перезапускай - не помогает. Другой раз странным образом может всё отображаться замечательно...
Можно как-то поправить?

Последний раз редактировалось rain_day, 17.02.2012 в 13:40.
rain_day вне форума  
 
Автор темы   Непрочитано 17.02.2012, 13:51
#47
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
Сообщение от rain_day Посмотреть сообщение
в скобках напротив именованых параметров печати и напротив листов пишется знак "?"
Знак вопроса возвращается, если запрос vla-get-CanonicalMediaName (формат листа) у vla-get-plotconfigurations (конфигурации печати) вываливается с ошибкой. Ошибку я перехватываю (чтобы программа дальше работала) и пишу [?]. Почему так происходит - не знаю, что делать - не знаю, кто виноват - не знаю. На всякий случай озвучь операционную систему, ее разрядность, версию и разрядность Автокада, наличие сервис-паков. В общем "огласите, пожалуйста, весь список"
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 18.02.2012, 12:37
#48
rain_day


 
Регистрация: 02.10.2008
Сообщений: 198


Операционная система ХР 32 бита, SP3
Автокад 2008 32 бита
Принтеры сетевые и локальные
rain_day вне форума  
 
Непрочитано 24.01.2013, 13:04
#49
studios


 
Регистрация: 11.04.2007
Москва
Сообщений: 89


Подскажите пожалуйста.
До текущего времени лисп работал в 2006,2008, 2011 а вот перешел на 2012 английский 64-разр - и перестал работать. Подгружается, пишет строчку из princ, а когда комманду вбиваю - тишина.


Разобрался. У меня не было ни одного Page_Setups.
studios вне форума  
 
Непрочитано 04.07.2013, 14:24
#50
Isuma

конструктор
 
Регистрация: 29.09.2008
Санкт-Петербург
Сообщений: 159
<phrase 1=


Скажите, а возможно ли изменять не набор параметров, а всего один? мне нужно напечатать всё в монохроме...каждый лист переделывать не хочется (их много), а применить набор листов не получится, потому что форматы рамок везде разные.
__________________
Идеал оптимизации - это когда жмёшь куда попало, а получаешь то, что нужно.
Isuma вне форума  
 
Непрочитано 29.06.2015, 10:35
#51
posetitel


 
Регистрация: 16.10.2013
Сообщений: 395


скажите, есть возможность сразу во всех листах заменить печать с "рамки" на "лист" ?
posetitel вне форума  
 
Автор темы   Непрочитано 29.06.2015, 13:25
#52
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Не трогая всего остального вряд ли.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 29.06.2015, 13:43
#53
posetitel


 
Регистрация: 16.10.2013
Сообщений: 395


тогда смещение от начала по Х и по У назначить одинаковое всем листам?
posetitel вне форума  
 
Автор темы   Непрочитано 29.06.2015, 18:03
#54
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Назначить всем листам можно именованный набор параметров (см. #2)
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 30.06.2015, 09:13
#55
posetitel


 
Регистрация: 16.10.2013
Сообщений: 395


уже назначен каждому листу свой именованный набор параметров, но при публикации появляются лишние рамки (о проблеме писал вот тут http://forum.dwg.ru/showthread.php?t=122495 ), поэтому необходимо сразу для всех листов изменить параметр печати "рамка" на "лист" или же установить смещение, чтобы эта рамка попала в непечатную область.
posetitel вне форума  
 
Автор темы   Непрочитано 01.07.2015, 09:08
#56
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Попробуй внешний pdf принтер. Полно бесплатных.
Сообщение отсюда
Цитата:
Сообщение от VitalyAF Посмотреть сообщение
Ждали новый pdf принтер в Autocad 2016, но он к сожалению теряет настройки при публикации
нескольких листов из подшивки... Одиночные листы печатает великолепно, плюс бонусы со слоями, ссылками и проч.
специфика от Autodesk... Надеюсь обновят... листы (портрет/альбом) не крутит!
Итого: использую pdfFactory - для обычных + DWGToPDF для особых случаев.
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 02.07.2015, 09:56
#57
posetitel


 
Регистрация: 16.10.2013
Сообщений: 395


тогда опять вопрос:
в файле много листов различных форматов, каждому листу назначен именованный набор параметров для печати.
есть ли возможность в этом именованном наборе поменять принтер (с двг ту пдф на один из внешних) сразу для всех листов, не переназначая каждому формату по отдельности?
точно так же хотелось в этих именованных параметрах заменить печать с "рамки" на "лист", но это как я понял из сообщения 52 не получится (
posetitel вне форума  
 
Непрочитано 03.07.2015, 22:03
#58
Агент СмиТ

Gti
 
Регистрация: 14.01.2010
МО Железнодорожный
Сообщений: 121


Цитата:
Сообщение от posetitel Посмотреть сообщение
тогда опять вопрос:
в файле много листов различных форматов, каждому листу назначен именованный набор параметров для печати.
есть ли возможность в этом именованном наборе поменять принтер (с двг ту пдф на один из внешних) сразу для всех листов, не переназначая каждому формату по отдельности?
Если в НПЛ (набор параметров листа) внести какие либо изменения (в т.ч. и смена принтера), то они затронут все листы, к которым данный НПЛ применён.

Цитата:
Сообщение от posetitel Посмотреть сообщение
точно так же хотелось в этих именованных параметрах заменить печать с "рамки" на "лист"
Offtop: Задача особенно насущна для тех, кто привык пользоваться рамкой, не утруждая себя настройкой листов и решил упорядочить процесс вывода на печать.
К сожалению готового ответа у меня нет, можно только посоветовать попробовать внести изменения в НПЛ (поменять рамку на лист), если чертёж в остался стороне от формата, в диспетчере печати выбрать рамкой, нажать "Применить к листу", а затем снова применить необходимый НПЛ.
__________________
Каждая система стремится к равновесию.
Агент СмиТ вне форума  
 
Непрочитано 03.07.2015, 22:24
#59
posetitel


 
Регистрация: 16.10.2013
Сообщений: 395


Цитата:
Сообщение от Агент СмиТ Посмотреть сообщение
Если в НПЛ (набор параметров листа) внести какие либо изменения (в т.ч. и смена принтера), то они затронут все листы, к которым данный НПЛ применён.
Это понятно, я как раз и спрашиваю, как во всех НПЛ разом заменить принтер, т.к. в чертеже много листов с различными именованными НПЛ
posetitel вне форума  
 
Непрочитано 06.08.2015, 11:08
#60
Mozarello


 
Регистрация: 13.06.2010
Сообщений: 66


плоттер SC-t3200. никаких сторонних программне нужно. Самостоятельно в настройках можно записать все ваши форматы. кратные...не кратные....любые.
Mozarello вне форума  
 
Непрочитано 23.12.2015, 15:12
#61
Mr. Crowley


 
Регистрация: 11.06.2015
Сообщений: 2


Ребят, а можно как-то добавить программе возможность менять пакетно для листов стиль печати? Сейчас создаю наборы для каждого формата, ориентации по два стиля печати monochrome и acad, что не совсем удобно.
Mr. Crowley вне форума  
 
Непрочитано 05.12.2017, 16:00
#62
posetitel


 
Регистрация: 16.10.2013
Сообщений: 395


вот да, возможно ли добавить изменение стиля печати с акад на монохром. Часто требуется менять то цветная печать, то чернобелая.
posetitel вне форума  
 
Автор темы   Непрочитано 05.12.2017, 22:08
#63
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Цитата:
Сообщение от Mr. Crowley Посмотреть сообщение
добавить программе возможность менять пакетно для листов стиль печати
Цитата:
Сообщение от posetitel Посмотреть сообщение
возможно ли добавить изменение стиля печати с акад на монохром
Добавил команду CPStyle. Тестируй
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 06.12.2017, 09:09
#64
posetitel


 
Регистрация: 16.10.2013
Сообщений: 395


а в какой лисп добавлена команда?
в CPSSL от VVA не добавлена,
в PageSetups to Tabs от CAB'a тоже
posetitel вне форума  
 
Автор темы   Непрочитано 06.12.2017, 11:12
1 | #65
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


posetitel, Не прикрепилось вложение. Прошу прощение за невнимательность. Обновлю вечером, т.к. исправленный лисп остался на домашнем компьютере
Команда выделена в посте #1 красным. Сам код будет вечером

----- добавлено через ~12 ч. -----
Цитата:
Сообщение от VVA Посмотреть сообщение
Не прикрепилось вложение.
Обновил #1
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 18.03.2018, 18:40
#66
posetitel


 
Регистрация: 16.10.2013
Сообщений: 395


Лисп работает, стили меняются в выбранных листах, и если потом печатать по одному листу, то стили будут соответствовать. Но вот если публиковать, то стили печати сбрасываются на какие-то свои дефолтные. Как это можно исправить?
прилагаю акад файл и листы после публикации и печати по отдельности
Добавлю, если в ручную стиль печати выставлять acad.ctb, то в измененном листе печать будет цветная. Значит лисп не до конца что-то меняет.
Еще, если изначально на листах установить acad.ctb и потом менять его с помощью лиспа, то все работает
Вложения
Тип файла: pdf Чертеж3.pdf (2.4 Кб, 47 просмотров)
Тип файла: dwg
DWG 2013
чертеж3.dwg (40.3 Кб, 37 просмотров)
Тип файла: pdf чертеж3-1.pdf (1.4 Кб, 41 просмотров)

Последний раз редактировалось posetitel, 18.03.2018 в 19:31.
posetitel вне форума  
 
Непрочитано 15.11.2019, 09:09
#67
Pesec

ГИП
 
Регистрация: 10.06.2005
Сообщений: 78


Пытаюсь применить лисп для изменения стилей печати в листах. Получаю шибку:
"Команда: CPSTYLE
Использование: (acad_strlsort <список строк>)
Невозможно вызвать (command) из *error* без предварительного вызова (*push-error-using-command*).
Рекомендуется преобразовать (command) в (command-s)."
В появляющемся окошке выбора стиля печати пустые строки.
ACAD 2015 Arch что нужно исправить для правильной работы лиспа?
__________________
"Кабы схемку аль чертёж, мы б затеяли вертёж..."
Pesec вне форума  
 
Автор темы   Непрочитано 15.11.2019, 11:03
1 | #68
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Pesec, Сложно без примера. Посмотрел код. Возможная причина - наличие нескольких папок в путях доступа (это не обрабатывалось). Добавил

----- добавлено через ~2 мин. -----
Сохранил пока обе версии. Проверь и отпишись
__________________
Как использовать код на Лиспе читаем здесь

Последний раз редактировалось VVA, 17.11.2019 в 22:07.
VVA вне форума  
 
Непрочитано 15.11.2019, 11:59
#69
Pesec

ГИП
 
Регистрация: 10.06.2005
Сообщений: 78


Цитата:
Сообщение от VVA Посмотреть сообщение
Pesec, Сложно без примера. Посмотрел код. Возможная причина наличие нескольких папок в путях доступа (это не обрабатывалось). Добавил
Да, спасибо, заработало.
__________________
"Кабы схемку аль чертёж, мы б затеяли вертёж..."
Pesec вне форума  
 
Автор темы   Непрочитано 15.11.2019, 18:03
#70
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Удалили из #1 старую версию
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 02.02.2022, 09:48
| 1 #71
Scared


 
Регистрация: 06.10.2017
Сообщений: 43


Подниму тему.
Допустим мне присылают чертежи разные люди, нет возможности им установить один принтер.
Листы уже настроены, но часто используется довольно много форматов: А4, А3, А2, А1, 3хА4, 4хА4, 3хА3 и т.п.
Причем в названии листа не указано какой используется формат. Узнать это можно только зайдя на лист.
При такой системе переназначать листы по шаблону становится неэффективно
Так и не разобрался. Можно ли поменять только принтер, оставив исходные настройки листа?

----- добавлено через ~4 мин. -----
И еще второй вопрос. Как я понимаю, можно отдельно заменить стиль печати для разных листов
А можно ли таким же образом поменять отдельные свойства, например прозрачность при печати?
Scared вне форума  
 
Непрочитано 02.02.2022, 19:52
#72
maratovich


 
Регистрация: 12.07.2009
г. Самара
Сообщений: 2,437
Отправить сообщение для maratovich с помощью Skype™


Цитата:
Сообщение от Scared Посмотреть сообщение
Можно ли поменять только принтер, оставив исходные настройки листа?
При смене принтера "слетают" все настройки печати листа, это так работает Автокад. Поэтому сохранить предыдущее невозможно.
Я знаю как всё переназначить, да и может быть это и вообще не потребуется, но это уже совсем другая тема.
maratovich вне форума  
 
Непрочитано 04.02.2022, 10:28
#73
Scared


 
Регистрация: 06.10.2017
Сообщений: 43


Цитата:
Сообщение от maratovich Посмотреть сообщение
При смене принтера "слетают" все настройки печати листа, это так работает Автокад. Поэтому сохранить предыдущее невозможно.
Я знаю как всё переназначить, да и может быть это и вообще не потребуется, но это уже совсем другая тема.
Если я руками меняю принтер - у меня ничего не слетает, если используются гостовские форматы.
Хотелось бы чтоб лисп умел делать то же самое. Если принтер поддерживает аналогичный формат - ставится такой же. Если не поддерживает - пусть ставит наиболее близкий либо любой формат по умолчанию
Scared вне форума  
 
Непрочитано 29.07.2023, 09:07
#74
Serafym


 
Регистрация: 14.03.2020
Сообщений: 39


к сожалению не работает на Автокад 2024 ничего кроме изменения стилей, поправьте кто-нибудь пожалуйста
Serafym вне форума  
 
Автор темы   Непрочитано 31.07.2023, 10:44
#75
VVA

Инженер LISP
 
Регистрация: 11.05.2005
Минск
Сообщений: 6,996


Serafym, Нет пока еще 2024. Опыт показывает, что нужно дождаться 1-го сервиспака
__________________
Как использовать код на Лиспе читаем здесь
VVA вне форума  
 
Непрочитано 31.07.2023, 19:05
#76
Serafym


 
Регистрация: 14.03.2020
Сообщений: 39


очень жаль. Мой опыт мне подсказывает что 2024 и без SP весьма хорош правда в силу крайних событий теперь для него нет модуля СПДС, но возможно это и к лучшему, будет меньше вылетов CPSSL запускается после применения лиспа с сайта автокад https://help.autodesk.com/view/ACD/2...5-856A1722C891 который создаёт набор параметров, его бы подправить чтобы можно было задавать параметры набора. Можно конечно сделать файл чертежа под все форматы, но это слишком в лоб

Последний раз редактировалось Serafym, 31.07.2023 в 19:54.
Serafym вне форума  
 
Непрочитано 12.04.2024, 15:33
#77
bmwestos


 
Регистрация: 23.09.2021
Сообщений: 1


Добрый день!
VVA спасибо! И еще раз спасибо!
автокад 2021, все работает.
p.s. (перешел на 2021-й автокад, забыл что такое Fatal error, за три года вылетел раза 3-4)
bmwestos вне форума  
 
Непрочитано 05.04.2025, 14:11
#78
Mita57


 
Регистрация: 17.03.2025
Сообщений: 1


А можно добавить функцию, что бы рамка области печати привязывалась к самой большой полилинии(прямоугольник) в пространстве листа?
Mita57 вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > Программирование > Готовые программы > LISP. Изменение настроек принтера в листе(листах)



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение настроек экрана olegg Программирование 17 19.10.2007 15:21
Изменение форматированного текста посредством lisp Tramp LISP 4 03.03.2006 11:28
загрузка DOS прог через LISP Gaa LISP 15 12.08.2005 19:19