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

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

Печать на одном листе А1 из нескольких файлов

Ответ
Поиск в этой теме
Непрочитано 09.01.2015, 22:10 #1
Печать на одном листе А1 из нескольких файлов
smigami
 
инженер-конструктор
 
Регион-62
Регистрация: 17.12.2012
Сообщений: 230

Добрый день!

Подскажите, есть ли возможность в Автокаде вывести на один лист чертежи сразу из нескольких файлов?
Например, 4 файла и в каждом файле чертеж на формате А3. Можно ли их вывести на один лист А1?
Аналогичная возможность есть в Компасе
__________________
Собирай по винтику - наберешь...
Просмотров: 6061
 
Непрочитано 10.01.2015, 10:37
#2
maratovich


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


Это называется "компоновка листов на плотер".
Такой возможности пока не встречалось.
Единственным вариантом является перенос всех форматов в один файл, а там уже и расположить (состыковать) как надо, и вывести на печать куда и как надо.
maratovich вне форума  
 
Непрочитано 10.01.2015, 11:01
#3
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


можете попробовать через xref сделать... собрать в одном файле вспомогательном и там настроить на листе А1 через ВЭ.. только оформление, наверно, в модели придется делать в исходных чертежах..
Сергей812 вне форума  
 
Непрочитано 10.01.2015, 12:28
#4
VitalyAF


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


Для HP у Autodesk есть такие драйвера, позволяют автоматически заполнять площадь печати форматами, ищите...
VitalyAF вне форума  
 
Непрочитано 10.01.2015, 20:18
#5
SetQ

конструктор
 
Регистрация: 21.07.2007
Петрозаводск
Сообщений: 2,108


Offtop: Десять лет назад решалась противоположная задача - раскидать один А1 на восемь А4.
SetQ вне форума  
 
Непрочитано 10.01.2015, 20:21
#6
maratovich


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


Цитата:
Сообщение от SetQ Посмотреть сообщение
раскидать один А1 на восемь А4.
Это уже не проблема, вот компоновка это интересней, тут алгоритм хороший нужен.
maratovich вне форума  
 
Непрочитано 10.01.2015, 20:50
#7
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


или руками.. экспортировать из пространства листа в модель (можно использовать подшивку - для нумерации и т.д.), затем через xref собрать в новом документе
Сергей812 вне форума  
 
Непрочитано 10.01.2015, 22:14
#8
SetQ

конструктор
 
Регистрация: 21.07.2007
Петрозаводск
Сообщений: 2,108


Цитата:
Сообщение от maratovich Посмотреть сообщение
вот компоновка это интересней, тут алгоритм хороший нужен.
Или раскрой - как разместить заданное количество листов на минимальном количестве А1-ых?

Можно через pdf и драйвер принтера что-то сделать: напечатать А3 в отдельные (или в один) pdf-ы, а затем при печати на физический принтер (или плоттер) указать "печать нескольких страниц на одном листе".
SetQ вне форума  
 
Автор темы   Непрочитано 10.01.2015, 22:27
#9
smigami

инженер-конструктор
 
Регистрация: 17.12.2012
Регион-62
Сообщений: 230


Цитата:
Сообщение от Сергей812 Посмотреть сообщение
или руками
Это все понятно, но не подходит в данной ситуации
файлы мои сделаны в Advance Steel, и обновляются через программу автоматически. и их ооочень много
Хотелось бы напрямую печатать нужные чертежи, а формат плоттера А1.

Ну нельзя так нельзя
__________________
Собирай по винтику - наберешь...
smigami вне форума  
 
Непрочитано 10.01.2015, 22:37
#10
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Ну в автокаде это несложно, в принципе)
Лисп-экспортирование из пространства всех листов чертежа в модель (post 2)
Вставить xref программно тоже несложно:
Код:
[Выделить все]
 (command "_.-xref" "_attach" %имя файла dwg% "_Scale" "1" "_rotate" "90" %точка вставки%  "")
Т.е. можно задать как точку вставки, так и поворот.

Итого, дело за алгоритмом-как вставлять xref в файл - смещая точку вставки и вращая при необходимости.
Сергей812 вне форума  
 
Непрочитано 10.01.2015, 23:16
#11
VitalyAF


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


вот, нарыл на просторах...

Код:
[Выделить все]
 ;;;* _ _ C O D E _ _ S T A R T S _ _ H E R E _ _

