Выполнение команд AutoCAD из AutoLISP

Символы AutoLISP

Символы AutoLISP— это слова, состоящие из группы буквенно-цифровых знаков и являющиеся именами функций или переменных, используемых для хранения данных пользователя. В символах AutoLISP не должны использоваться разделители выражений, к которым относятся круглые скобки, пробелы и двойные кавычки, и служебные знаки -"." (точка), "," (запятая), ";" (точка с запятой), " ' " (апостроф), "/" (косая черта), "\" (обратная косая черта). Написание символов не должно соответствовать написанию чисел (например, символ не должен состоять из одних цифр).

Зарезервированными являются символы, используемые как имена функций, а также некоторые обозначения констант.

AutoLISP работает с объектами следующих типов:

· целое число;

· вещественное число;

· строка;

· список, точечная пара;

· дескриптор файла;

· указатель функции, приложения;

· примитив AutoCAD;

· набор выбора;

· VLA-объект.

Символам AutoLISP могут быть присвоены значения любых типов.

Строковые константы начинаются и заканчиваются кавычками (сами кавычки в длину константы не входят) и содержат внутри себя текст, который может состоять из любых знаков, в т. ч. пробелов, скобок, апострофов.

Списковые константы — это списки, состоящие из постоянных элементов любого типа (списки, как и функции, открываются и закрываются круглыми скобками). Для того чтобы система AutoCAD не вычисляла выражение как функцию, постоянные списки предваряются апострофом перед открывающей скобкой.

Ввод с клавиатуры выражений AutoLISP не всегда удобен, поэтому можно записать предварительно свои строки на языке AutoLISP в файл с расширением lsp (текст располагается в файле произвольным образом построчно, не обязательно каждое новое выражение начинать с новой строки; желательно заканчивать строку на разделителе — пробеле или скобке), а затем загрузить этот файл с помощью функции load. Синтаксис функции load следующий:

(load <файл> [<сообщение>])

Здесь <файл> — это строка с именем загружаемого файла, а <сообщение> — это строка с текстом сообщения, которое нужно вывести, если загружаемый файл не будет обнаружен. Возвращаемое значение в случае удачной загрузки — результат последнего выражения или имя последней функции, если в файле находятся определения функций. В случае если загружаемый файл не найден, возвращается текст сообщения об ошибке.

Очень важной является функция command, которая имитирует ввод пользователя в командной строке AutoCAD с клавиатуры.

Синтаксис функции:

(command [<параметр1> [<параметр2>... [<параметрN>]... ] ])

Возвращаемое значение — nil.

Функция может вызываться без параметров — это равносильно нажатию клавиши <Esc>, что прерывает действие активной команды.

Предположим, что нужно нарисовать отрезками рамку формата размером 210 на 297 (левый нижний угол рамки взять в точке 0,0 и верхний правый — в точке 210,297). Если бы вы выполняли задачу без программы, то вводили бы с клавиатуры следующие команды и опции:

_ LINE


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: