Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
METHOD / Основы САПР / Лекц_Основы_САПР.doc
Скачиваний:
2381
Добавлен:
05.03.2016
Размер:
2.06 Mб
Скачать

Обзор функций языка AutoLisp

Следующим шагом в освоении языка AutoLISP является ознакомление с набором стандартных (их ещё иногда называют встроенными) функциями. Перечень функций с краткой характеристикой, приведен в Приложении А Дадим их обзор группируя их по функциональному признаку.

Математические функции

AutoLISP включает в себя достаточно широкий набор встроенных функций, позволяющих производить математические вычисления. Аргументами математических функций являются числа, которые могут быть как целыми, так и вещественными. Если все аргументы - целые числа, то результат операции также будет целым числом. Если хотя бы один аргумент вещественное число, то результат будет вещественным числом. Следует отметить, что число 2.0 например, считается вещественным, поскольку к нем присутствует десятичная точка. К математическим функциям относятся функции арифметических и тригонометрических операций, а так же специальные функции.

AutoLISP предоставляет пользователю функции работы со строками, функции преобразования проверки типов данных.

Логические функции Автолиспа.

AutoLISP предоставляет богатые возможности для конструирования логических выражений и выполнения над ними логических операций. Логический оператор - это функция, сравнивающая между собой два или больше аргументов. Результат сравнения (т.е. некоторое утверждение, касающееся двух аргументов) может быть либо истиной - Т , либо ложью -nil. Основные логические функции - это И (AND), ИЛИ (OR) и НЕ (NOT).

Лекция 14 Использование функции get для ввода данных.

Для ввода данных всех основных типов в языке AutoLisp, существует семейство функций GET (для каждого типа своя функция). Все функции GET могут иметь в качестве аргумента произвольную строковую константу, в которой может содержаться текст запроса или какая-то подсказка (выводимая при запросе пользователю) о необходимости ввести какие-то данные. Все функции GET ожидают ответа пользователя, т.е. приостанавливают выполнение программы до тех пор, пока не будет осуществлен ввод (нажата клавиша RETURN). Ввод может быть осуществлен как с клавиатуры, так и при помощи устройства указания. Вводя точки с экрана, вы можете захотеть, чтобы в процессе перемещения курсора по экрану Автокад показывал "резиновую" линию. Это позволяют делать практически все функции семейства GET. Все вводимые данные автоматически преобразуются в требуемый тип данных. В ответ на запрос функций семейства GET нельзя вводить выражение AutoLISP: это приведет к ошибке и выводу сообщения "Can't reenier AutoLISP" ("Не могу войти в AutoLISP повторно"). В макроопределениях меню функции GET нужно выделять обратной косой чертой с тем, чтобы п. AutoCAD обеспечил паузы для ввода данных.

Условное ветвление программ

Каждая программа имеет свою логическую структуру. Ветвление - это способ управления ходом выполнения программы. Условные операторы - это средство управления ветвлением программ. Язык AutoLisp имеет две функции ветвления, IF и COND. Условное ветвление: подразумевает проверку какого-то усло вия, по результатам которой осуществляется переход. Условия содержатся в условных выражениях. использующих операторы отношения и логические операторы. Условные выражения могут содержать любые выражения языка AutoLisp.

Например: (if (= a b) (progn (setq a (+а 10))

(setq b (- b 10)) )

(progn (setq pt1 (list 10.3 20.5))

(setq pt2 (list 100,88 -32.5))

(command “LINE” pt1 pt2 “”) ) )

Например: (setq ch (getint ”Enter integer nambe\n”)

(setq rt (getstring "Enter symbol:\n"))

(cond ((= rt "x")

(progn (setq s1 (chr ch)) (if (> ch 60) (setq ss (strcat rt s1))) ))

((= rt "y") (setq ss (strcat rt (chr ch))) )

((= rt "Y") (setq ss (strcat rt (chr ch))) )

((and (/= rt "x") (/= rt "y")) (setq s_all (chr ch)) )

)

Переменной ch присваивается значение целой константы введенной пользователем. Управляющий символ \n в конце запроса ”Enter integer nambe” организует ввод с новой строки. Переменной rt присваивается значение строковой константы введенной пользо-вателем. В зависимости от значения rt (следует обратить внимание - COND различает большие и маленькие буквы) будут выполняться то или иное действие.

Соседние файлы в папке Основы САПР