Приложение AutoLisp — это интерфейс приложения AutoCAD, предназначенный для автоматизации задач проектирования.
Введение
Обширный набор возможностей системы AutoCAD позволяет применять ее в качестве инструмента для создания автоматизированных рабочих мест для технических специалистов различных направлений. Структурная организация системы предоставляет возможность дополнения стандартных средств AutoCAD собственными наработками. Укрупненные версии адаптации системы предполагаю знание языка AutoLisp, который обычно является основным языком программирования в среде AutoCAD.
Например, при автоматизированном проектировании часто возникает потребность в прорисовке часто повторяющихся деталей, которые имеют разные размеры, то есть, параметризованных деталей. Размеры можно получить расчетным путем, или они определяются пользователем в диалоговом режиме. Для того чтобы ускорить подобные работы считается целесообразным для стандартных деталей сформировать программы рисования, которые позволяют получить чертежи с высокой степенью готовности. Для доработки таких чертежей обычно достаточно проставить недостающие размеры, нанести дополнительные виды, разрезы и надписи. Текст программы, выполненной на языке AutoLisp, имеет расширение lsp.
Приложение AutoLisp
Приложение AutoLisp может работать с объектами следующих типов:
- Объекты, являющиеся целыми числами, например, 135.
- Объекты, являющиеся вещественными числами, например, 123.4. или +1.234е2, или 1234е-2.
- Объекты, являющиеся строкой символов.
- Объекты, являющиеся списком произвольных элементов, например, (эл1 эл2 ... элп).
- Объекты, являющиеся двухмерными точками, например, (15.50 27.4).
- Объекты, являющиеся трехмерными точками, например, (15.50 27.4 100.0).
- Объекты, являющиеся примитивами AutoCAD.
Для хранения данных применяются переменные, то есть, идентификаторы, которые не должны совпадать по написанию с зарезервированными или ранее занятыми переменными. Формирование новой переменной и присвоение ей значения может быть выполнено при помощи функции setq.
Отдельные параметры могут обладать фиксированными значениями:
- Пустой список обозначается как nil.
- Истинное условие обозначается как t(rue).
В текст программы могут быть вставлены комментарии, которые должны начинаться с символа точка с запятой:
; Строка комментария.
Синтаксис вычисляемых выражений имеет следующий вид:
Рисунок 1. Синтаксис. Автор24 — интернет-биржа студенческих работ
Здесь: «функция» является именем функции, «аргумент1» «аргумент2»... «аргументN» являются аргументами функции, которые должны разделяться, по крайней мере, одним пробелом.
Квадратные скобки в приведенном формате призваны указывать на возможное отсутствие находящихся между ними аргументов. Все выражения должны заключаться в круглые скобки. Поэтому для каждой открывающей круглой скобки должна быть приведена в соответствие закрывающая круглая скобка. В любом приложении AutoLISP количество открывающих и закрывающих круглых скобок обязано совпадать.
Функция присвоения setq имеет следующий вид:
Рисунок 2. Функция присвоения. Автор24 — интернет-биржа студенческих работ
К примеру:
(setq r1 15.3 s2 4) должно интерпретироваться как г1=15.3, s2=4
Ввод пользователя в командной строке AutoCAD с клавиатуры способна имитировать функция command. Сами команды и их параметры необходимо записывать так же, как и при использовании системы AutoCAD. К примеру:
(command " LINE" "0,0" "210,0" "210,297" "0,297" ”_C”)
Функция load предназначена для загрузки файла с текстом программы и его исполнения:
(load " c:/Dis/Prog/file.lsp) или (load " c:\Dis\Pro\/file.lsp)
В таблице ниже представлены используемые арифметические функции.
Рисунок 3. Таблица. Автор24 — интернет-биржа студенческих работ
В таблице ниже представлены используемые логические функции.
Рисунок 4. Таблица. Автор24 — интернет-биржа студенческих работ
В таблице ниже представлены используемые функции ввода-вывода в текстовом режиме.
Рисунок 5. Таблица. Автор24 — интернет-биржа студенческих работ
В таблице ниже представлены используемые функции ввода-вывода в графическом режиме.
Рисунок 6. Таблица. Автор24 — интернет-биржа студенческих работ