четверг, 20 февраля 2014 г.

Автоматическая печать из AutoCad-а

Доброе время суток.
Хочу поделиться с Вами одной из своих программ которые я написал в приступе лени на работе.
В нашей конторе все инженеры любят рисовать чертежи в AutoCad в пространстве Model и в одном файле может собираться около 100 листов (мой рекорд 156 листов) и как бы все хорошо и удобно пока не доходит дело до печати и это превращается в кошмар для создателя этого файла.
Программа названая мной "Ленивая печать" призвана помочь человеку при пакетной печати и избавить от рутины.




Суть работы программы - отправка неограниченного количества листов на печать из пространства Model, листы распознаются по рамками нарисованным полилинией (Эта рамка служит границей печати) в слое printme. При чем доступно 4 последовательности для отправки на печать.

 Краткое описание программы:
  • Написана как макрос на VB (для работы понабиться AutoCAD VBA Enabler);
  • Теоретически должна работать во все версиях  AutoCAD-а (тестил в 2013 и 2014);
  • Все исходные коды открыты и можете их изменять на свое усмотрение;
  • Возможно устанавливать количество копий, ч.б. или цветную печать;
  •  4 последовательности отправки листов на печать;
  • Есть кнопка прервать оправку на печать.
Руководство по использованию:
  1. Загрузить макрос  "Сервис"-"Макросы"-"Загрузить проект...";
  2. Для печати листов необходимо их обвести замкнутым прямоугольником (полилинии) в качестве границы для печати, объекты должны быть в слое "printme";
  3. Запустить макрос "Сервис"-"Макросы"-"Макросы..." выбрать макрос и нажать "Выполнить";
  4. После чего выставить параметры и нажать "Печать".
     
    Пример работы программы
 П.С. Для тех кто хочет создать кнопку вот код:
^C^C-vbarun "C:/aprint2.dvb!Module1.ленивая_печать"

П.П.С. Если есть предложения или замечания по программе пишите в комментариях.

9 комментариев:

  1. Протестировал в пространстве листа. работает, но не очень. на каждом втором чертеже "спотыкается" пытаясь рисовать дугу (после отмены/подтверждения рисования дуги и повторного сохранения файла печати процесс продолжается), было бы неплохо если бы вы это исправили.
    В модели сработало без ошибок.
    Autocad 2012.
    В любом случае большое спасибо, "..жить стало лучше.."

    ОтветитьУдалить
    Ответы
    1. В принципе с пространства листа вообще печатать не должно т.к. там другая последовательность на печать. Печатайте из Модели там будет 100% работать. Со временем добавлю возможность выбора от куда ведется печать.

      Удалить
    2. не должно, однако работает и даже так лучше чем рамкой каждое выделять:)

      Удалить
  2. Можно было и все варианты для печати указать ?
    Вот весь список:
    http://forum.dwg.ru/showthread.php?t=104517
    А самая лучшая и всё автоматом:
    http://www.kdm-info.narod.ru/revers.html

    ОтветитьУдалить
    Ответы
    1. Я бы не сказал что прога РЕВЕРС лучше, она платная, а мое детище бесплатное и с открытым исходным кодом

      Удалить
  3. "Руководство по использованию:
    Загрузить макрос "Сервис"-"Макросы"-"Загрузить проект...";
    Для печати листов необходимо их.. ."

    Нет вкладки "Сервис" , пытаюсь её добавить, её нет. Кто-нибудь знает как её можно добавить ??

    ОтветитьУдалить
    Ответы
    1. Это не вкладка это пункт меню в класическом интерфейсе.
      Если ты используеш плитки Метро (новый интерфейс) то посмотри на вкладке "Управление"

      Удалить
  4. спасибо за программу. Немного доработал ее добавил выбор слоя для печати (12 штук) printme01.... printme12

    ОтветитьУдалить
  5. Добрый день! В автокаде 2016 программа не работает, окно открывается но процесс не идет.

    ОтветитьУдалить