Мгновенная смена "Учитывать веса линий" на всех листах файла для пакетной печати
| Правила | Регистрация | Пользователи | Сообщения за день |  Справка по форуму | Файлообменник |

Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Мгновенная смена "Учитывать веса линий" на всех листах файла для пакетной печати

Мгновенная смена "Учитывать веса линий" на всех листах файла для пакетной печати

Ответ
Поиск в этой теме
Непрочитано 17.12.2024, 17:26 #1
Мгновенная смена "Учитывать веса линий" на всех листах файла для пакетной печати
San-Miguel
 
Регистрация: 06.08.2019
Сообщений: 56

Приветствую.
В файле много листов. Иногда требуется печатать в пдф с тонкими линиями (работа на мониторе), то есть в листе в параметрах печати снимается галочка "Учитывать веса линий". Но иногда требуется печатать в пдф с номинальными линиями (для печати на бумаге), то есть уже следует включать в параметрах печати снимается галочка "Учитывать веса линий".
Как мгновенно для всех листов одной командой или иным способом включать/отключать функцию "Учитывать веса линий" для возможности пакетной печати всех листов с нужным режимом веса линий?
Просмотров: 741
 
Непрочитано 19.12.2024, 06:55
#2
Автон

СЦБ
 
Регистрация: 09.03.2006
Сообщений: 89


Код:
[Выделить все]
 (defun c:SetPlotWithLineweights ()
  (setq userInput (getint "\nВведите 1 для включения Учитывать веса линий, или 0 для отключения: "))
  (setq acadObj (vlax-get-acad-object))
  (setq doc (vla-get-ActiveDocument acadObj))
  (setq Layouts (vla-get-Layouts doc))
  (if (or (= userInput 1) (= userInput 0))
    (progn
      (vlax-for Layout Layouts
        (vla-put-PlotWithLineweights Layout (if (= userInput 0) :vlax-false :vlax-true))
        (setq newValue (vla-get-PlotWithLineweights Layout))
        (princ (strcat "\nДля листа " (vla-get-Name Layout) " установлено: " (if (= newValue :vlax-true) "True" "False")))
      )
    )
    (princ "\nНекорректный ввод. Пожалуйста, введите 1 или 0.")
  )
  (princ)
)
Автон вне форума  
 
Непрочитано 19.12.2024, 07:49
#3
name02


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


Если печатать не в растре, а как векторе, то в просмоторщиках PDF можно включать и отключать толщины линий - это точно есть в Adobe Acrobat и PDF X-Change Editor
В Adobe Acrobat нужно сделать так:
1 Добавить в панель инструментов кнопку включения/отключения толщин линий
Нажмите на изображение для увеличения
Название: Рисунок1.png
Просмотров: 47
Размер:	46.4 Кб
ID:	265964

2 На панели инструментов появится новая кнопка - ее нажимаешь/отжимаешь когда нужно:
Нажмите на изображение для увеличения
Название: Рисунок2.png
Просмотров: 44
Размер:	91.2 Кб
ID:	265965
name02 на форуме  
 
Непрочитано 19.12.2024, 08:29
#4
VitalyAF


 
Регистрация: 19.07.2005
Россия
Сообщений: 3,288


Цитата:
Сообщение от San-Miguel Посмотреть сообщение
Как мгновенно для всех листов одной командой или иным способом включать/отключать функцию "Учитывать веса линий" для возможности пакетной печати всех листов с нужным режимом веса линий?
Да запросто, правый клик на подшивке > переопределить шаблон печати.
Шаблон этот надо заранее создать с нужными настройками для разных форматок


PS
Кроме толщин, ещё м.б. шаблон в цветной/ч.б. печати...
VitalyAF вне форума  
 
Автор темы   Непрочитано 19.12.2024, 10:14
#5
San-Miguel


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


Цитата:
Сообщение от name02 Посмотреть сообщение
Если печатать не в растре, а как векторе, то в просмоторщиках PDF можно включать и отключать толщины линий - это точно есть в Adobe Acrobat и PDF X-Change Editor
В Adobe Acrobat нужно сделать так:
1 Добавить в панель инструментов кнопку включения/отключения толщин линий
Вложение 265964

