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

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

Проблема печати чертежей собранных в одном dwg файле

Ответ
Поиск в этой теме
Непрочитано 16.10.2007, 06:57 #1
Проблема печати чертежей собранных в одном dwg файле
SkyLine
 
Проектировщик
 
Иркутск
Регистрация: 16.10.2007
Сообщений: 16

Здравствуйте, замучался на работе уже печатать эти чертежи, может быть кто-нибудь сможет мне помочь.
Проблема следующая: я рисую все чертежи в одном dwg файле (мне так удобно вносить изменения и сразу видеть нужный мне чертёж), чтобы распечатать скажем 15 чертежей мне приходится нажимать печать, выделять рамкой нужный чертёж и затем печатать, и так 15 раз. Знаю другой фариант... Создать для каждого чертежа отдельный лист и потом разом их все напечатать, но это так муторно создавать 15 листов... Может есть какой-нибудь модуль который бы создавал автоматически для каждого чертежа листы или может что ещё? А то чувствую что самому придётся взяться за это....
Просмотров: 4650
 
Непрочитано 16.10.2007, 08:33
#2
RomaV


 
Регистрация: 21.03.2007
Санкт-Петербург
Сообщений: 2,700


Некоторые "адепты" своего дела (которые не любят с листами возится) выстраивают все чертежи в одну вертикальную полосу и печатают на рулонной бумаге...
RomaV вне форума  
 
Непрочитано 16.10.2007, 08:40
#3
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Не могу дать ссылку, поскольку форум autocad.ru не работает...
Profan вне форума  
 
Автор темы   Непрочитано 16.10.2007, 09:04
#4
SkyLine

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


Мда.. Альтернатива вырезать 600 листов мне не очень подходит конечно
SkyLine вне форума  
 
Непрочитано 16.10.2007, 11:08
#5
kp+

идущий по граблям
 
Регистрация: 26.05.2005
Сообщений: 5,171


Цитата:
Сообщение от SkyLine Посмотреть сообщение
Может есть какой-нибудь модуль который бы создавал автоматически для каждого чертежа листы или может что ещё? А то чувствую что самому придётся взяться за это....
Подшивка - это то, что тебе надо
kp+ вне форума  
 
Непрочитано 16.10.2007, 11:17
#6
Bull

Конструктор по сути (машиностроитель)
 
Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391


так подшивка - это ж опять через листы! Или я не прав?
__________________
Век живи, век учись - ...
Bull вне форума  
 
Непрочитано 16.10.2007, 11:26
#7
Олег К.

Инженер-теплотехник
 
Регистрация: 17.08.2006
Смоленск
Сообщений: 308


Насколько понимаю, чертежи вместе с рамками (оформлением) находятся в модели?
Есть еще вариант, тоже муторный, но только в самом начале.
Код:
[Выделить все]
Command: _-plot
Detailed plot configuration? [Yes/No] <No>: y

Enter a layout name or [?] <Model>: A2_0
Regenerating layout.
Enter an output device name or [?] <\\dc\HP500>: \\dc\pdf
Enter paper size or [?] <A4>: A2
Enter paper units [Inches/Millimeters] <Millimeters>:
Enter drawing orientation [Portrait/Landscape] <Portrait>:
Plot upside down? [Yes/No] <No>:
Enter plot area [Display/Extents/Layout/View/Window] <Window>:
Enter lower left corner of window <0.000000,0.000000>:
Enter upper right corner of window <594.000000,420.000000>:
Enter plot scale (Plotted Millimeters=Drawing Units) or [Fit] <1=1>:
Enter plot offset (x,y) or [center] <0.00,0.00>:
Plot with plot styles? [Yes/No] <Yes>:
Enter plot style table name or [?] (enter . for none) <monochrome.ctb>:
Plot with lineweights? [Yes/No] <Yes>:
Scale lineweights with plot scale? [Yes/No] <No>:
Plot paper space first? [Yes/No] <No>:
Hide paperspace objects? [Yes/No] <No>:
Write the plot to a file [Yes/No] <N>:
Save changes to page setup [Yes/No]? <N>
Proceed with plot [Yes/No] <Y>:
Effective plotting area:  413.60 wide by 420.00 high

