AutoLISP w środowisku VLISP

Podobne dokumenty
5 BvupMJTQ!!qsbluzd{oz!lvst

Wykorzystanie języka AutoLISP.

Cw.12 JAVAScript w dokumentach HTML

JAVAScript w dokumentach HTML (1)

SPOSOBY POMIARU KĄTÓW W PROGRAMIE AutoCAD

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Programowanie komputerowe. Zajęcia 1

Operatory. Operatory bitowe i uzupełnienie informacji o pozostałych operatorach. Programowanie Proceduralne 1

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

Wykład 2 Składnia języka C# (cz. 1)

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Dr inż. Grażyna KRUPIŃSKA. D-10 pokój 227 WYKŁAD 7 WSTĘP DO INFORMATYKI

Podstawy Programowania Podstawowa składnia języka C++

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Epebufl!E 892. Możliwe wartości zmiennej ERRNO i ich znaczenie mogą zmienić się w przyszłych wydaniach AutoCADa. Wartość Znaczenie Funkcje AutoLISPu

2 Przygotował: mgr inż. Maciej Lasota

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Warunki logiczne instrukcja if

Programowanie strukturalne i obiektowe : podręcznik do nauki zawodu technik informatyk / Adam Majczak. Gliwice, cop

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 4. Karol Tarnowski A-1 p.

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski

Proste programy w C++ zadania

1 Podstawy c++ w pigułce.

Algorytmika i Programowanie VBA 1 - podstawy

Spis treści WSTĘP CZĘŚĆ I. PASCAL WPROWADZENIE DO PROGRAMOWANIA STRUKTURALNEGO. Rozdział 1. Wybór i instalacja kompilatora języka Pascal

Programowanie Delphi obliczenia, schematy blokowe

Języki programowania C i C++ Wykład: Typy zmiennych c.d. Operatory Funkcje. dr Artur Bartoszewski - Języki C i C++, sem.

Laboratorium Programowanie Obrabiarek CNC. Nr H7

Zmienne, stałe i operatory

Język C : programowanie dla początkujących : przewodnik dla adeptów programowania / Greg Perry, Dean Miller. Gliwice, cop

JAVAScript w dokumentach HTML - przypomnienie

ABC Excel 2016 PL / Witold Wrotek. Gliwice, cop Spis treści

Operatory w C++ Operatory arytmetyczne. Operatory relacyjne (porównania) Operatory logiczne. + dodawanie - odejmowanie * mnożenie / dzielenie % modulo

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Wstęp do Programowania Lista 1

Instrukcje sterujące. Programowanie Proceduralne 1

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania interfejsu automatyzacji OLE w systemie CAx

Podstawy i języki programowania

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Instrukcje warunkowe i skoku. Spotkanie 2. Wyrażenia i operatory logiczne. Instrukcje warunkowe: if else, switch.

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

lekcja 8a Gry komputerowe MasterMind

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Programowanie strukturalne i obiektowe

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

SKRYPTY. Zadanie: Wyznaczyć wartość wyrażenia arytmetycznego

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Elementy języka Scheme

1. Arkusz kalkulacyjny (9) Za co lubimy arkusze kalkulacyjne (12) Excel 2013 (12) Podsumowanie (14) 2. Uruchamianie programu (15) Podsumowanie (18)

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

Języki programowania wysokiego poziomu. PHP cz.2.

Pliki. Informacje ogólne. Obsługa plików w języku C

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Właściwości i metody obiektu Comment Właściwości

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

Strona główna. Strona tytułowa. Programowanie. Spis treści. Sobera Jolanta Strona 1 z 26. Powrót. Full Screen. Zamknij.

Programowanie w języku Python. Grażyna Koba

C++ wprowadzanie zmiennych

Pracownia Informatyczna Instytut Technologii Mechanicznej Wydział Inżynierii Mechanicznej i Mechatroniki. Podstawy Informatyki i algorytmizacji

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

Języki programowania zasady ich tworzenia

Informacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char

Podstawy programowania C. dr. Krystyna Łapin

I - Microsoft Visual Studio C++

Wstęp do Informatyki i Programowania (kierunek matematyka stosowana)

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź

Podstawy Programowania C++

Programowanie - instrukcje sterujące

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek

1 Podstawy c++ w pigułce.

Podstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Informatyka, Ćwiczenie Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PRZEKROJOWY.

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Instrukcje. Operatory. Operatory. Instrukcje sterujące. wyrażenie1 && wyrażenie2 ;

JAVASCRIPT PODSTAWY. opracowanie: by Arkadiusz Gawełek, Łódź

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Podstawy programowania w języku C i C++

Ćwiczenie 1. Matlab podstawy (1) Matlab firmy MathWorks to uniwersalny pakiet do obliczeń naukowych i inżynierskich, analiz układów statycznych

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

Microsoft Visual C : praktyczne przykłady / Mariusz Owczarek. Gliwice, cop Spis treści

Programowanie obiektowe

Niniejszy ebook jest własnością prywatną. Został zakupiony legalnie w serwisie Netpress.pl, będącym oficjalnym Partnerem Wydawcy.

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Pascal - wprowadzenie

Konstrukcje warunkowe Pętle

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Profile i Śruby Użytkownika Tworzenie własnych baz danych i procedur rysowania profili.

ZMIENNE. Podstawy PHP

Transkrypt:

Spis treści 1. Wprowadzenie... 11 1.1 Przyjęte konwencje leksykalne... 11 1.2 Pobranie plików z Internetu... 12 1.3 Wstęp... 13 1.4 Auto LISP jako język programowania... 15 1.4.1 Typ INT liczba całkowita... 15 1.4.2 Typ REAL liczba rzeczywista... 17 1.4.3 Typ STR łańcuch znaków... 18 1.4.4 Typ LIST lista... 18 1.4.5 Typ SYM symbol (nazwa zmiennej)... 19 1.4.6 Typ ENAME nazwa obiektu AutoCAD-a... 20 1.4.7 Typ FILE deskryptor pliku... 20 1.4.8 Typ PICKSET zbiór wskazań... 21 1.4.9 Typ SUBR lub EXRXSUBR funkcja standardowa lub zewnętrzna... 21 1.4.10 Konwencje leksykalne języka... 21 1.5 Interpreter AutoLISP-u... 23 1.6 Tworzenie i wykonywanie programów w AutoLISP-ie... 24 1.7 Pojęcie funkcji w języku Visual LISP... 26 1.8 Podstawienie przypisanie wartości do symbolu (zmiennej)... 30 2 Funkcje podstawowe... 33 2.1 Funkcje arytmetyczne... 33 2.1.1 Dodawanie... 33 2.1.2 Odejmowanie... 34 2.1.3 Mnożenie... 35 2.1.4 Dzielenie... 35 2.1.5 Inkrementacja... 36 2.1.6 Dekrementacja... 37 2.1.7 Reszta z dzielenia... 38 2.1.8 Największa liczba... 38 2.1.9 Najmniejsza liczba... 39 2.1.10 Pierwiastek kwadratowy... 39 2.1.11 Potęgowanie... 40 5

AutoLISP w środowisku VLISP 2.1.12 Wartość absolutna... 40 2.1.13 Potęga liczby e... 41 2.1.14 Logarytm naturalny... 41 2.2 Funkcje relacji... 43 2.2.1 Porównanie... 43 2.2.2 Większy niż... 44 2.2.3 Mniejszy niż... 45 2.2.4 Nierówny... 45 2.2.5 Większy równy... 46 2.2.6 Mniejszy równy... 47 2.2.7 Funkcja EQUAL... 48 2.2.8 Funkcja EQ... 48 2.3 Funkcje logiczne... 49 2.3.1 Suma logiczna (koniunkcja)... 50 2.3.2 Różnica logiczna (alternatywa)... 50 2.3.3 Negacja logiczna... 51 2.4 Funkcje trygonometryczne... 51 2.4.1 Funkcja sinus... 51 2.4.2 Funkcja cosinus... 52 2.4.3 Funkcja arcustangens... 52 3 Podstawy obsługi edytora języka VLISP... 55 3.1 Wprowadzenie... 55 3.2 Krótka charakterystyka dostępnych menu... 58 3.3 Krótka charakterystyka pasków narzędzi... 60 3.4 Krótka charakterystyka okna konsoli... 64 3.5 Krótka charakterystyka okna edytora tekstu... 65 3.6 Ładowanie i wykonywanie programu... 66 3.7 Zamykanie okna edytora Visual LISP-u... 67 4 Funkcje wprowadzania danych z klawiatury... 69 4.1.1 GETPOINT (pobieranie współrzędnych punktu)... 69 4.1.2 GETINT (wczytywanie liczby całkowitej)... 70 4.1.3 GETREAL (wczytywanie liczby rzeczywistej)... 70 4.1.4 GETSTRING (wczytywanie łańcucha alfanumerycznego)... 71 4.1.5 GETCORNER (wczytywanie współrzędnych punktu)... 72 4.1.6 GETDIST (wczytywanie odległości)... 72 4.1.7 GETANGLE (wczytywanie kąta)... 73 4.1.8 INITGET (filtr danych dla funkcji GETxxxx)... 74 4.1.9 GETKWORD (wybranie słowa kluczowego)... 78 5 Funkcja COMMAND... 81 5.1.1 COMMAND (przesyła dane do AutoCAD-a)... 81 6

Spis treści 6 Funkcje przetwarzania list... 83 6.1 Najprostsze pozyskiwanie elementów z listy... 83 6.1.1 LIST (tworzenie listy z elementów)... 83 6.1.2 CAR (uzyskiwanie głowy listy)... 84 6.1.3 CDR (uzyskiwanie ogona listy)... 85 6.1.4 CAR + CDR (uzyskiwanie kolejnych elementów listy)... 85 6.2 Operacje na listach... 90 6.2.1 QUOTE (cytowanie elementu)... 90 6.2.2 LAST (ostatni element z listy)... 91 6.2.3 NTH (n-ty element listy)... 91 6.2.4 REVERSE (odwracanie kolejności listy)... 92 6.2.5 LENGTH (liczba elementów w liście)... 92 6.2.6 APPEND (łączenie list)... 93 6.2.7 MEMBER (poszukiwanie sublisty)... 93 6.2.8 CONS (budowanie par kropkowych lub list)... 94 7 Funkcje pomocnicze... 97 7.1.1 ANGLE (określenie kąta względem kierunku zero)... 97 7.1.2 DISTANCE (odległość między dwoma punktami)... 99 7.1.3 POLAR (określenie współrzędnych punktu)... 100 7.1.4 GETVAR (odczytywanie zmiennej systemowej)... 103 7.1.5 SETVAR (ustawienie nowej wartości zmiennej systemowej)... 103 8 Funkcje przetwarzania łańcuchów... 105 8.1.1 STRCASE (zamiana wszystkich liter na duże lub małe)... 105 8.1.2 STRCAT (łączenie łańcuchów)... 105 8.1.3 STRLEN (określenie długości łańcucha)... 106 8.1.4 SUBSTR (wybieranie części łańcucha)... 107 8.1.5 WCMATCH (porównywanie łańcuchów)... 108 9 Funkcje konwersji... 111 9.1.1 ITOA (liczbę całkowitą na łańcuch)... 111 9.1.2 RTOS (liczba rzeczywista na łańcuch)... 112 9.1.3 ATOF (łańcuch na liczbę rzeczywistą)... 113 9.1.4 ATOI (łańcuch na liczbę całkowitą)... 115 9.1.5 DISTOF (łańcuch na liczbę rzeczywistą)... 115 9.1.6 FIX (część całkowita liczby)... 116 9.1.7 FLOAT (zamiana na liczbę rzeczywistą)... 116 9.1.8 ANGTOS (kąt na łańcuch)... 117 9.1.9 ANGTOF (łańcuch z kątem na radiany)... 117 9.1.10 CHR (łańcuch w postaci znaku)... 119 9.1.11 ASCII (kod ASCII pierwszego znaku w łańcuchu)... 119 9.1.12 Zmienna systemowa DIMZIN... 119 7

AutoLISP w środowisku VLISP 9.1.13 Zaokrąglanie liczb rzeczywistych... 120 10 Funkcje warunkowe... 121 10.1.1 IF (rozgałęzienie programu)... 121 10.1.2 PROGN (grupowanie wyrażeń)... 122 10.1.3 COND (wielokrotne IF)... 123 11 Funkcje obsługi pętli... 127 11.1.1 REPEAT (powtarzanie pętli określoną liczbę razy)... 127 11.1.2 WHILE (powtarzanie pętli do spełnienia warunku)... 129 11.1.3 FOREACH (wartościowanie pętli według listy)... 131 11.1.4 APPLY (wykonanie funkcji na elementach listy)... 132 11.1.5 MAPCAR (wykonanie funkcji z parametrami)... 134 11.1.6 LAMBDA (funkcja anonimowa)... 136 11.1.7 EXIT lub QUIT (przerwanie pętli programowej)... 137 12 Obsługa przekazywania danych... 139 12.1.1 FINDFILE (poszukiwanie pliku)... 140 12.1.2 OPEN (otwieranie pliku)... 141 12.1.3 CLOSE (zamykanie otwartego pliku)... 142 12.1.4 PROMPT (wysłanie komunikatu)... 143 12.1.5 PRIN1 (bez interpretacji znaków sterujących)... 143 12.1.6 PRINC (z interpretacją znaków sterujących)... 144 12.1.7 PRINT (bez interpretacji znaków sterujących)... 145 12.1.8 WRITE-LINE (zapisywanie linii)... 145 12.1.9 WRITE-CHAR (zapisywanie znaku)... 147 12.1.10 READ-LINE (czyta linię tekstu)... 147 12.1.11 READ-CHAR (czyta znak)... 147 12.1.12 READ (łańcuch bez ograniczników)... 148 13 Funkcje obsługi bazy danych rysunku... 153 13.1 Baza danych rysunku... 153 13.1.1 ENTNEXT (nazwa obiektu w rysunku)... 154 13.1.2 ENTLAST (nazwa ostatniego elementu w rysunku)... 155 13.1.3 ENTSEL (nazwa wskazanego elementu w rysunku)... 155 13.1.4 ENTDEL (usuwanie elementu)... 156 13.1.5 REDRAW (sterowanie widocznością obiektu)... 156 13.1.6 ENTGET (lista opisująca obiekt)... 157 13.1.7 ASSOC (pozyskiwanie elementów)... 157 13.1.8 CONS (tworzenie pary kropkowej lub listy)... 158 13.1.9 SUBST (zamiana elementów w liście asocjacji)... 159 13.1.10 ENTMOD (modyfikowanie obiektu)... 160 14 Funkcje obsługi zbiorów wskazań... 161 14.1.1 SSGET (tworzenie zbioru wskazań)... 161 8

Spis treści 14.1.2 SSLENGTH (liczba elementów w zbiorze wskazań)... 163 14.1.3 SSADD (dodawanie elementów do zbioru wskazań)... 164 14.1.4 SSDEL (usuwanie elementu ze zbioru wskazań)... 165 14.1.5 SSMEMB (sprawdzenie czy występuje element w zbiorze)... 165 14.1.6 SSNAME (wybór elementu ze zbioru wskazań)... 166 15 Tworzenie programu... 167 15.1 Określenie celu i sposobu osiągnięcia celu... 167 15.2 Wykorzystanie okna konsoli... 168 16 Korzystanie z okna edytora tekstowego... 173 16.1.1 Tworzenie plików zapasowych i ich odzyskiwanie... 173 16.1.2 Pisanie tekstu... 174 16.1.3 Zaznaczanie tekstu... 175 16.1.4 Usuwanie tekstu... 176 16.1.5 Edytowanie tekstu... 177 16.2 Narzędzia formatowania kodu... 179 16.3 Sprawdzanie błędów syntaktycznych... 181 16.3.1 Sprawdzanie parzystości nawiasów... 182 16.3.2 Oznaczanie tekstu kolorami... 184 16.3.3 Wymuszenie sprawdzenia formalnego... 185 17 Narzędzia śledzenia i poprawiania programu... 189 17.1 Możliwości śledzenia i poprawiania programu... 189 17.2 Kroczenie przez program... 191 17.3 Wykorzystanie okna Czujka... 197 17.4 Przemieszczanie się między punktami przerwań... 201 17.5 Automatyczne kroczenie przez program... 203 17.6 Inne możliwości sterowania wykonywaniem programu... 205 17.7 Rodzaje pętli przerwań... 207 17.8 Narzędzia sprawdzania danych... 209 17.9 Korzystanie z narzędzia Stos śledzenia... 210 17.10 Wykorzystanie narzędzia Obsługa symbolu... 222 17.11 Wykorzystanie narzędzia Sprawdź... 224 18 Przeglądanie bazy danych rysunku... 231 18.1 Obiekty graficzne rysunku... 232 18.2 Tablice rysunku... 233 18.3 Bloki w rysunku... 235 18.4 Zbiory wskazań... 237 18.5 Dane dodatkowe... 239 19 Przeglądanie plików DCL... 243 20 Przykłady... 247 20.1 Funkcja ZINT... 247 9

AutoLISP w środowisku VLISP 20.2 Funkcja GWIAZDA... 250 20.3 Rysunek dokumentacji... 255 20.3.1 Funkcja główna... 259 20.3.2 Funkcja (CZYTAJDANE)... 260 20.3.3 Funkcja (FORMAT_SKALA)... 263 20.3.4 Funkcja (RYSUJ)... 268 21 Zakończenie... 279 22 Literatura... 281 23 Skorowidz... 282 10