Pblock

Материал из Lblss.ru
Перейти к: навигация, поиск

Содержание

С чего оно начиналось

Долго искал программу для отрисовки выносок и расстановки позиций взамен ACAD'овскому Leader'у, с которым не очень то и удобно работать. Однако, попадались в основном простенькие программы, которые рисуют отдельные примитивы, никак не связанные друг с другом. Разумеется, такое положение дел никак не устраивало, так как хотелось немного автоматизации. Тогда и родилась идея написать свою программу.

Назначение

Программа отрисовки выносок на одной или нескольких полках, в две строки (над и под полкой), в окружности, в прямоугольнике. Как дополнение - отрисовка координат X и Y для точки начала выноски (стрелки Leader'а). Предусмотрено также редактирование текста и добавление/удаление строк (только на полках), добавление дополнительных линий к существующему блоку, если он был отрисован этой программой.

Изначально программа задумывалась преимущественно для работы в модели из листа через активный видовый экран. В программе реализовано масштабирование отрисовываемого текста таким образом, чтобы на листе он выглядел в 1,4 раза выше, чем определенный в текущем размерном стиле. Имеется возможность задать свои значения высоты текста и/или коэффициента увеличения. Если отрисовка происходит в модели или в листе, то масштаб ВЭ, естественно, не учитывается и остается только коэффициент 1,4. Стиль текста, а так же, вид и размер стрелки на Leader'е берется из текущего размерного стиля.

Результат работы программы - Leader с прикрепленным к нему анонимным блоком в качестве аннотации. Элементы, входящие в состав блока помещены на слой "0", все остальное - на текущий слой с текущими цветом и весом линий.

Системные требования

Программа работает в версиях AutoCAD с 2002 по 2005. В других версиях не проверялась.

Специальных требований к ОС и железу нет.

Реализация

Разумеется, был выбран AutiLISP. Чтоб не плодить файлы иконок, они упакованы в один файл dll. В первых версиях использовалось много глобальных переменных и во всем проекте использовалось несколько Lisp-файлов, поэтому было принято решение о сборке приложения VLX с изолированым пространством имен. В последних версиях переменные и функции максимально локализованы, поэтому появилась возможность отказаться от VLX.

Лицензия

С 2008 года программа распространяется под лицензией GNU GPL, неофициальный перевод

Установка

Для установки программы скопируйте файлы pblock.vlx, pblock16.mnu, pblock16.mnl и pblock16.dll из архива в папку, находящуюся на путях поиска файлов поддержки АКАД (см. Toos -> Options -> Files -> Support File Search Path). При необходимости добавьте свой путь.

Для установки панели инструментов наберите команду _.menuload (или выберите из падающего меню Tools -> Customize -> Menus...), укажите в окошке "File Name:" файл MNU и нажмите кнопку "Load". В ответ на ".....bla-bla-bla...... Continue loading MNU file?" отвечайте "Да". Должна появиться панель инструментов. Затем окно можно закрыть.

Если панель инструментов не требуется, то достаточно загрузки одного VLX файла. Однако в этом случае требуется (при необходимости) поместить код файла MNL, определяющий задержку загрузки окна диалога в какой либо из автозагружаемых Лисп-файлов. В противном случае все настройки будут "по умолчанию" (или как при некорректно заданных аргументах).

ЗАМЕЧАНИЯ

  • 1. Если на компъютере установлены различные версии АКАД, например R15 (2000...2002) и R16 (2004 и 2005) и они пользуются одной общей папкой программ, для этого имеются копии файлов MNL, MNU и DLL для второй версии (два последних нужны только на время компиляции рабочих файлов меню при загрузке MNU). Используйте pblock15.* для загрузки исключительно в R15, а pblock16.* - для загрузки только в R16. Это связано с несовместимостью рабочих файлов меню для разных версий). VLX файл остается один для всех версий.
  • 2. Иногда при работе под WindowsXP "глючит" редактирование выноски (программа тихо закрывается после указания лидера или блока). В этом случае в файле MNL отредактируйте строку
(vl-bb-set 'vk_pblock_delay 50)

установив большее значение для задержки появления окна и перезагрузите АКАД. Впрочем, для того чтоб подобрать оптимальное значние вместо перезагрузки можно Лисп-выражение (vl-bb-set .....) вводить с командной строки АКАД и затем выполнить команду редактирования выноски.

НАПОМИНАНИЕ

Не разбрасывайте без осознанной необходимости копии файлов по разным папкам, находящимся на путях поиска АКАД!!! Помните, что АКАД будет использовать первый попавшийся (по списку путей поиска) файл с нужным именем. Это может вызвать у Вас проблемы при обновлении файлов.

Файлы

В архиве имеются следующие файлы:

  • pblock.vlx - непосредственно программа
  • Readme.txt - инструкция по установке и список изменений
  • pblock15.dll и pblock16.dll - иконки панели инструментов
  • pblock15.mnl и pblock16.mnl - файл настроек
  • pblock15.mnu и pblock16.mnu - файл меню (панель инструментов)

Файлы pblock15.* и pblock16.* идентичны друг другу и нужны на тот случай, когда на компьютере установлены несколько версий ACAD - R15 (2000...2002) и R16 (2004 и 2005) с общей папкой Лисп-программ.


Замечания по новым версиям Acad

По сравнению с 2005 версией в новых управление меню было изменено. В частности, в 2013 наблюдается ошибка, если использовать меню программы. Если же *.mnu не загружать, то программа работает. Причина кроется где-то в скомпилированных файлах *.cuix. Так как не имею возможности самостоятельно изучить это явление, привожу цитату из разговора с Дмитрием Головащенко, сумевшим побороть этот недуг:

Проблема была в том, что действительно не подгружался mnl. Я переименовал его как свой файл адаптации и все ок стало :)) Мой файл адаптации называется ACADDSG- вот такого имени должен быть и mnl файл- тогда подгружает его .... у меня 1 файл mnl. Он должен называться так же, как файл адаптации cuix

Исходные коды

Настройка

Некоторые настройки можно задать в файле MNL. Откройте его в Блокноте или другом аналогичном текстовым редакторе (не Ворде!!!) и при необходимости отредактируйте. Пояснения по настройке внутри файла. Кроме того, изменять настройки можно также внешней Лисп-программой.

Использование

Варианты запуска программы:

  • клик на иконке панели инструментов
  • из командной строки: PBLOCK, затем ввод или выбор необходимых опций

Если в процессе работы с чертежом конструкция выноски "случайно расползется" (например, окажется перемещен конец Leader'а), то после вызова и завершения по "Ok" команды редактирования (даже без внесения изменений) будет восстановлен первоначальный вид.

Персональные инструменты