Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекц_1_LISP_кор.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
209.41 Кб
Скачать

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

+

Додавання

-

Віднімання

*

Множення

/

Ділення

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_”ім’я команди”_аргументи…)

Наприклад: (commandCIRCLE”_”100,100”_”50”) – будується коло з координатами центра 100,100, радіусом 50.

Одним із аргументів є слово pause.

pause - це аргумент переключення в режим графічного діалога, після читання pause команда чекає аргумента (опцію, точку і т. і.) з клавіатури чи “миші”, як при її виконанні в ACAD.

Наприклад: (commandCIRCLE”_”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