Тема: Как программно устнавливать область печати?

Возможно ли повлиять на печать программно ???
Т.е. необходимо программно устнавливать область печати .

Re: Как программно устнавливать область печати?

А почему бы и нет? В опциях команды _.plot вполне реально... И не только область печати.

Re: Как программно устнавливать область печати?

А что конкретно интересует?

Re: Как программно устнавливать область печати?

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

Re: Как программно устнавливать область печати?

Использую это

(defun plotmodel (ttt printer format tabulka / a cmd xy1 xy2)
    (princ ttt)
  (setq    cmd (getvar "cmdecho")
    xy1 (getpoint "\n Первый угол рамки:")
    xy2 (getcorner xy1 "\n Второй угол рамки:")
    a   (angle xy1 xy2)
  )
  (if (or (and (> a (* pi 0.25)) (< a (* pi 0.75)))
      (and (> a (* pi 1.25)) (< a (* pi 1.75)))
      )
    (setq a "Portrait")
    (setq a "Landscape")
  )
  (setvar "cmdecho" 0)
  (command "-plot"            ;сама команда
       "y"                ;нужны настройки
       "model"            ; Лист или модель
       printer            ; Собственно принтер
       format                  ;Формат листа
       "Millimeters"        ;Ед. измерения
       a                ;Ориентация листа
       "N"                ;Зеркалить лист
       "Window"            ;Область печати
       xy1                ;Первая точка окна
       xy2            ;Вторая точка окна
       "fit"            ;Масштаб
       "center"            ;Сдвиг листа
       "yes"            ;Печать со стилем
       tabulka            ;Стиль
       "Yes"            ;Учитывать заданные толщины линий
       "No"                ;Удалять скрытые линии
       "No"                ;Печатать в файл
       "No"                ;Сохранить настройки
       "Yes"                ;Старт печати
      )
;;;  (command "preview")
  (setvar "cmdecho" cmd)
   (princ)
)

Re: Как программно устнавливать область печати?

Apelsinov Спасибо !
А не дадите пару рекомендаций как это интегрировать правильно ?

Re: Как программно устнавливать область печати?

Apelsinov Спасибо ! все понял !

Re: Как программно устнавливать область печати?

А возможно загрузить программно уже сохраненный принтер нужного мне формата. Если есть базачка файликов и неободимо динамически загружать нужный нам файл ?

Re: Как программно устнавливать область печати?

> -=MAX=-
Поподробнее можно?

Re: Как программно устнавливать область печати?

Задачка такая выделяем на чертеже какой то фрагмент по рамке и задача распечатать этот фрагмент на плотер с масштабом 1-1 (так если бы целую модель печатали). Экономия бумаги. Можно печатать через команду ПЛОТ, то картинка вписывается в лист, а это ни как нильзя так как масштаб надо удержать 1-1.
Например если есть базачка файлов плотерных, то можно было бы подбирать ближайший формат к размерам выделеного фрагмента. Геометрию из фрагмента можно вытащить и посчитать масштаб и выбрать ближайший плотерный файлик но как динамически подгрузить файлик плотерный и распечатать без задержек.

Re: Как программно устнавливать область печати?

1. Что такое БАЗАЧКА?
2. "Файл плотТерный" т.е *.pc3?
3. Подбирать нужно в таком случае формат листа, а не pc3, это сделать можно.
(xy1 xy2 из предыдущей программы) нужно только  померить диагонали необходимых форматов и сравнить их с полученным.

(setq L (distance xy1 xy2))
  (setq    format
     (cond
       ((and (> L 0) (<= L 363.743)) "A4")
       ((and (> L 363.743) (<= L 514.4016)) "A3")
       ((and (> L 514.4016) (<= L 727.4861)) "A2")
     )
  )
 

Re: Как программно устнавливать область печати?

Базачка - некий набор файлов для разных форматов листов.
Возможно ли как то динамически загружать эти файлы, или именять размеры листа ?

Re: Как программно устнавливать область печати?

Что за файлы?
есть файлы pc3 настроек плоттера/принтера
в них некий набор форматов, в том числе пользовательских, из них и выбираем подходящий.
Что Вы хотите подгружать?

Re: Как программно устнавливать область печати?

Как раз то что надо, а возможно програмно установить нужный формат ? И на сколько расширяем список форматов в файле ?

Re: Как программно устнавливать область печати?

как програмно установить нужны формат, я уже описал в > Apelsinov (2004-03-24 17:30:11),
Про файлы которые Вы хотите подгружать я так и не понял.
Список форматов различен для каждой модели принтера/плоттера (я так думаю), в моем случае пользовательских форматов можно добавить только 5.см. https://www.caduser.ru/forum/topic8267.html

Re: Как программно устнавливать область печати?

Здрасте ФСЕМ!
Может быть кто-нибудь подскажет, как все это проделать, но только в delphi?
Заранее спасибо!