Обробка спискових структур
⇐ ПредыдущаяСтр 7 из 7 (INITGET [<Сума чисел>][<"ключові слова...">]) - установка режиму введення даних. Сума чисел реалізує кілька режимів. Числа: 1 – заборонене порожнє введення; 2 - заборонене введення нуля; 4 - заборонене введення від’ємних чисел; 8 - межі координат не контролюються; 16 - уведення тривимірних точок; 32 - використовується пунктир для зображення “гумових” лінії або прямокутника; 64 - ігнорується координата Z тривимірної точки (тільки в GETDIST AutoCAD 11-й і 12-й версій); 128 - повертає довільний код із клавіатури; ключові слова - визначення списку ключових слів через прогалину; (INITGET 1 "ТАК НІ"); виклик функції (READ-LINE) - чекання введення рядка з клавіатури; (READ-CHAR) - чекання введення символу з клавіатури для перетворення його в числовий код ASCII; (READ-CHAR); виклик функції А; уведення символу 65; результат виконання - код ASCII. (READ-LINE <F1>) - уведення запису з файлу <F1>; (READ-LINE (OPEN "З:\\CM\\CM1.TXT" "r")) (READ-CHAR <F1>) - уведення символу з запису файлу <F1>. Файл <F1> попередньо повинний бути відкритий. Це робиться в такий спосіб: (SETQ Fl (OPEN "D:\\KPI\\FILE.DAT" "r")) Перший запис у лапках - місце розташування файлу в каталозі, друга -режим читання (read). Крім цього, можуть бути режими "w" (write -запису),"a" (add - додавання). Після відкриття файлу і використання його необхідно закрити: (CLOSE Fl); закриття файлу <F1> Функції для маніпулювання з даними (SETQ, <змінна> <вираз>) - присвоєння змінній значення виразу (атом, список, функція,...); (SETQ A 10; присвоєння змінній А значення 10 B "ABS"; присвоєння В текстової константи "ABS" Z (COS 0.6)); присвоєння Zі значення (COS 0.6))
Або (SETQ A 10 В "ABS" Z (COS 0.6)); виклик функції (SET <'символ> <вираз>) - присвоєння символові з апострофом значення виразу (атом, список, функція,...); (SET 'A 10); присвоєння символові 'А значення 10
(CAR <список>) - повернення першого елемента списку; (CAR ' (В С D Е F)); виклик функції B; результат - перший елемент списку (CDR <список>) - повернення списку без першого елемента; (CDR ' (В С D Е F)); виклик функції (С D Е F); результат - список без першого елемента (CAAR <список>) - еквівалентно (CAR (CAR <список>)); (CDAR <список>) - еквівалентно (CDR (CAR <список>)); (CADR <список>) - еквівалентно (CAR (CDR <список>)); повернення першого елемента із списку без першого елемента. (CDDR <список>) - еквівалентно (CDR (CDR <список>)); (CADAR <список>) - еквівалентно (CAR (CDR (CAR <список>))); (CADDR <список>) - еквівалентно (CAR (CDR (CDR <список>))) і т.д. аж до чотирьох рівнів вкладеності; (LAST <список>) - повернення останнього елемента списку; (LAST ' (В С D Е F)); виклик функції F; результат - останній елемент списку (LIST <елемент> <елемент>...) - створення списку з елементів; (LIST 'А 'У 'З 'D 'Е); виклик функції (А В С D Е); результат - список елементів (APPEND <список>...) - з'єднання декількох списків в один; (APPEND ' (А В) ' (С D Е)); виклик функції (А В С D Е); результат - один загальний список (REVERSE <список>) - зміна порядку елементів на зворотний; (REVERSE ' (А В С D Е F)); виклик функції (F Е D С В А); результат виконання (ASSOC <ключ> <список>) - пошук елемента в списку по ключі; (SETQ LA (LIST ' (1 А) ' (2 В) ' (3 С))); виклик' функції (ASSOC 2 LA); виклик функції (2В); підсписок із заданим ключем (SUBST <новий елемент> <старий елемент> <список>) - заміна в списку старого елемента на новий; (SETQ LB ' (А В С D Е)); виклик функції (SUBST 'Z 'У LB); виклик функції (A Z С D Е); список із заміненим елементом (MEMBER <елемент N> <список>) - виділення списку з елемента N; (MEMBER 'D'(ABCDEF)); виклик функції
(D Е F); результат виконання (NTH <число N> <список>) - виділення (N +1)-го елемента списку, тому що рахунок елементів у списку починається з N = 0; (NTH 3 ' (А В С D)); виклик функції D; виділений 4-й елемент списку (FIX <дійсне число>) - перетворення дійсного числа в ціле; (FIX 5.4); виклик функції ; результат виконання - ціле число (FLOAT <ціле число>) - перетворення цілого числа в дійсне; (FLOAT 5);виклик функції
(ANGTOS <кут у радіанах> [<представлення>][<точність>]) - перетворення кута в радіанах у текстовий рядок; (ANGTOS 0.685);виклик функції "39.248"; кут у градусах як текстова константа (CHR <число>) - перетворення числа в символьний код ASCII; (CHR 77); виклик функції "М"; результат - символьний код ASCII числа 77 (ASCII <"символ">) - значення символу в числовому коді ASCII; (ASCII "G"); виклик функції 71; результат - числовий код ASCII символу G (ATOF <"число">) - перетворення числової текстової константи в дійсне число; (ATOF "55.2");виклик функції 55.20000; результат виконання (ATOI <"число">) - перетворення числової текстової константи в ціле число; (ATOI "34"); виклик функції 34; результат виконання (ITOA <ціле число>) - перетворення цілого числа в числову текстову константу; (ITOA 19); виклик функції "19"; результат виконання (RTOS Дійсне число>)[<режим>][<точність>]) - перетворення дійсного числа в текстову константу. (RTOS 34.5 1 4) перетворить 34,5 у "3.4500Е+01" - науковий режим (RTOS 34.5 2 4) перетворить 34,5 у "34.5000" - десятковий режим (RTOS 34.5 3 4) перетворить 34,5 у "2 ' -10.5000"" - технічний режим (RTOS 34,5 4 4) перетворить 34,5у"2'-101/2"" - архітектурний режим (RTOS 34.5 5 4) перетворить 34,5 у "34 1/2"" - дробовий режим (STRLEN <"рядок">) - визначення числа символів у рядку; (STRLEN "AutoLISP"); виклик функції ; результат - число символів у рядку (STRCAT <"рядок 1"> <"рядок 2">...) - з'єднання рядків; (STRCAT "Auto" "CAD"); виклик функції "AutoCAD"; результат з'єднання рядків (SUBSTR <"рядок"> <початок> [<довжина>]) - виділення частини рядка підряддка (початок - номер символу, довжина - число символів); (SUBSTR "AutoCAD" 5); виклик функції "CAD"; результат - виділена частина тексту
(LENGTH <список>) - визначення довжини списку; (LENGTH ' (А В С D E F)); виклик функції 6; результат - число елементів
Функції роботи з числовими даними і виразами (+ <N1> <N2> <N3>...) - додавання чисел N1, N2, N3,...; (+ 12.3 45 3.б 1); виклик функції 61.9; результат додавання декількох чисел (- <N1> <N2> <N3>...) - вирахування з числа N1 чисел N2, N3,...; (- 50.5 45.1 3 2.3); виклик функції 0.1; результат вирахування декількох чисел
(Е0.<вираз1> <вираз2>) - Т, якщо ідентичні, інакше NIL; (SETQ El '(X Y Z) E2 '(X Y Z)) (EQ El E2); виклик функції NILL; результат виконання (/= <атом!> <атом2>...) - Т, якщо <атом!> не дорівнює іншим атомам, інакше NIL; (/=7.857.74); виклик функції Т; результат виконання (< <атом1> <атом2>...) - Т, якщо <атом1> менше всіх наступних, інакше NIL; (< "A" "D"); виклик функції Т; результат виконання (<= <атом1> <атом2>...) - Т, якщо <атом1> менше або дорівнює всім наступним, інакше NIL; (= <атом1> <атом2>...) - Т, якщо <атом1> дорівнює всім іншим атомам, інакше NIL. Функції для виведення даних різного типу (WRITE-CHAR <ціле число>) - друкування символу ASCII коду; (WRITE-CHAR 67); після введення з'являється ехо команди, (WHITE-LINE <текст>) - друкування тексту без лапок; (PRIN1 <вираз>) - друкування і повернення значення <вираз>; якщо <вираз> - текст, то в лапках; (PRINl " HELLOW ") " HELLOW " (PRINC <вираз>) - друкування і повернення значення <вираз>; якщо це текст, то без лапок; (PRINT <вираз>) - друкування з нового рядка з наступною прогалиною і повернення значення виразу, текст без лапок; (PRINT "HELLOW");виклик функції HELLOW; результат виконання (WRITE-CHAR <ціле число> <F1>) - друкування тексту у файл без лапк, а повернення в лапк; (WRITE-LINE <текст> <F1>) - друкування тексту у файл <F1> без лапок, а повернення в лапках; (SETQ Fl (OPEN "D:\\KPI\\LISP\\WR.LSP" "а")) (WRITE-LINE "ХОРОШИЙ ПОЧАТОК" F1) (PRIN1 <вираз> <F1>) - друкування <виразу> у файл <F1> і повернення значення <виразу>, текст - у лапках; (PRINC <вираз> <F1>) - друкування у файл <F1> і повернення значення <вираження>, текст без лапок;
(PRINC "ПРИВІТ КОРИСТУВАЧАМ КПІ" F1) (PRINT <вираз> <F1>) - друкування у файл <F1> і повернення значення виразу, текст без лапок. Функції доступу до примітивів і засобів AutoCAD (ENTGET <ім'я примітива>) - вибирає примітив з бази даних і повертає його у вигляді списку в кодах DXF; (ENTNEXT <ім'я примітива>) - вибирає наступний примітив з бази даних; (ENTLAST) - вибирає останній створений примітив (об'єкт) з бази даних.
Інші функції описані в літературі, наприклад, Кудрявцев Е.М. AutoLISP. Программирование в AutoCAD 14. М.: ДМК.-1999.
Читайте также: В.2 Обробка результатів польових вимірювань різними методами Воспользуйтесь поиском по сайту: ©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...
|