что такое lisp в автокаде
Что такое ЛИСП для Автокада?
После освоения основных принципов работы в AutoCAD необходимо избавиться от рутинных операций. Для этого существуют дополнительные приложения, написанные на языке программирования LISP. Отсюда и происходит название скриптов: лисп-приложения.
Все основные LISP-приложения уже давно разработаны для Автокада. Важно определиться, какие команды или функции будут полезны, после чего скачать само приложение и загрузить его в AutoCAD.
Программы Lisp для Автокада
LISP-приложение – это текстовый файл, который содержит подсказки от разработчиков и определенный код для выполнения команды. Файл имеет расширение *.lsp. Открыть его можно стандартным способом, кликнув дважды ЛКП по нему. Откроется «Блокнот».
Давайте рассмотрим конкретный пример. Возьмем LISP, который позволяет выравнивать текст в Автокаде по вертикали или горизонтали относительно указанной точки. Далее скачиваем скрипт: Выравнивание текстов.lsp
Команда весьма полезная, однако по умолчанию такой инструмент не предусмотрен. Для выравнивания 5-10 текстовых строк в чертеже уйдет определенное время. Поскольку вы будете повторять одни и те же действия несколько раз. Поэтому для упрощения эти действия можно выполнить одной командой (в данном случае Z-TEXT-ALIGN).
ЛИСП-программы для Автокада могут быть полезны на различных этапах выполнения проекта. Также следует учитывать специфику выполняемых работ. Так существуют лиспы для Автокада для геодезистов или проектировщиков, использование которых характерно для конкретной области.
AutoCAD. Настройка и создание собственной уникальной среды разработки
Статья вторая. Пример первой программы на LISP для AutoCAD
Проектирование в AutoCAD — вещь зачастую рутинная. Но AutoCAD на то и AutoCAD, являющийся одним из самых известных в мире инструментов для проектирования, чтобы иметь собственные лайфхаки и ухищрения. Ранее мной уже была рассмотрена технология создания динамических блоков, облегчающих и ускоряющих работу проектировщика. Теперь возьмёмся за глыбу знаний побольше и попробуем завалить мамонта под названием «LISP». Не сразу, конечно. В течении нескольких уроков.
LISP (AutoLISP) это традиционный для AutoCAD язык программирования. С его помощью можно создавать свои программы в любой области проектирования. Разработка и использование этих программ делает пользователя свободным от типовых и рутинных операций и ощутимо увеличивает производительность работы в AutoCAD.
Для работы нам потребуется только AutoCAD. Отдельная установка AutoLISP не нужна, т.к. он поставляется вместе с AutoCAD-ом.
И первое с чего всегда начинается проектирование – это постановка задачи. И чтобы сразу никого не спугнуть, предлагаю написать простенькую программу, которая построит прямоугольник размерами 395х287 (таков размер рабочей зоны в штампе А3) по указанной базовой точке T1.
Текст программы будем разрабатывать в редакторе «Visual LISP». Сначала, для того чтобы его открыть, нужно открыть сам AutoCAD. Далее на ленте меню выбираем вкладку «Управление», а на панели «Приложение» щелкаем пункт «Редактор Visual LISP».
Создаем новый файл: щелкаем на кнопку с иконкой в виде чистого листа.
Теперь в открывшимся окне необходимо набрать текст нашей программы на языке LISP:
(DEFUN c:auto_rectangle_form (/ T1 T2 T3 T4) ; start of the functon auto_rectangle_form
(setq T1 (getpoint “\nSet a base point: “)) ; ask the coordinate of a base point
(setq T2 (polar T1 0 395)) ; calculating of the second point of rectangle p2
(setq T3 (polar T2 (/ pi 2) 287)) ; calculating of the third point of rectangle p3
(setq T4 (polar T3 pi 395)) ; calculating of the fourth point of rectangle p4
(setq osm (getvar “osmode”)) ; remember the bindings of uer
(setvar “osmode” 0) ; turn off them
(command “_line” T1 T2 “”) ; paint the line 1-2
(command “_line” T2 T3 “”) ; paint the line 2-3
(command “_line” T3 T4 “”) ; paint the line 3-4
(command “_line” T4 T1 “”) ; paint the line 4-1
(setvar “osmode” osm) ; return the bindings
) ;
В тексте программы после символа «;» можно оставлять свои комментарии, которые в дальнейшем никак не влияют на выполнение команды, но крайне сильно помогают разработчикам в понимании собственных алгоритмов.
Чтобы в дальнейшем избежать пересечения со стандартными командами или с командами созданными другими пользователями, назовём файл и команду «auto_rectangle_form».
После этого сохраним нашу программу в нужном вам месте.
Теперь, для того, чтобы можно было использовать нашу программу прямо из AutoCAD-а, ее предварительно нужно загрузить. Для этого необходимо щелкнуть по кнопке указанной ниже на рисунке 5.
Если программа набрана без ошибок, то в окне «Консоль Visual LISP» появится надпись о том, что наша программа загружена. У меня вывелась следующуая крокозябра.
У программиста-не_курильщика выведется надпись
«; 1 блок кода загружено из # »
Переходим в AutoCAD, вводим «auto_rectangle_form» в командную строку и нажимаем Enter.
Рисунок 7. Ввод команды
Появится подсказка (которую и мы прописали в коде): «Укажите базовую точку :».
Щелкните в любой точки рабочего окна AutoCAD и он нарисует прямоугольник.
Вуаля! Теперь мы кодеры на LISP-Е. Шучу. Нет, конечно…
Для этого вам нужны мои следующие статьи. Ждите.
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 Ассистент
Как подгрузить Лисп в Автокад
Мы рассматривали 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
AutoLISP основан на языке программирования LISP, который является простым и в то же время достаточно мощным. Интерпретатор LISP, встроенный в AutoCAD, позволяет вводить код AutoLISP в командной строке и загружать код AutoLISP из внешних файлов. Интегрированная среда разработки Visual LISP (VLISP) предназначена для ускорения процесса создания программ на AutoLISP.
AutoLISP представляет собой интерфейс приложения AutoCAD для автоматизации задач проектирования. После загрузки приложения или процедуры AutoLISP они функционируют в собственных пространствах имен для каждого открытого чертежа. Пространство имен каждого чертежа является изолированным, что позволяет избегать конфликтов имен переменных и процедур AutoLISP в одновременно открытых чертежах. Например, следующее выражение по-разному устанавливает значение переменной а для различных документов.
В Visual LISP имеется механизм загрузки обозначений и переменных из одного пространства имен в другое.
Приложения и процедуры AutoLISP могут взаимодействовать с AutoCAD различными способами. Они могут запрашивать необходимую информацию у пользователя, непосредственно обращаться к встроенным командам AutoCAD, создавать и изменять объекты в базе данных чертежа. В AutoCAD с помощью процедур AutoLISP можно создавать новые команды для решения конкретных задач. Некоторые из стандартных команд AutoCAD написаны на языке AutoLISP.
AutoLISP предоставляет три формата файлов для приложений:
Хотя Visual LISP представляет собой интегрированную среду разработки, AutoCAD может читать код AutoLISP непосредственно, и его компиляция не требуется. Можно использовать командную строку, вводя в ней выражения, чтобы сразу же видеть результаты их выполнения. Это делает AutoLISP удобным языком для экспериментирования как для новичков, так и для опытных программистов.
Пользователи, не имеющие намерений писать собственные приложения на AutoLISP, тем не менее, могут найти много полезных процедур, входящих в комплект поставки AutoCAD. Имеется также большое число условно-бесплатных процедур и приложений, поставляемых сторонними разработчиками. Умение загружать и использовать такие приложения позволяет значительно повысить производительность работы.
Работа с приложениями AutoLISP
AutoLISP-приложения хранятся в текстовых ASCII-файлах с расширением lsp. В таких файлах обычно имеется раздел заголовка, в котором описана программа, ее назначение и даются конкретные инструкции. Данный заголовок также может включать комментарии, в которых указан автор и правовая информация, касающаяся использования программы. Строки комментариев начинаются с символа точки с запятой (;). Для просмотра и редактирования таких файлов можно использовать любой текстовый редактор или текстовый процессор, который сохраняет тексты в формате ASCII.
Перед использованием AutoLISP-приложения его необходимо загрузить в память. Для этого можно использовать команду ЗАГПРИЛ или функцию load языка AutoLISP. При загрузке приложения AutoLISP выполняется загрузка AutoLISP-кода из LSP-файла в память системы.
Загрузка приложения с помощью функции load требует ввода выражения AutoLISP в командной строке. В случае успешного выполнения функции load в командной строке отображается значение последнего выражения в файле. Обычно в этом качестве выступает либо имя самой последней определенной в файле функции, либо подсказка по использованию функции. Если функция load завершается неудачно, AutoLISP выдает сообщение об ошибке. Сбой функции load может быть вызван ошибками кода в файле или неверным именем файла, введенным в командной строке. Формат использования функции load имеет следующий вид:
Команда: (load «newfile»)
Для загрузки AutoLISP файла, находящегося не по библиотечному пути, аргумент имя_файла должен включать в себя также полный путь к файлу.
Команда: (load «d:/files/morelisp/newfile»)