Математичні функції
+ |
Додавання |
- |
Віднімання |
* |
Множення |
/ |
Ділення |
atan |
Арктангенс |
sqrt |
Квадратний корінь |
exp |
Експонента (exp 5) = e5 |
log |
Натуральний логарифм |
expt |
Зведення до степеню (expt 2 5)=25 |
abc |
Визначення модуля числа |
sin |
Синус |
cos |
Косинус |
Тип аргумента, що повертається залежить від функції і типів аргументів. Функції sin, cos, atan, sqrt, exp, log – завжди повертають дійсні числа.
Використання AutoLISP у середовищі AutoCAD
Функції, визначені користувачем
AutoLISP має природну розширюваність за рахунок визначення нових функцій. Він дозволяє користувачеві визначати власні функції за допомогою функції DEFUN — define function:
(DEFUN <ім'я обумовленої функції> (|<формальні аргументи>/ <локальні перемінні>|)
<тіло обумовленої функції>
)
, де ім'ям функції може бути будь-як символ; формальні аргументи — послідовність символів, розділених пробілами; локальні перемінні — символи, використовувані для позначення інших об'єктів AutoLISP тільки усередині обумовленої функції; тіло функції — одне або кілька виражень. Пам'ять під локальні перемінні виділяється тільки під час обчислення функції.
Використання команд acad в alisp
Функція Command.
Будь-яка команда графічного редактора ACAD може бути включена в програму ALISP. Це виконується за допомогою функції сommand.
Формат: (command_”ім’я команди”_аргументи…)
Наприклад: (command “CIRCLE”_”100,100”_”50”) – будується коло з координатами центра 100,100, радіусом 50.
Одним із аргументів є слово pause.
pause - це аргумент переключення в режим графічного діалога, після читання pause команда чекає аргумента (опцію, точку і т. і.) з клавіатури чи “миші”, як при її виконанні в ACAD.
Наприклад: (command “CIRCLE”_”100,100”_pause) – будується коло з координатами центра 100,100, радіус вводиться користувачем.
Функція setq.
setq – функція присвоєння числа, рядка, списка і т. і.
Формат: (setq _змінна1_вираз).
Наприклад: (setq А 5.0) тобто А=5, (setq А 10 В 20 С 0.5) значить А=10, В=20, С=0,5.
Функція setq спочатку шукає пари і послідовно повертає значення, присвоюючи його з наступного елемента пари в попередній.
Функція get.
Для введення значень змінних використовують функції типу get.
getint - введення цілого числа;
getreal - введення дійсного числа (цілого, раціонального, ірраціонального);
getstring - введення рядка тексту;
getpoint - введення точки;
getangle - введення кута;
getdist – введення відстані.
Робота функцій аналогічна: після виконання функція створює паузу і чекає введення даних.
Формат: (getpoint _”підказка:”)
Наприклад: (getpoint ”\nВведіть центр кола:”)
(getdist перша точка _”підказка:”) – функція створює паузу і чекає введення відстані. Відстань може бути вказана трьома способами:
як дійсне число, введене з клавіатури;
шляхом вказання двох точок (буде визначена відстань між ними);
шляхом вказання другої точки за присутністю аргумента перша точка. Очевидно, що перший спосіб еквівалентний дії функції getreal, тобто:
(getdist ”підказка:”)= (getreal ”підказка:”)
Наприклад:
(setq A (getreal ”\ nВведіть число: ”))=(setq A (getdist ”\ nВведіть відстань:”))
Програма 3. Побудова кола.
(defun KOLO ( ) ; ім’я функції
setq O1 (getpoint “\nВведіть центр:”)
R (getdist O1 “Введіть радіус:”)
) ; setq
(command “CIRCLE” O1 R)
) ; defun
