Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
445.doc
Скачиваний:
25
Добавлен:
30.04.2022
Размер:
5.75 Mб
Скачать

Основные понятия и определения

Для представления объектов в языке LISP используются символы. Символ - это имя, состоящее из букв, цифр и специальных знаков, которое обозначает какой-нибудь предмет, объект, вещь, действие из реального мира. Символ состоит из алфавитно-цифровых символов и специальных знаков, кроме

( ) . ‘ “ :

В AutoLISP используются три вида констант: числовые, строковые и логические. Атомы - простейшие объекты LISP, из которых строятся остальные структуры, представляют собой символы либо константы. Список (list) - упорядоченная последовательность, элементами которой являются атомы либо списки (подсписки). Атомы и списки - основные типы данных языка LISP, они называются символьными или S-выражениями (S-expression). Списки могут интерпретироваться как данные и как программы. В LISP используется префиксная форма записи вычислений, при которой как имя функции, так и аргументы записываются внутри скобок. AutoLISP включает в себя достаточно широкий набор встроенных функций, позволяющих производить математические вычисления. Аргументами математический функций являются числа, которые могут быть как целыми, так и вещественными. AutoLISP предоставляет также богатые возможности для конструирования логических выражений и выполнения над ними логических операций. Логический оператор - это функция, сравнивающая между собой два или больше аргументов. Результат сравнения может быть либо ИСТИНА, либо ЛОЖЬ. Основные логические функции - это И(AND), ИЛИ(OR) НЕ(NOT). Для ввода всех основных типов данных в AutoLISP существует семейство функций GET. Все функции GET могут иметь в качестве аргумента произвольную строковую константу, в которой может содержаться текст запроса или какая-то подсказка, выводимая при запросе пользователю ввести какие-то данные.

Вычисления в AutoCad

Поскольку при конструировании производить мелкие вычисления приходится очень часто, многие пользователи AutoCAD держат “под рукой” разнообразные программы-калькуляторы, что является не самым эффективным способом работы в AutoCAD. Вычисления в AutoCAD можно выполнять непосредственно в командной строке с использованием интерпретатора языка AutoLISP. Обращаться к AutoLISP можно обращаться прямо с командной строки AutoCAD. Так например, при вводе некоторой последовательности букв и нажатии клавиши ENTER, интерпретатор командной строки не сразу вызывает команду AutoCAD, а осуществляет предварительный анализ введенных символов. Если обнаруживается, что введено выражение AutoLISP, то оно сначала передается интерпретатору AutoLISP, а уже он возвращает в AutoCAD результат. Результат может быть любым – целым и действительным числом, строкой символов, координатами точки и пр. Такой механизм позволяет использовать выражения и программы AutoLISP на любом уровне командной строки AutoCAD – как в самой командной строке, так и в ответ на запросы команд. Если первым символом в командной строке введена круглая открывающаяся скобка, то интерпретатор командной строки AutoCAD переходит в специальный режим – режим ввода выражения AutoLISP. Выход из этого режима осуществляется при вводе скобки, закрывающей вводимое выражение, которое может быть сложным и содержать вложенные выражение.

Производить математические вычисления позволяют производить ряд встроенных функций:

(+ число 1 число2 …) – возвращает сумму введенных аргументов;

(- число1 число2 …) – вычитает число2 из число1 и возвращает разность. Если задано более двух аргументов, то из первого аргумента вычитается сумма всех остальных. Если задан один аргумент, то он вычитается из нуля (инвертируется его знак;

(* число1 число2 …) – возвращает произведение всех чисел;

(/ число1 число2 …) – делит число1 на число2 и возвращает частное. Если задано более двух аргументов, то первое число делится на произведение всех остальных;

(cos число) – возвращает значение косинуса угла, заданного аргументом в радианах;

(sin число) – возвращает значение синуса угла, заданного аргументом в радианах/

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]