!Plot_U — макрос автоматической печати из модели Autocad

Описание:

Макрос для печати позволяет быстро распечатать из модели Autocad листы формата A0,A1,A2,A3,A4. Для этого нужно просто запустить макрос, выбрать принтер и выделить все чертежи.

Примеры использования:

Autocad: Печать из модели

Autocad: автоматическая печать из модели крупных форматов A0, A1, A2

Autocad: автоматическая печать из модели с поддержкой 2 принтеров и автоматический выбор ориентации в PDF

Внешний вид макроса

Макрос !U_Plot версии 2.5.1.4

Ограничения:

  1. Приложение работает как макрос, поэтому начиная с Autocad 2010 и всех последующих нужно скачивать AutocadVBAenabler.exe, который позволяет загружать макросы и весит около 80 мб, скачать можно бесплатно на оффсайте Autocad (ссылка) или для разных версий Autocad 10-14 (ссылка)
  2. Приложение всего лишь формирует материал в нужном порядке для выдачи на принтер! Поэтому при печати в PDF нужна программа, создающая принтер PDF, например: doPDF, PDF24, adobe PDF (да и вообще если кого-то интересует виртуальные принтеры PDF — есть огромная статья (ссылка), там 2 части).

Возможности:

  1. Автоматическое определение рамок A3 и A4 в любых масштабах (в любых пропорциях — главное, чтобы соотношения сторон оставались равные!)
  2. Автоматическое определение рамок A0-A4 в масштабе 1:1
  3. Печать только тех чертежей, в которых есть определенный текст
  4. Формирование порядка выдачи листов на принтер (листы выводятся на принтер либо слева направо сверху вниз или слева сверху вниз направо)
  5. Не надо выделять рамку чертежей, нужно всего лишь зацепить рамку, следует использовать «жадное» выделение (зеленым) 
  6. Можно указать количество копий (листы выводятся по копиям)
  7. Можно указать погрешности рамок (если на пару мм меньше, больше), погрешности по осям X и Y, выбрать точку отчета у чертежа
  8. Можно указать масштаб вписывание чертежа, задать свой масштаб или использовать стандартные настройки
  9. Можно указать смещение по оси X и Y для правильного выравнивания по центру
  10. Поддержка печати с помощью 2 принтеров
  11. Автоматическая ориентация (книжная и альбомная) при печати в PDF

Для работы приложения нужно:

  1. Обвести все рамки чертежа полигон или прямоугольником (рамки надо сделать один раз, потом они будут блуждать из проекта в проект)
  2. Слой рамок должен быть в уникальном слое!

Что хочется добавить (ToDo):

  1. В программе есть потенциал работы с таблицей основной надписи, но пока эта таблица должна быть встроенной таблицей автокада, что используют немногие!
  2. Возможность разпараллеливания печати на 2 и более принтеров (для быстроты печати) в версии 2.5.1.4 появилась поддержка 2 принтеров
  3. Возможность различать вплоть до формата a0 при условии, что масштаб рамок 1:1 В версии выше 2.5 появилась возможность распечатки больших форматов
  4. Возможность подачи файлов А3 и A4 на принтер обычный, и файлы А2 и более на плоттер! (возможность отладить на плоттере дорогое удовольствие,поэтому пока в дальноидующих планах!) В версии 2.5.1.4 появилась возможность печати с помощью 2 принтеров
  5. Возможность правильной отработки вписывания рисунка в формат при печати (беда всех принтеров — отступы при печати, у некоторых печать с нулевыми отступами невозможна, поэтому все зависит от настроек принтера и установленных в нем форматов печати. Поэтому программно менять без ведома человека не вариант.. пока думаем) Пошаговая инструкция установки нулевых полей pdfFactory
  6. Возможность печати нестандартных форматов
  7. Возможность печати нескольких чертежей на одном крупном формате (A0) в длину
  8. Возможность печатать в один файл через PDF принторы Dopdf и аналогичных

Устранение неполадок

  1. При использовании макроса иногда вылетает Autocad с ошибкой «Fatal Error: Unhandled Access Reading 0x0000 Exception at 652e60h» (фото)
  2. !!!Обязательно сохраняйте файл перед использованием макроса!!!

  3. Иногда рамки не находятся из-за возможного несоответствия типа полилинии для специализированных версий автокада. Нужно в ручную поменять в макросе название полилинии IAcadLWPolyline на название в своем автокаде (см. комментарий №10, №11). В версии выше 2.2 автоматическое определение полилинии.