;;;*
;;;* To use:
;;;* (CreateLayoutArray (list (list "1" "2") (list "3" "4")) "Dsize" 17 11)
;;;*
;;;* This creates an array of:
;;;*
;;;* [ 1 ][ 2 ]
;;;* [ 3 ][ 4 ]
;;;*
;;;* Error checking for this routine is non-existant!
;;;*
(defun CreateLayoutArray (LayoutNameRows	NewLayoutName
xDist	yDist	/
Acad	ThisDwg	Layouts
LayoutListing	NewLayout
LayoutName OrigLayout i
ObjListing OrigLayoutBlock
varCopies Copies	pt1
pt2	Edata	DidVP
Obj
)
(if (and LayoutNameRows NewLayoutName xDist yDist)
(progn
(vl-load-com)
(setq Acad	(vlax-get-acad-object)
ThisDwg	(vla-get-ActiveDocument acad)
Layouts	(vla-get-Layouts ThisDwg)
LayoutListing (mapcar 'strcase (layoutlist))
NewLayout	(vla-add Layouts NewLayoutName)
pt1	(vlax-make-safearray vlax-vbDouble (cons 0 2))
pt2	(vlax-make-safearray vlax-vbDouble (cons 0 2))
)
(vlax-safearray-put-element pt2 1 (- yDist))
(foreach LayoutNameRow (reverse LayoutNameRows)
(vlax-safearray-put-element pt2 0 (- xDist))
(vlax-safearray-put-element
pt2
1
(+ (vlax-safearray-get-element pt2 1) yDist)
)
(foreach LayoutName LayoutNameRow
(vlax-safearray-put-element
pt2
0
(+ (vlax-safearray-get-element pt2 0) xDist)
)
(if (member (strcase LayoutName) LayoutListing)
(progn
(setq OrigLayout
(vla-item Layouts LayoutName)
OrigLayoutBlock
(vla-get-Block OrigLayout)
i 0
ObjListing
nil
)
(while (< i (vla-get-count OrigLayoutBlock))
(setq Obj (vla-item OrigLayoutBlock i)
Edata (entget (vlax-vla-object->ename Obj))
)
;;;* Copy only viewports not on layer zero, except the first one (ps viewport)
(if (or
(and
(= "VIEWPORT" (cdr (assoc 0 Edata)))
(/= "0" (cdr (assoc 8 Edata)))
)
(and
(= "VIEWPORT" (cdr (assoc 0 Edata)))
(= "0" (cdr (assoc 8 Edata)))
(not DidVP)
(setq DidVP T)
)
(/= "VIEWPORT" (cdr (assoc 0 Edata)))
)
(setq	ObjListing
(cons (vla-item OrigLayoutBlock i)
ObjListing
)
)
)
(setq i (1+ i))
)
(if ObjListing
(progn
(setq ObjListing (reverse ObjListing))
(setq	ObjArray (vlax-make-safearray
vlax-vbObject
(cons 0 (- (length ObjListing) 1))
)
)
(vlax-safearray-fill ObjArray ObjListing)
(setq	varCopies (vla-CopyObjects
ThisDwg
ObjArray
(vla-get-block NewLayout)
)
Copies	(vlax-safearray->list
(vlax-variant-value varCopies)
)
i	1
)
(foreach Obj Copies
(vla-move Obj pt1 pt2)
)
)
)
)
)
)
)
(vlax-release-object Layouts)
(vlax-release-object ThisDwg)
(vlax-release-object Acad)
)
)
)


(defun LayoutListOrder (/ layouts i retval layout)
(setq	layouts	(vla-get-layouts
(vla-get-activedocument (vlax-get-acad-object))
)
i	-1
)
(repeat (vla-get-count layouts)
(setq retval (cons (setq i (1+ i)) retval))
)
(vlax-for layout layouts
(setq retval
(subst
(vla-get-name layout)
(vla-get-taborder layout)
retval
)
)
)
(reverse retval)
)


(defun LayoutLayouts
(Layouts ItemsPerRow RowsPerLayout / Items Rows RetVal)
(while Layouts
(while (and	Layouts
(or (not Rows) (< (length Rows) RowsPerLayout))
)
(while (and Layouts
(or (not Items) (< (length Items) ItemsPerRow))
)
(setq Items (cons (car Layouts) Items)
Layouts (cdr Layouts)
)
)
(setq Rows (cons (reverse Items) Rows)
Items nil
)
)
(setq RetVal (cons (reverse Rows) RetVal)
Rows	nil
)
)
(reverse RetVal)
)


(defun CreateNewLayoutName (i)
(itoa (+ i (atoi (substr (rtos (getvar "CDATE") 2 8) 10))))
)

;;;* Create a 2x2 Layout Array
;;;* Additional arrays can easily be made by setting
;;;* the argument required by LayoutLayouts function
(defun c:LAYOUT2X2 (/ x y Layouts LayoutNameRows i)
(if (and (setq x (getreal "\nX distance: "))
(setq y (getreal "\nY distance: "))
)
(progn
(if dos_checklist
(progn
(setq	Layouts	(vl-remove
nil
(mapcar '(lambda (x)
(if (= 1 (cdr x))
(car x)
)
)
(dos_checklist
"Available Layouts"
"Select layouts for 2x2 arraying:"
(mapcar '(lambda (x) (cons x 0))
(cdr (LayoutListOrder))
)
)
)
)
)
)
(setq Layouts (cdr (LayoutListOrder)))
)
(progn
(setq i 1)
(foreach LayoutNameRows	(LayoutLayouts Layouts 2 2) ;<- 2x2 array!
(CreateLayoutArray
LayoutNameRows
(strcat "2x2 " (CreateNewLayoutName i)) ;<- Layout names!
x
y
)
(setq i (1+ i))
)
)
)
)
(princ)
)
VitalyAF вне форума  
 