Plotting viewport 1.
Restoring cached viewports.
Можно делать скриптом или лиспом. Каким-либо способом собираем координаты рамок и подставляем в запрос окна печати (выделено).
Олег К. вне форума  
 
Непрочитано 16.10.2007, 11:34
#8
Bull

Конструктор по сути (машиностроитель)
 
Регистрация: 10.10.2005
Набережные Челны (это где КамАЗ)
Сообщений: 11,391


Так при печати другого файла это ж опять же координаты надо подставлять. Всё равно что заново указывать
__________________
Век живи, век учись - ...
Bull вне форума  
 
Непрочитано 16.10.2007, 11:36
#9
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Приведу я свою программу. Куча коментариев была на форуме autocad.ru.
Код:
[Выделить все]
 
; ********************** model_plot_2007.lsp *********************************************************
;   Программа распечатки регулярного массива одинаковых форматок
;   из одного рисунка пространства модели или выборочно отдельных форматок.
;   Может использоваться для распечатки рисунков большого формата на
;   принтерах А3 и А4.
;   Принтер и параметры печати должны быть заранее настроены в Windows
;   и в AutoCAD'е. Желательно создать пользовательские форматы с нулевыми полями.
;   Шаг столбцов или рядов можно задать как численно, так и указанием 2 точек.
;   Шаги могут задаваться со знаком минус (-). Соответственно, и точки надо
;   задавать против направления осей.
;   Если задать шаги равными нулю, а количество форматок не равным нулю,
;   то распечатается количество копий одной форматки, равное размеру массива
;   форматок.
;   Если, например, масштаб вывода на печать равен 1:100, то 100 — это
;   знаменатель дроби и это число вводится в ответ на запрос программы.
;   Размеры форматок задаются равными размерам листа бумаги. В программе
;   эти размеры пересчитываются в область печати в соответствии с масштабом.
;   Ясно, что, если распечатывается, скажем чертеж формата А1, то рисовать
;   форматки не надо.
;   Автор Владимир Громов.
;
(defun C:MODEL_PLOT_2007 ( / ver echo kak pt1 scl dx dy dn orient m n stx stx1 stx2 sty sty1 sty2 pt2
                        dx1 dy1 pt11 ptx pt22 pty k flag plt_pdf k0)
(if (vl-string-search "17.0" (getvar "ACADVER"))
    (progn (setq ver "a17") (princ "\n Обнаружен AutoCAD 2007."))
)
(setq echo (getvar "CMDECHO"))
(setvar "CMDECHO" 0)
(initget 6 "Массив Выборочно Отказ")
(setq kak (getstring "\n Как будем печатать? [Массив/Выборочно/Отказ] <Массив>: "))
(if (= kak "") (setq kak "М"))
(COND
((or (= kak "М") (= kak "В"))
     (if (= kak "М")
         (progn
         (initget 6)
         (setq pt1 (getpoint "\n Укажите левый нижний угол рамки (ENTER-Отказ): "))
         (if pt1
            (progn
            (initget 6)
            (setq scl (getstring "\n Масштаб печати (знаменатель дроби) <1>: "))
            (if (= scl "") (setq scl "1"))
            (initget 7)
            (setq dx (* (getreal "\n Размер форматки (листа бумаги) по оси X (мм): ") (atoi scl)))
            (initget 7)
            (setq dy (* (getreal "\n Размер форматки (листа бумаги) по оси Y (мм): ") (atoi scl)))
            (initget "Да Нет")
            (setq dn (getkword "\n Задать опцию 'Вписать'? [Да/Нет] <Нет>: "))
            (if (= dn "Да") (setq scl "_fit")  (setq scl (strcat "1:" scl))
            )
                 (cond
                 ((> dy dx) (princ "\n Ориентация ПОРТРЕТ.")
                 (setq orient "_P"))
                 ((>= dx dy) (princ "\n Ориентация ПЕЙЗАЖ.")
                 (setq orient "_L"))
                 ) ; cond
            (initget 7)
            (setq m (getint "\n Число столбцов форматок вдоль оси X: "))
            (initget 128 "Точки")
            (setq stx (getreal "\n Шаг по оси X в единицах рисунка с учетом знака или 2 точки [Точки] <Точки>: "))
                      (if (or (= stx nil) (= stx "Точки"))
                      (progn
                      (setq stx1 (getpoint "\n Укажите первую точку с учетом направления шага по X: "))
                      (setq stx2 (getpoint stx1 "\Укажите вторую точку для шага по X: "))
                      (cond
                      ((> (car stx2) (car stx1)) (setq stx (distance stx1 stx2)))
                      ((< (car stx2) (car stx1)) (setq stx (- 0 (distance stx1 stx2))))) ; cond
                      )) ; progn if
            (initget 7)
            (setq n (getint "\n Число рядов форматок вдоль оси Y: "))
            (initget 128 "Точки")
            (setq sty (getreal "\n Шаг по оси Y в единицах рисунка с учетом знака или 2 точки [Точки] <Точки>: "))
                      (if (or (= sty nil) (= sty "Точки"))
                      (progn
                      (setq sty1 (getpoint "\n Укажите первую точку с учетом направления шага по Y: "))
                      (setq sty2 (getpoint sty1 "\Укажите вторую точку для шага по Y: "))
                      (cond
                      ((> (cadr sty2) (cadr sty1)) (setq sty (distance sty1 sty2)))
                      ((< (cadr sty2) (cadr sty1)) (setq sty (- 0 (distance sty1 sty2))))) ; cond
                      )) ; progn if
            (setq pt2 (list (+ (car pt1) dx) (+ (cadr pt1) dy)))  ;Правый верхний угол первой рамки
            (setq dx1 0 dy1 0)
            (repeat n
                (repeat m
                        (setq pt11 (list (+ (car pt1) dx1) (+ (cadr pt1) dy1)))
                        (setq dx1 (+ dx1 stx))
                        (setq ptx (cons pt11 ptx))
                ) ; repeat
                (setq dx1 0 dy1 (+ dy1 sty))
            ) ; repeat
            (setq ptx (reverse ptx))
            (setq dx1 0 dy1 0)
            (repeat n
                (repeat m
                        (setq pt22 (list (+ (car pt2) dx1) (+ (cadr pt2) dy1)))
                        (setq dx1 (+ dx1 stx))
                        (setq pty (cons pt22 pty))
                ) ; repeat
                (setq dx1 0 dy1 (+ dy1 sty))
            ) ; repeat
            (setq pty (reverse pty))
            (if ver
                (progn
                (initget 6 "Принтер PDF") 
                (setq plt_pdf (getstring "\n Печать на [Принтер/PDF встроенный] <Принтер>: "))
                (if (= plt_pdf "") (setq plt_pdf "П"))
                (initget 5)
                (if (= plt_pdf "PDF") (setq k0 (getint "\n Начальный номер файла: ")))
            )) ; progn if
            (setq k 0)
            (repeat (* m n)
            (if (and ver (= plt_pdf "PDF"))
                     (command "_PLOT" "_Y" "" "" "" "" orient "_N" "_W" (nth k ptx) (nth k pty) scl "" "_Y" ""
                     "_Y" "_A" 
                     (strcat (getvar "DWGPREFIX") (vl-filename-base (getvar "DWGNAME")) "_0" (itoa (+ k0 k)) ".pdf")
                    "_Y"  "_Y")
            (command "_PLOT" "_Y" "" "" "" "" orient "_N" "_W" (nth k ptx) (nth k pty) scl "" "_Y" ""
                     "_Y" "_A" "_N" "_Y" "_Y")
            ) ; if
            (setq k (1+ k))
            ) ; repeat
            ) ; progn
         ) ; if pt1
       ) ; prog kak
   ) ; if kak
   (if (= kak "В")
       (progn
       (setq flag T)
       (while flag
       (setq pt1 (getpoint "\n Укажите левый нижний угол рамки (ENTER-Хватит): "))
                 (if pt1
                 (progn
                 (setq ptx (cons pt1 ptx))
                 (setq pt2 (getcorner pt1 "\n Укажите правый верхний угол рамки: "))
                 (setq pty (cons pt2 pty))
                 (setq dx (- (car pt2) (car pt1)))
                 (setq dy (- (cadr pt2) (cadr pt1)))
                 (princ "\n Размеры области печати: ") (princ dx) (princ " x ") (princ dy)
                 (cond
                 ((> dy dx) (princ "\ Ориентация ПОРТРЕТ.")
                 (setq orient "_P"))
                 ((>= dx dy) (princ "\ Ориентация ПЕЙЗАЖ.")
                 (setq orient "_L"))
                 ) ; cond
                 ) ; progn if
                 (setq flag nil)
                 ) ; if
       ) ; while
       (if (and ptx pty)
           (progn
           (setq ptx (reverse ptx))
           (setq pty (reverse pty))
           (if ver
               (progn
               (initget 6 "Принтер PDF") 
               (setq plt_pdf (getstring "\n Печать на [Принтер/PDF встроенный] <Принтер>: "))
               (if (= plt_pdf "") (setq plt_pdf "П"))
               (initget 5)
               (if (= plt_pdf "PDF") (setq k0 (getint "\n Начальный номер файла: ")))
           )) ; progn if
           (initget 6)
           (setq scl (getstring "\n Масштаб печати (знаменатель дроби) <1>: "))
           (if (= scl "") (setq scl "1"))
           (initget "Да Нет _Yes No")
           (setq dn (getkword "\n Задать опцию 'Вписать'? [Да/Нет] <Нет>: "))
           (if (= dn "Y") (setq scl "_fit")  (setq scl (strcat "1:" scl)))
           (setq n (length ptx))
           (setq k 0)
           (repeat n
           (if (and ver (= plt_pdf "PDF"))
                     (command "_PLOT" "_Y" "" "" "" "" orient "_N" "_W" (nth k ptx) (nth k pty) scl "" "_Y" ""
                     "_Y" "_A" 
                     (strcat (getvar "DWGPREFIX") (vl-filename-base (getvar "DWGNAME")) "_0" (itoa (+ k0 k)) ".pdf")
                    "_Y"  "_Y")
           (command "_PLOT" "_Y" "" "" "" "" orient "_N" "_W" (nth k ptx) (nth k pty) scl "" "_Y" ""
                     "_Y" "_A" "_N" "_Y" "_Y")
           ) ; if
           (setq k (1+ k))
           ) ; repeat
           ) ; progn
       ) ; if
       ) ; progn
   ) ; if
)
((= kak "О") (princ "\n Печать отменена."))
) ; cond
(setvar "CMDECHO" echo)
(princ)
)
Profan вне форума  
 
