Что такое lisp в автокаде
Как подгрузить Лисп в Автокад
Мы рассматривали LISP-приложения для AutoCAD. Теперь давайте разберёмся, как внедрить LISP в работу.
Как установить файл *.lsp в Автокад?
1. Перейдите во вкладку «Управление». На панели «Приложения» выберите команду «Загрузить приложение». Воспользуйтесь командной строй в Автокаде и введите «_appload».
2. Откроется диалоговое окно «Загрузка/выгрузка приложений». Найдите подходящий файл с расширением *.lsp или др.
3. После проделанных действий нажмите кнопку «Загрузить».
4. Когда внизу этого диалогового окна появится сообщение об успешной загрузке, можно тестировать установленное приложение. Нажмите кнопку «Закрыть».
Как запустить команду приложения lisp?
В AutoCAD lisp-команды посмотреть нельзя. Следует отталкиваться от исходного файла, который был загружен в программу.
Файл скрипта можно открыть через обычный «Блокнот». В верхней части этого текстового документа разработчики оставляют необходимую информацию для работы. В том числе название команды, которая будет запускать ЛИСП. В данном примере это «z-text-align», поэтому в командную строку нужно вводить именно такой запрос для вызова инструмента.
Далее следуйте указаниям командной строки и пошагово выполняйте запросы установленного скрипта.
Как подгрузить lisp в Автокад LT?
К сожалению, приложения, написанные на AutoLISP, работают только на полной версии программы AutoCAD. Поэтому такие скрипты нельзя внедрить в AutoCAD LT или др. версии.
Исключением могут являться специализированные приложения типа LT Extender и подобные ему, которые были разработаны с целью запуска файлов *.lsp или *.arx непосредственно в среде Автокад LT.
Что такое ЛИСП для Автокада?
После освоения основных принципов работы в AutoCAD необходимо избавиться от рутинных операций. Для этого существуют дополнительные приложения, написанные на языке программирования LISP. Отсюда и происходит название скриптов: лисп-приложения.
Все основные LISP-приложения уже давно разработаны для Автокада. Важно определиться, какие команды или функции будут полезны, после чего скачать само приложение и загрузить его в AutoCAD.
Программы Lisp для Автокада
LISP-приложение – это текстовый файл, который содержит подсказки от разработчиков и определенный код для выполнения команды. Файл имеет расширение *.lsp. Открыть его можно стандартным способом, кликнув дважды ЛКП по нему. Откроется «Блокнот».
Давайте рассмотрим конкретный пример. Возьмем LISP, который позволяет выравнивать текст в Автокаде по вертикали или горизонтали относительно указанной точки. Далее скачиваем скрипт: Выравнивание текстов.lsp
Команда весьма полезная, однако по умолчанию такой инструмент не предусмотрен. Для выравнивания 5-10 текстовых строк в чертеже уйдет определенное время. Поскольку вы будете повторять одни и те же действия несколько раз. Поэтому для упрощения эти действия можно выполнить одной командой (в данном случае Z-TEXT-ALIGN).
ЛИСП-программы для Автокада могут быть полезны на различных этапах выполнения проекта. Также следует учитывать специфику выполняемых работ. Так существуют лиспы для Автокада для геодезистов или проектировщиков, использование которых характерно для конкретной области.
Как установить Лисп для Автокада
Вы нашли полезный для себя код на Лиспе который делает различные штуки и хотите его использовать. Как заставить его работать? Можно выделить 3 шага.
1. Сохранение программного кода на своем компьютере.
2. Загрузка файла в AutoCAD.
3. Запуск приложения (Лиспа).
Примечание: AutoLISP программы могут быть запущены только на полной версии Автокада, они не работают под AutoCAD LT. (исключая случаи загрузки дополнительных приложений типа LT Extender и ему подобных, которые специально разработаны для запуска lisp и (или) arx приложений в среде AutoCAD LT.)
Сохранение программного кода lisp на своем компьютере
Если код выложен на сайте, а не отдельным файлом, делаем так, с помощью курсора выделяем этот код и копируем его, нажав правую кнопку мыши и выбрав пункт Копировать (или Ctrl+C).
Запускаем «Блокнот» и вставляем наш код с помощью меню Правка → Вставить (или Ctrl+V). Получим примерно такое:
И сохраняем файл. Файл можно назвать, как вам нравится, но расширение у него должно быть .LSP. Правильнее (но не обязательно) будет назвать файл так же, как названа команда в найденном Вами коде. Команде всегда предшествует префикс C: после слова defun. В примере выше видно, что команду назвали OFF2, соответственно файл называем off2.lsp. Таким образом, мы можем избежать беспорядка, т.к. будем знать, что в файле off2.lsp находится команда OFF2.
Иногда в коде представлено несколько функций. Необходимо найти «главную». Такая функция либо имеет префикс С: либо сам автор кода уточняет как использовать. В случае нескольких «главных» имя файла не имеет никакой разницы.
Загрузка lisp файла в Автокад
Файл сохранили или скачали уже готовый и запускаем Автокад. Выбираем Сервис → AutoLISP → Приложения. ( Tools → AutoLISP → Load ) или набираем в командной строке _appload.
Мы должны увидеть диалоговое окно как представлено ниже:
И по порядку делаем так:
1. Перейдите к папке, куда Вы сохранили lisp файл.
2. Выберите файл, который Вы хотите загрузить из списка.
3. Нажмите кнопку Загрузить. (Если все прошло удачно, Вы должны увидеть надпись «off2.lsp успешно загружено»)
4. Нажмите кнопку Закрыть для завершения команды.
Или еще проще загрузить lisp файл путем перетаскивания (drag-and-drop) иконки файла в графическое окно открытого документа Автокада.
Немного теории об установке лисп
Запуск lisp программы
Как только lisp файл загружен, вызываем команду из командной строки. Команда вызывается по ее имени. В нашем примере необходимо набрать в командной строке OFF2.
Организация библиотеки лисп файлов
Каждый раз набирать _appload для загрузки того или иного приложения не дело, да и файлов этих со временем накопится, проще будет организация свою библиотеку. Для начала условимся, что все наши файлы будем складывать в одну папку. Например, D:\MyLisp. Пропишем эту папку в путях доступа Автокада. Для этого выбираем Сервис → Настройка ( Tools → Options ) или набираем в командной строке _options. Переходим на закладку Файлы (Files) и раскрываем список Путь доступа к вспомогательным файлам (Support File Search Path).
Мы должны увидеть диалоговое окно, как представлено ниже:
Используйте следующую последовательность, чтобы прописать папку в путях доступа:
1. Нажмите кнопку Добавить.
2. Нажмите кнопку Обзор и выберите целевую папку (в нашем случае, D:\MyLisp).
3. Путь к папке должен появиться в диалоговом окне.
4. Нажмите кнопку OK для завершения команды.
В нашем случае: ^C^C(if (null C:OFF2)(load «off2»));OFF2;
Вместо текста мы должны будем подставлять имя нужной нам команды, а вместо текста имя того файла, в котором эта команда сохранена. Помните, что файл должен иметь расширение .lsp.
Полезно. Как создать свою кнопку и вывести на свою панель команд читаем здесь.
Видео по установке и запуска Лиспа в Автокаде
LISP-программы для Autocad
LISP’ы – это микропрограммы, которые дополняют функционал Autocad и способствуют автоматизации рутинных операций.
Для использования LISP-программ требуется совершить их загрузку.
Для этого необходимо проделать следующий порядок действий:
Довольно часто исходные данные для проекта весят неоправданно много, что, конечно, влияет на производительность Autocad и, в итоге, на нашу скорость работы.
Проведя анализ различных вариантов, был найден LISP с прозрачным названием cleandwg.lsp (Скачать CleanDWG (VLX, 0.01Mb)) Практика показывает, что он помогает в 99% случаев уменьшить вес вашего чертежа. Часто бывало что подложка от архитекторов весившая под 20 мб уменьшалась до размера менее 1 мб.
Порядок действий следующий:
Правилом хорошего тона в проектировании является некое затенение подложки, относительно проектируемой системы. Синие санузлы в проекте пожарной сигнализации смотрятся совсем не эстетично, правда?
Классический способ перевода не очень нужного в один цвет является выделение всего (ctrl+A) и назначение нужного цвета. Но увы, в большинстве случаев это не работает т.к. цвет содержимого блоков может быть назначен «по слою», «по блоку» или же просто напрямую. В последнем случае придется открывать каждый блок и изменять цвет вручную. Это рутинная операция от которой есть лекарство и называется оно bgltools.lsp (Скачать bgtools (LSP, 0.24Mb))
Порядок действий следующий
При прокладке кабеля в проекте используются функции «Отрезок» или «Полилиния», но что бы вы не применили, в любом случае, вам нужно будет знать сумму длин этих объектов для кабельного журнала и спецификации.
Вашему вниманию предлагается очень простой LISP, показывающий сумму длин выбранных отрезков. Алгоритм действий следующий:
Адресация устройств в проекте является одним из самых трудозатратных и рутинных процессов при выполнении проекта. Рады представить вам универсальный инструмент нумерации любых элементов на чертеже – NumInc. Помимо стандартных функций нумерации он умеет строить массивы значений (актуально для таблиц), заменять существующий текст новым значением (используется, например, при нумерации листов проекта или замене скопированных адресов) и много чего ещё! Познакомиться с полным функционалом этого комбайна можно на сайте разработчика.
Минимальный алгоритм действий следующий
Большинство проектировщиков работает в пространстве модели, но опытные проектировщики знают значительную пользу от работы с листами, например, пакетная печать проекта. Для автоматического создания листов из пространства модели отлично подходит LISP AddLay.
Порядок действий следующий
Удобным инструментом для редактирования названия и задания нужного нам порядка листов является LISP TabSort.
Порядок действий следующий
© ООО «ТД Рубеж» 2021, все права защищены
Офлайн каталог продукции RUBEZH в вашем телефоне.
Скачивайте мобильное приложение RUBEZH Ассистент
Как использовать лисп, опубликованный на форуме
Примечание: AutoLISP программы могут быть запущены только на полной версии Автокада, они не работают под AutoCAD LT. (исключая случаи загрузки дополнительных приложений типа LT Extender и ему подобных, которые специально разработаны для запуска lisp и (или) arx приложений в среде AutoCAD LT.)
Сохранение программного кода на своем компьютере
С помощью курсора выделяем этот код и копируем его в буфер обмена, нажав правую кнопку мыши и выбрав пункт Копировать (или Ctrl+C).
Запускаем «Блокнот» и вставляем наш код с помощью меню Правка >> Вставить (или Ctrl+V):
После того как вставили код в блокнот, мы должны иметь что-то наподобие этого:
Теперь мы должны сохранить файл. Файл можно назвать, как вам нравится, но расширение у него должно быть .LSP. Правильнее (но не обязательно) будет назвать файл так же, как названа команда в найденном Вами коде. Команде всегда предшествует префикс C: после слова defun. В примере выше видно, что команду назвали OFF2, соответственно файл называем off2.lsp. Таким образом, мы можем избежать беспорядка, т.к. будем знать, что в файле off2.lsp находится команда OFF2.
Иногда в коде представлено несколько функций. Необходимо найти «главную». Такая функция либо имеет префикс С:, либо сам автор кода уточняет, что «использовать как «. В случае нескольких «главных» именование файла не может иметь никаких рекомендаций.
Загрузка lisp файла
Далее, запускаем Автокад и выбираем Сервис >> Автолисп >> Загрузить (Tools >> AutoLISP >> Load) или набираем в командной строке _appload.
Мы должны увидеть диалоговое окно как представлено ниже:
Используйте следующую последовательность, чтобы загрузить off2.lsp:
Для начала необходимо определиться, что у нас: команда или функция?
Немного теории.
В описании практически любого кода есть такая строка, как
и потом после нее чего-то там написано. Так вот то, что там написано и есть имя функции.
Если первыми символами являются C:, то функция готова к вызову из командной строки. Если такого нет, то вызывать функцию надо, заключая ее имя в круглые скобки.
Например, есть функция
Ее вызывать (при условии, что она подгружена) с командной строки можно напрямую:
И будут выполнены действия
А вот такую:
Можно будет вызывать только так:
Запуск lisp программы
Как только lisp файл загружен, Вы можете вызвать команду из командной строки. Команда вызывается по ее имени. В нашем примере необходимо набрать в командной строке OFF2.
Запомните, имя команды содержит префикс C: после слова defun. Если Вы видите в коде:
то в командной строке необходимо набрать без префикса C:.
Tips: Вы можете также загрузить lisp файл путем перетаскивания (drag-and-drop) иконки файла в графическое окно открытого документа Автокада.
AutoCAD ; error: no function definition:
Если Ваша функция или команда не работает или завершает работу с сообщением как в примере ниже, то Вам может помочь простой способ.
Команда: (vlax-get-acad-object) ; error: no function definition: VLAX-GET-ACAD-OBJECT |
Наберите в командной строке (vl-load-com) или (предпочтительнее) добавьте ее в начало lisp файла.
Теперь ваш lisp должен работать без ошибок.
Данная функция загружает большое количество функций, входящих в расширение AutoLisp, позволяющее работать с объектами, свойствами, методами и событиями ActiveX. Признаком необходимости загрузки расширения AutoLisp является наличие в тексте Вашей программы функций, начинающихся с префиксов vla- (например vla-get-activedocument), vlax- (например vlax-get-acad-object), vl- (например vl-catch-all-apply) и vlr- (например vlr-pers).
В любом случае никогда не помешает добавить (vl-load-com) в начало файла, чтобы избежать подобных ошибок.
Организация библиотеки лисп файлов.
Что делать, если набралось достаточное количество файлов? Каждый раз набирать _appload для загрузки того или иного приложения? Наиболее эффективным будет организация своей библиотеки. Для начала условимся, что все наши файлы будем складывать в одну папку. Например, D:\MyLisp. Пропишем эту папку в путях доступа Автокада. Для этого выбираем Сервис >> Настройка (Tools >> Options) или набираем в командной строке _options. Переходим на закладку Файлы (Files) и раскрываем список Путь доступа к вспомогательным файлам (Support File Search Path).
Мы должны увидеть диалоговое окно, как представлено ниже:
Используйте следующую последовательность, чтобы прописать папку в путях доступа:
Вместо текста мы должны будем подставлять имя нужной нам команды, а вместо текста имя того файла, в котором эта команда сохранена. Напоминаю, что файл должен иметь расширение .lsp. Более подробно по организации меню можно почитать еще здесь http://www.kulichki.com/cadhlp/pdmnu.htm
Автозагрузка файлов.
Если есть необходимость загружать свои lsp файлы при открытии чертежа, то нужно добавить необходимые файлы в список автозаргузки.
Запускаем Автокад и выбираем Сервис >> Автолисп >> Загрузить (Tools >> AutoLISP >> Load) или набираем в командной строке _appload.
В открывшемся диалоговом окне жмем на кнопку Приложения рядом с изображение портфеля
В следующем диалоговом окне жмем на кнопку Добавить и указываем на необходимые файлы.
Они должны появиться в списке приложений.
Теперь перечисленные файлы будут загружаться каждый раз при открытии рисунка.
Важно понимать, что (по крайней мере в полной версии AutoCAD) загрузка приложений, помещенных в Автозагрузку (Startup Suite), как правило, выполняется во все профили и сессии AutoCAD’a.
Кроме того, есть еще один момент. Если существует 2 или более файлов, в которых описаны функции с одинаковыми именами, выполняться будет та, которая загрузилась последней. Поскольку предсказать, в какой последовательности будет выполняться загрузка приложений, невозможно, подобных ситуаций следует избегать.
Автор статьи: Владимир Азарко aka VVA