Непрочитано 11.01.2015, 10:28
#12
maratovich


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


Цитата:
Сообщение от smigami Посмотреть сообщение
Хотелось бы напрямую печатать нужные чертежи, а формат плоттера А1.
А принтера А3 нет ?
maratovich вне форума  
 
Непрочитано 11.01.2015, 14:07
#13
Сергей812


 
Регистрация: 10.08.2013
Сообщений: 11,499


Наверно, как обычно, взяли плоттер подешевле - без функции автораскладки форматов по ширине листа. А когда руководство схватилось за голову, увидев количество отходов недешёвой бумаги - озадачили сотрудников. А струйный А3 стоит в районе 5 тыс (если, конечно, не нужны отпечатки фотографического качества)-реально проще его взять, на экономии бумаги и времени разрезания на листы отобьется очень быстро.
Сергей812 вне форума  
 
Непрочитано 11.01.2015, 15:08
#14
Stefanovsky Denis

Был 7215
 
Регистрация: 02.07.2013
Екатеринбург
Сообщений: 222


Цитата:
Сообщение от maratovich Посмотреть сообщение
А принтера А3 нет ?
Offtop: Ребята на прошлом месте любили общие данные формата А3 запихивать на А1 и посылать портянкой на печать. Потом все дружно пол дня общие данные резали, хотя принтер А3 был))
__________________
«Пора уже с человеческой глупостью считаться как с реальной силой». Ф. Ницше
Stefanovsky Denis вне форума  
 
Автор темы   Непрочитано 14.01.2015, 21:41
#15
smigami

инженер-конструктор
 
Регистрация: 17.12.2012
Регион-62
Сообщений: 230


Цитата:
Сообщение от VitalyAF Посмотреть сообщение
вот, нарыл на просторах...
И куда это все вписать?
)))))))))))))
__________________
Собирай по винтику - наберешь...
smigami вне форума  
 
Непрочитано 14.01.2015, 21:48
#16
maratovich


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


Цитата:
Сообщение от smigami Посмотреть сообщение
И куда это все вписать?
Вопрос не верен. Сперва надо спрашивать - "Это чего такое "
А потом уже что с этим делать....
Вот я тоже "нарыл"
Как собрать в один файл множество dwg файлов
maratovich вне форума  
Ответ
Вернуться   Форум DWG.RU > Программное обеспечение > AutoCAD > Печать на одном листе А1 из нескольких файлов

Реклама i
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Открытие нескольких файлов в одном окне AutoCad TanyaNuri AutoCAD 67 17.01.2023 13:04
Печать нескольких цветных слоев в монохромном режиме Фунт Изюма AutoCAD 9 26.06.2008 09:17
Печать нескольких чертежей из одного файла myrs AutoCAD 19 14.06.2008 16:31
Проблема с открытием нескольких файлов Gela_01 AutoCAD 28 13.06.2008 16:41
Конвертация нескольких файлов в более раннюю версию... Лариса AutoCAD 4 29.06.2005 05:26