Автор темы   Непрочитано 16.10.2007, 11:47
#10
SkyLine

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


Спасибо за советы, буду пробовать!
SkyLine вне форума  
 
Непрочитано 16.10.2007, 15:30
#11
Profan


 
Регистрация: 25.12.2005
Москва
Сообщений: 13,627


Пока форум autocad.ru работает, можно посмотреть сюда:
http://www.autocad.ru/cgi-bin/f1/board.cgi?t=27776ES
Profan вне форума  
 
Непрочитано 18.10.2007, 15:43
#12
Yura

ЦТП, котельные, отопление, вентиляция
 
Регистрация: 21.02.2007
Кишинев
Сообщений: 548
<phrase 1= Отправить сообщение для Yura с помощью Skype™


Цитата:
Сообщение от SkyLine Посмотреть сообщение
это так муторно создавать 15 листов...
А можно узнать, что здесь муторного? Разве не достаточно создать 1 layout, желательно из шаблона, сформированного в соответствии с настройками принтера, со всеми стилями и т.п., скопировать его 15 раз и только видовые экраны настроить?
Yura вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Проблема печати чертежей собранных в одном dwg файле



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вес линии и стиль печати Barbi AutoCAD 22 26.04.2012 17:56
Подготовка DWG к офсетной печати, HELP! Ezdorov AutoCAD 4 15.02.2012 18:12
проблема .....все на одном слое ..... Startrek AutoCAD 20 20.10.2005 08:03
как узнать сколько layout в файле текущем DWG файле VBA sf Программирование 1 09.03.2005 12:36
EPSON FX1170 для печати чертежей пользовательского размера ERD AutoCAD 2 05.11.2004 03:37