2 На панели инструментов появится новая кнопка - ее нажимаешь/отжимаешь когда нужно:
Вложение 265965
Акробат не тянет мои пдф чертежи (зависает). Пользуюсь Foxit Reader, но в нем нет такой фукнции

----- добавлено через 36 сек. -----
Цитата:
Сообщение от Автон Посмотреть сообщение
Код:
[Выделить все]
 (defun c:SetPlotWithLineweights ()
  (setq userInput (getint "\nВведите 1 для включения Учитывать веса линий, или 0 для отключения: "))
  (setq acadObj (vlax-get-acad-object))
  (setq doc (vla-get-ActiveDocument acadObj))
  (setq Layouts (vla-get-Layouts doc))
  (if (or (= userInput 1) (= userInput 0))
    (progn
      (vlax-for Layout Layouts
        (vla-put-PlotWithLineweights Layout (if (= userInput 0) :vlax-false :vlax-true))
        (setq newValue (vla-get-PlotWithLineweights Layout))
        (princ (strcat "\nДля листа " (vla-get-Name Layout) " установлено: " (if (= newValue :vlax-true) "True" "False")))
      )
    )
    (princ "\nНекорректный ввод. Пожалуйста, введите 1 или 0.")
  )
  (princ)
)

Что мне делать с этим кодом? Как его применить?
San-Miguel вне форума  
 
Непрочитано 19.12.2024, 10:26
1 | #6
Автон

СЦБ
 
Регистрация: 09.03.2006
Сообщений: 89


Цитата:
Сообщение от San-Miguel Посмотреть сообщение
Что мне делать с этим кодом? Как его применить?
Как использовать LISP, опубликованный на форуме
Автон вне форума  
 
Автор темы   Непрочитано 19.12.2024, 11:46
#7
San-Miguel


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


Получилось. Работает. Очень удобно теперь
Большое спасибо!
San-Miguel вне форума  
 
Непрочитано 19.12.2024, 12:45
#8
name02


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


Немного упростил для работы:
Код:
[Выделить все]
 (defun c:SetPlotWithLineweights (/ userInput acadObj doc Layouts)

  (initget "Да Нет _Yes _No")
  (setq userInput (getkword "\nВключить опцию \"Учитывать веса линий\" при печати? [Да / Нет] <Да>: "))

  (setq userInput
         (cond
           ((null userInput) :vlax-true)
           ((= userInput "_Yes") :vlax-true)
           ((= userInput "_No") :vlax-false)
         ) ;_ end cond
  ) ;_ end setq

  (setq acadObj (vlax-get-acad-object)
        doc     (vla-get-ActiveDocument acadObj)
        Layouts (vla-get-Layouts doc)
  ) ;_ end setq

    (vlax-for Layout Layouts
       (vla-put-PlotWithLineweights
         Layout
         userInput
       ) ;_ end vla-put-PlotWithLineweights

       (princ (strcat "\nДля листа \""
                      (vla-get-Name Layout)
                      "\" установлено: "
                      (if (= (vla-get-PlotWithLineweights Layout) :vlax-true)
                        "True"
                        "False"
                      ) ;_ end if
              ) ;_ end strcat
       ) ;_ end princ
      )
  (princ)
) ;_ end defun
name02 на форуме  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Мгновенная смена "Учитывать веса линий" на всех листах файла для пакетной печати



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помехи на чертеже при печати файла в pdf - как избавиться? katrn AutoCAD 14 14.05.2024 19:31
При пакетной печати выносные линии не видны. dim5678 AutoCAD 21 24.06.2022 09:52
Ошибка при пакетной печати. "Синтаксис" MJbomb AutoCAD 1 20.03.2013 11:39
Инверсия всех шрифтов при печати. lecgo AutoCAD 2 17.12.2009 12:44
Смена таблицы стилей печати в окне "Печать" kp+ AutoCAD 1 08.02.2006 16:51