История версий

Версия 2.5.1:

+добавлена поддержка 2ого принтера (печать с автоповоротом в PDF, печать четных и нечетных страниц, печать крупногабаритных форматов на плоттере и A3-A4 на обычном принтере)

+опции печати центрирования и вписывания с масштабом

Версия 2.5:

+добавлено автоматическое выделение без участия пользователя

+добавлена печать крупных форматов A0,A1,A2

+добавлена возможность распечатывания чертежей по нужному тексту

Версия 2.3:

+исправлена ошибка, при которой на печать подавались пустые листы

(подробнее тут http://forum.dwg.ru/showthread.php?t=64072)

Версия 2.2:

+поиск рамок на пользовательской форме

+исправлена ошибка поиска названия рамок в разных автокадах (теперь не надо менять ничего в коде макроса)

Версия 2.1:

+добавлено автоматическое распознавание формата A3/A4

+введение погрешностей рамок, осей

+возможность печати нескольких копий, группировка

+последовательная печать по ряду или по колонке

Версия 1.0:

макрос создан Lenik Gers (www.mvstudio.by)

+печать рамок

+автоматический поворот рамок

+вписывание в границы печати

Скачать

!Plot_U_v2.5.1.4.zip

!Plot_U_v2.5.1.4_zwcad.zip (для ZWcad)

!Plot_U_v2.5.zip

!Plot_U_v2.3.zip

!Plot_U_v2.2.zip (для всех автокадов)

!Plot_U.zip

!Plot_U_autocad2012.zip (так же подходит для Autocad 10,11)

Поделиться с друзьями
В коробке инженера
Добавить комментарий

Нажимая на кнопку "Добавить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности

Введите буквы на русском языке : *

Reload Image

  1. Sergey

    Благодарю. Все заработало

    Ответить
  2. Colee автор

    В общем, открываете по Alt+F8 окно запуска макросов, копируете полностью поле имя вверху (в нем указывается путь и нужный макрос)

    Далее на кнопку вешаете после vbarun через пробел в кавычках «вставляете что скопировали», !!важно заменить все на обратный / !! и все должно работать..

    чтобы не писать путь до макроса надо либо засунуть в одну из папок Акада, либо в настройках добавить папку с макросом в папки автокада

    Ответить
  3. Sergey

    Здравствуйте. Подскажите, как посадить этот замечательный макрос на кнопку? Поставил его в автозагрузку. Теперь стало лень нажимать Alt+F8 и кнопку Выпонить. Хочется одним нажатием на кнопку запускать Ваш макрос. Сейчас на кнопке стоит такой код:^C^C_-vbarun !Plot_U_stable_ver2.1_for_2012.dvb!Main.Main

    но он почему-то не работает. Автокад использую такой:

    F.205.0.0 AutoCAD 2012 — Russian SP2

    P.S. Отдельное спасибо за возможность автовыбора рамок, очень облегчает процесс печати.

    Ответить
  4. Colee автор

    сделайте поверх рамки СПДС простой четырехугольник в уникальном слое, все должно на ура отработать

    Ответить
  5. Roman

    Здравствуйте, отличный макрос, но столкнулся с такой проблемой AutoCAD 2012 64bit, рамки сделаны в модуле СПДС, и макрос к огромному сожалению просто не видит и не понимает рамки сделанные в СПДС, можно как-то решить эту проблему? Заранее благодарен.

    Ответить
  6. Colee автор

    попробуйте кстати погуглить бесплатные аналоги PDFFactory

    Я нашел следующие по описаниям

    PrimoPDF

    Bullzip PDF Printer

    как попробую, отпишусь

    Ответить
  7. Colee автор

    Если б эти листы были идеальным инструментом для печати, и их бы еще одним щелчком создать возможно было, то и макроса бы не было)

    На моей памяти только один человек пользовался созданием листа, и то у него были заготовлены шаблоны под формат.. В перспективе можно рассмотреть, но хотелось бы допилить максимально распечатку из модели с распараллеливанием печати крупных и малых форматов) тогда будет самое оно)

    Ответить
  8. PTqp

    А нельзя ли сделать макрос автоматического создания листов? Я думаю это был бы идеальный вариант.

    Ответить
  9. Colee автор

    PTqp, вы случаем мое письмо не получили минут 30 назад? У меня, наверно, сглючила.. Я как раз написал, что есть такая фишка про печать из листов, но чтоб из модели напечаталось.. Если все чертежи завести на отдельный лист, то при публикации все получается.. но вот из модели как это сделать без завода на каждый лист?

    Проблема макроса в том, что это всего лишь автоматизация действий в Автокаде таких, как

    1 нажать ctrl+p

    2 выбрать тип печати рамка

    3 выделить нужный чертеж

    4 выбрать масштаб, центрирование

    5 выбрать принтер

    6 нажать ОК

    Ответить
  10. PTqp

    colee, попробуйте в одной модели разместить несколько чертежей, затем создать для каждого из чертежей свой лист, затем выберите через shift все созданные листы и щелкнув правой кнопкой мыши выберите «Публикация выбранных листов». В появившемся меню выберите публикация в pdf. Нажмите ок и вы получите pdf в которой все созданные вами листы следуют друг за другом. И тут нет разницы, какой из принтеров вы выбрали при настройке листов, они всё равно будут идти друг за другом. Именно это мне и нужно.

    Ответить
  11. Colee автор

    По поводу печати без галки вписывания действительно происходит сбрасывание опций печати (это даже происходит просто при смене форматов печати), в новой версии появится при отключенных галках центрирование и вписывание выбор стандартных мастшабов (1:1,2:1 и тд) и смещения X,Y

    2 PTqp

    Все что можно сделать руками автокада при распечатке (ctrl+P) можно сделать в макросе, печать в такие принтеры PDF, которые задают вопрос о имени файла, даже при ручной распечатке все время надо вводить адрес.. Может попробовать залеть в настройки ПДФ принтера, и поискать такую опцию типа автоматического имени и сохранения.. тогда он напечатает все листы, потом останется их собрать.. Вряд ли в макросе получится давать имена для файлов, потому что это уже за гранью автокада.. силами автокада обрисовать сначала все файлы, а потом дать на печать при печати рамки невозможно

    Ответить
  12. PTqp

    colee, здравствуйте! Есть ли успехе в Вашем нелегком деле?

    Ответить
  13. Colee автор

    пока не получается.. ;(

    на выходных еще попробую

    Ответить
  14. PTqp

    colee, Вы нашли решение для печати нескольких листов в pdf так, чтобы в файле pdf они были выстроены один за одним?

    Ответить
  15. Colee автор

    Я Вам на почту ответил

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

    Ответить
  16. Alex

    Здравствуйте, colee, Вы не смотрели можно ли задать в макросе принудительную печать в метрическом масштабе?

    Ответить
  17. Colee автор

    можно создать альтернативный pc3 в автокаде

    Нажимаете на свойствах принтера, выбираете изменение стандартных форматов листа — там ищете нужный формат, нажимаете редактировать и ставите 0 в границы.. и печать будет без отступов

    Ответить
  18. Alexandr

    Что касается принтера pdffactory, прога удобноя но как настроить отступы при печати, уж слишком они большие получаются (настройка параметров «поля» в настройках печати никаких изменений не приносит)

    Ответить
  19. Colee автор

    посмотрю, что можно сделать с сессией печати.. Скорее всего можно будет сделать печать в один файл

    Насчет поворота страницы надо силами автокада это сделать нельзя, надо лезть в настройки принтера..

    Ответить
  20. PTqp

    Такое ощущение что дело именно в способе публикации. Когда я печатаю через макрос — он как будто начинает новую сессию печати для каждого листа. Я хочу добиться процесса публикации, как это получается при разбиении модели на листы и публикации листов (в один присест публикуются все листы в один файл). Использование различных принтеров не принесло плодов. Есть еще какие-либо идеи? Может что-то в самом автокаде перенастроить нужно?

    Ответить
  21. Pavel

    А по поводу поворота листа — Комментарий отправлен 2012-05-24 в 00:00:31

    Ответить
  22. Colee автор

    не согласен, очень не согласен

    последние изменения в версии 2.5 на мой взгляд прорыв таки) и сделана недавно, две-три недели назад..

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

    Ответить
  23. Pavel

    Макрос давно не обновлялся, а ведь замечания по нему остались! Ждем…

    Ответить
  24. Colee автор

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

    ссылка

    http://www.ixbt.com/soft/pdfprinters-1.shtml

    там две части..

    я по-моему пробовал DoPdf, вроде норм все было..

    Ответить
  25. ptqp

    К сожалению, pdfffactory платная программа и я не могу ее использовать. Есть ли у Вас на примере бесплатный аналог? Причина именно в принтере pdf? Нельзя ли это как-то поправить в макросе?

    Ответить