!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)

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

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

  1. Алексей

    с нанокад так не получается, как с ZWcad. А еще, для автокаде макрос имеет расширение dvb, нанокад же, такое не воспринимает. Пришлось из файла макроса выдергивать форму и модуль. Столкнулся с разницей описания функций в библиотеке автокад и нанокад. AcadSelectionSet не могу найти, что подходит для нанокада. Не подскажите где посмотреть описание библиотеки функций для нанокада?

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

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

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

    В программах близких к Autocad очень близкие объекты VBA как у Autocad, только их помещают в свою область имен, типа Nano. Или как с Zwcad.. просто заменил через функцию в блокноте найти-замена на ZWcad. С нано может также прокатит

    Ответить
  4. Алексей

    Здравствуйте! Подскажите, а есть ли возможность прикрутить этот U_Plot к nanoCAD?

    Ответить
  5. Владимир

    Код плагина, а именно ВБА открыт (не запоролен), можно ли доработать плагин и предоставить в открытый доступ?

    Ответить
  6. jhonn

    Привет. Большущий респект за макрос. 5 лет в пользовании. И только недавно прозрел, что можно делать автоповорот))

    Небольшой вопрос, если прочитаете:

    1. Как убрать лишние строки в списке масштабов на форме? Просто если в коде убираю лишние, то единица чертежа становится 768 и даже если вручную вбить, не вписывает в лист при печати.

    Хоть и въехал потом как застолбить значение единицы чертежа, но интересно как убрать лишние масштабы.

    Спасибо огромное заранее!

    Ответить
  7. jhonn

    Сори, со 2м въехал — забыл, что можно присвоить текстбоксу сразу значение — TB_DENOMINATOR.Text = 1.

    А вот с 1м вопросом интересно просто, почему выдает ошибку. Ради перфекционизма))

    Ответить
  8. jhonn

    Привет. Большущий респект за макрос. 5 лет в пользовании. И только недавно прозрел, что можно делать автоповорот))

    Пара небольших вопросов, если прочитаете:

    1. Откуда считывается список масштабов на форме? Если в коде убираю лишние, то единица чертежа становится 768 и даже если вручную вбить, не вписывает в лист.

    2. Как все таки застолбить значение единицы чертежа? Допустим если не выбирать масштаб из списка можно вбить 1 и все печатается отлично.

    Спасибо огромное заранее!

    Ответить
  9. Андрей

    Добрый день. Испробовал все версии программы, не одна не работает, я думаю может это проблема у меня в прокладке между клавиатурой и стулом. Загружаю, устанавливаю галочки, нажимаю Select, находит количество рамок, нажимаю ОК, выходит ошибка Run-time error ’11’. Может я что то не так делаю, или автокад 2015 не подходит? Помогите, пожалуйста. Печатать очень много в пдф, вручную неудачник

    Ответить
  10. Петро

    Есть возможность добавлять удлиненние формати типу 420х819, 420х1188 і т.д.

    Ответить
  11. Александр

    ОГРОМНОЕ СПАСИБО разработчикам данной программы!!! Она СУПЕР!!!

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

    Так сделано же автоматический разворот.

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

    Ответить
  13. Павел

    Давненько обновлений и доработок не было… А можно было бы еще доработать, например, что бы листы разворачивало автоматически (книжная-альбомная, когда в один файл pdf нужно распечатать. Очень ждем решений!

    Ответить
  14. Владимир

    Понял, спасибо за наводку — потихоньку поковыряю. На работе ничего кроме НАНОкада не светит, а без автоматизации процесса как-то все кисло получается.

    Единственное, что потребуется еще конвертация, видимо — макрос в форме dvb нано-кад не понимает. Но vba модуль там есть

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

    Там, наверно, по аналогии с ZWcad капельку отличаются названия констант и объектов. Если есть время, то открываете макрос через редактор макросов, смотрите в хелпе какой-нибудь примитив в нанокаде, ищете что-то похожее в коде (всякие LWPOLYLINE и ему подобные) и по функции переименовать все меняете названия констант на нанокадовские

    Ответить
  16. Владимир

    Добрый день!

    Подскажите, а как запустить из НАНОКАД 5.1? Беглый гугл по яндексу не подсказал =)

    Ответить
  17. Ольга

    А, все, проконсультировалась. Теперь понятно почему так не сделать неудачник

    Ответить
  18. Ольга

    А зачем использовать вообще виртуальные пдф принтеры с кривыми А3 горизонтальными, когда можно стандартным автокадомским со скоростью света использовать? Я так поняла главная проблема это то, что при отправки на печать через стандартный dwgtopdf он пытается под одним названием все сохранить. Есть возможностьидеи как менять имя в цикле каким-нибудь образом?

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

    нет, к сожалению неудачник

    Ответить
  20. KaDo

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

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

    Я ж говорил, что там так можно))

    Ответить
  22. Владимир

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

    Ответить
  23. Владимир

    Присоединяюсь к Александру. С пространства листа макрос не печатает, а жаль, ведь у нас все работают так что в пространстве ОДНОГО листа размещены куча форматов с видовыми экранами

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

    да, известная проблема) руки так и не дошли исправить)

    Ответить