00 spis treści autocad


Wstęp l

Dlaczego LISP? ............... 2

Układ podręcznika .............. 2

Konwencje opisu ............. 3

Konwencje typograficzne ........... 4

Ostatnie zmiany i rozszerzenia ......... 5

Programowy interfejs do standardowych aplikacji zewnętrznych 6

Programowalne okna dialogowe ......... 7

Rozdział l Podstawy użytkowania AutoLISP-u 9

Typy danych w AutoLISP-ie ....... 9

Symbole ............... 9

Listy ................ 10

Łańcuchy alfanumeryczne .......... 10

Wartości całkowite ............. 10

Wartości rzeczywiste ............ 11

Deskryptory plików ............ 11

Nazwy elementów ............. 11

Zbiory wskazań ............. 11

Procedury i procedury zewnętrzne ........ 12

Konwencje leksykalne ............. 12

Interpreter AutoLISP-u ............. 14

Wyrażenia w AutoLISP-ie ........... 14

Zmienne w AutoLISP-ie ........... 15

Biblioteki i automatyczne wczytywanie definicji funkcji .... 17

Funkcje C'XKX - Definiowanie nowych poleceń AutoCAD-a . 17

Biblioteki funkcji - wczytywanie automatyczne ... 18

Funkcje S::STAKTUP - Automatyczne wykonanie funkcji . 20

Obsługa błędów ............... 21

Rozdział 2 Funkcje ogólnego przeznaczenia 23

Zapytania i polecenia AutoCAD-a .......... 23

Przesyłanie poleceń ............ 23

Oczekiwanie na akcję użytkownika ...... 24

Przesyłanie wskazań punktów do poleceń AutoCAD-a ... 25

Zmienne systemowe i środowiskowe ....... 25

Szukanie pliku ............. 26

Lokalizowanie punktów względem obiektów rysunkowych . 27

Narzędzia geometryczne ........... 28

iii

Funkcja narzędziowa textbox ......... 28

Pobieranie informacji od użytkownika ......... 32

Funkcje (getxxx) pobierające dane od użytkownika ... 32
Sterowanie warunkami działania funkcji pobierających

informacje od użytkownika. ........ 34

Opcje odpowiedzi dla funkcji pobierających dane

od użytkownika ........... 34

Opcje słów kluczowych .......... 35

Dowolne odpowiedzi z klawiatury ....... 36

Konwersje ................ 36

Konwersje łańcuchów alfanumerycznych ..... 37

Jednostki w świecie fizycznym ........ 39

Transformacje układów współrzędnych ........ 39

Sterowanie wyświetlaczem ............ 41

Interakcyjne wyprowadzanie informacji ..... 42

Sterowanie ekranem graficznym i tekstowym .... 44

Sterowanie na niskim poziomie grafiką i danymi wprowadzanymi

przez użytkowanika ............ 44

Kalibrowanie pulpitu graficznego .......... 45

Porównywanie łańcuchów ze znakami uniwersalnymi .... 47

Rozdział 3 Funkcje obsługi zbiorów wskazań, elementów i

tablic symboli 49

Obsługa zbiorów wskazań ............ 49

Listy filtrów dla zbiorów wskazań ....... 51

Znaki uniwersalne w listach filtrujących ..... 53

Filtracja dodatkowych danych elementu ..... 53

Testowanie relacji ........... 53

Logiczne grupowanie testów filtrujących ..... 54

Operowanie na zbiorach wskazań ...... 55

Funkcje operujące na nazwach i danych elementów rysunkowych . 56

Funkcje operujące na nazwach elementów ...... 56

Identyfikatory elementów i ich wykorzystanie . . 57

Kontekst elementu i dane transformacji współrzędnych 58

Funkcje operujące na danych elementów rysunkowych . . 61

Bloki bez nazwy ........... 65

Tworzenie elementów złożonych ....... 65

Funkcje danych elementu i ekran graficzny ..... 67

Uwagi o przetwarzaniu gładkich krzywych sklejanych 68

Uwagi o dodatkowych danych elementu ...... 68

Struktura dodatkowych danych elementu .... 69

Rejestrowanie programu użytkowego ..... 72

Odczytywanie dodatkowych danych elementu ... 72

Dołączanie danych dodatkowych do elementu ... 73

Wykorzystanie pamięci przez dane dodatkowe elementu 74

Identyfikatory w dodatkowych danych elementu . 74

Dostęp do tablic symboli ........ 75

Rozdział 4 Funkcje AutoLISP-u 79

Streszczenie ................ 79

Funkcje AutoLISP-u posiadające odpowiedniki w ADS . . 79

Obsługa funkcji ............ 79

Obsługa błędów ............ 79

Spis Treści

Zapytania i polecenia AutoCAD-a ....... 79

Narzędzia geometryczne ......... 80

Wprowadzanie danych przez użytkownika ..... 80

Konwersje ............... 81

Transformacje układu współrzędnych ...... 81

Kalibrowanie pulpitu graficznego ....... 81

Sterowanie wyświetlaczem ......... 82

Funkcje graficzne niskiego poziomu ...... 82

Badanie zgodności łańcuchów ze znakami uniwersalnymi 83

Zbiory wskazań ............ 83

Obsługa elementów ........... 83

Dodatkowe dane elementu ......... 84

Tablice symboli ............ 84

Funkcje ogólnego przeznaczenia ......... 84

Algebraiczne ............. 84

Obsługa symboli ............ 86

Łańcuchy tekstowe ........... 87

Konwersje ............. 88

Relacje .............. 88

Operacje na listach ........... 89

Obsługa plików ............ 90

Obsługa aplikacji ADS .......... 90

Wyświetlacz ............. 91

Obsługa funkcji ............ 91

Obsługa pamięci ............ 91

Różne ............... 92

Funkcje AutoLISP-u zdefiniowane w ADS ...... 92

Polecenia zdefiniowane w ADS ......... 92

Funkcje programowalnych okien dialogowych ..... 93

Otwieranie i zamykanie plików DCL ...... 93

Otwieranie i zamykanie okien dialogowych .... 93

Inicjowanie wyrażeń akcji lub funkcji zwrotnych ... 93

Obsługa wycinka i atrybutów ........ 93

Ustalanie okien kartotekowych i kartotek rozwijalnych . 94

Tworzenie obrazów ........... 94

Dane specyficzne dla aplikacji ........ 94

Katalog funkcji AutoLISP-u ............ 95

(+ number number ...) ........... 95

(- number [number]...) ........... 95

(* number [number] ...) ........... 95

(/ number [number] ...) ........... 96

(= atom atom ...) ............. 96

(/= atom atom ...) ............. 96

(< atom atom ...) ............. 96

(<= atom atom ...) ............. 97

(> atom atom ...) ............. 97

(>= atom atom ...) ............. 97

(~ number) .............. 98

(1+ number) .............. 98

(l- number) .............. 98

(abs number) .............. 98

(ads) ................ 98

(alert string ...) .............. 99

(alloc number) .............. 99

(and expr ...) .............. 99

Sp;s Treści

(angle ptl pt2) ............. 99

(angtof string [modę]) ........... 100

(angtos angle [mode[precision]]) ....... 100

(append expr ...) ............. 101

(appły function list) ............ 101

(ascii string) ............. 101

(assoc item alist) ............ 102

(atan numi [num2J) ............ 102

(atof string) .............. 103

(atoi string) .............. 103

(atom item) .............. 103

(atoms-famiły format [symiist]) ......... 103

(boole func inti int2 ...) ........... 104

(boundp atom) ............. 105

(car list) ............... 105

(cdrZisf) ............... 106

(caar list), (cadr Zis(), (cddr żis<), (cadar list), itd. . . 106

(chr number) ............. 107

(close file-desc) ............. 107

(command [arguments] ...) .......... 107

(cond (testl resultl ...) ".) .......... 109

(cons new-first-element list) .......... 110

(cos angle) .............. 110

(cvunit ualue from to) ........... 110

(defun sym argument-list expr ...) ........ 111

(distance ptl pt2) ............ 112

(distof string [tryb]) ............ 112

(entdel ename) ............. 113

(entget ename [applist]) .......... 114

(entlast) ............... 117

(entmake [elistJ) ............ 117

Elementy złożone ........... 118

Bloki bez nazwy ........... 119

(entmod elist) ............. 120

(entnext [enameJ) ............ 122

(entsel [prompt]) ............. 122

(entupd ename) ............. 123

(eq exprl expr2) ............. 124

(equal exprl expr2 [fuzzf) .......... 124

(*error* string) ............. 125

(eval expr) .............. 125

(exit) ................ 125

(exp number) ............. 126

(expand number) ............ 126

(expt base power) ............ 126

(fmdfile filename) ............ 126

(fix number) ............. 127

(float number) ............. 127

(foreach reame Zis( ericpr...) .......... 127

(gc) ................ 128

(gcd numi num2) ............ 128

(getangle [pt] [prompt]) .......... 128

(getcorner pt [prompt]) ........... 129

(getdist [pt] [prompt]) ........... 129

(getenv variable-name) .......... 130

Sp/s Treści

(getfiled title difault ext flags) ......... 130

(getint [promptJ) ............. 132

(getkword [prompt]) ........... 133

(getorient [pt] [prompt]) ......... 133

(getpoint [pt] [prompt]) ........... 134

(getreal [prompt]) ............ 135

(getstring [er] [prompt]) ........... 135

(getvar uarname) ............ 136

(graphscr) .............. 136

(grdear) ............... 136

(grdraw from to color [highlight]) ........ 136

(grread [track] [alikeys [curtype]]) ........ 137

(grtext [box text [highlight]]) .......... 140

(grvecs vlist [trans]) ............ 141

(handent handle) ............ 142

(if testexpr thenexpr [elseexpr]) ......... 142

(initget [bits] [string]) ........... 143

Definiowanie słów kluczowych ........ 145

(inters ptl pt2 pt3 pt4 [onseg]) ......... 146

(itoa int) ............... 146

(lambda arguments expr ...) ......... 146

(\astlist) ............... 147

(lengthlist) .............. 147

(list expr ...) .............. 147

(listp item) ............... 148

(load filename [onfailure]) .......... 148

(log number) .............. 149

(logand number number ...) ......... 149

(logior integer ...) . . .' ......... 150

(Ish numi numbits) ............ 150

(mapcar function list l... listn) ......... 150

(max number number ...) ........... 151

(mem) ................ 151

(member expr list) ............ 152

(menucmd string) ............. 152

(min number number ...) ........... 153

(minusp item) .............. 153

(nentsel [prompt]) ............. 153

(nentsełp [prompt] [pt]) ........... 155

(not item) ............... 156

(nth n list) ............... 156

(null item) ............... 157

(numberp item) ............. 157

(open filename modę) ............ 157

(or expr ...) .............. 158

(osnap pt mode-string) ........... 159

pi ................. 159

(polar pt angle distance) ........... 159

(prini [expr [file-desc]]) ........... 159

(princ [expr [file-desc]]) ........... 161

(print [expr [file-desc]]) ........... 161

(progn expr ...) .............. 161

(prompt msg) .............. 161

(quit) ................ 162

(quote expr) .............. 162

Sp/s Treści

VII

(read string) .............. 162

(read-char [file-desc]) ........... 162

(read-line [file-desc) ............ 163

(redraw [ename [modę]]) .......... 163

(regapp application) ............ 164

(rem numi num2 ...) ........... 165

(repeat number expr ...) ........... 165

(reverse list) .............. 165

(rtos number [modę [precision]]) ........ 166

(set sym expr) ............. 166

(setq symi exprl [sym2 expr2] ...) ....... 167

(setvar uarname value) .......... 168

(sin angle) .............. 169

(sqrt number) ............. 169

(ssadd [ename [ss]J) ............ 169

(ssdel ename ss) ............. 169

(ssget [modę] [ptl [pt2J] [pt-list] [filter-listJ) .... 170

Filtry zbiorów wskazań . . . . . . . . . 171

Testowanie relacji ........... 172

Logiczne grupowanie testów filtrujących . . . . 173

(ssiength ss) .............. 174

(ssmemb ename ss) ............ 174

(ssname ss index) ............ 174

(strcase string [which]) ........... 175

(strcat stringi [string2] ...) .......... 175

(str\en [string] ...) ............ 175

(subst newitem olditem list) ......... 175

(substr string start [length]), ......... 176

(tablet code [rowi row2 row3 directionJ) ...... 176

(tblnext table-name [rewindJ) ......... 177

(tbisearch table-name symbol [setnext]) ...... 178

(terpri) ............... 179

(textbox elist) ............. 179

(textpage) .............. 180

(textscr) ............... 180

(tracę function ...) ............ 180

(trans pt from to [dispJ) .......... 180

(type item) .............. 183

(untrace/uracriora ...) ............ 183

(ver) ................ 184

(vmon) ............... 184

(vports) ............... 184

(wcmatch string pattern) .......... 185

(while testexpr expr ...) ........... 187

(write-char code [file-desc]) .......... 187

(write-line string [file-desc]) ......... 188

(xdroom ename) ............. 188

(xdsize list) .............. 188

(xload application [onfailure]) ........ 190

(xunload application [onfailure]) ....... 190

(zerop item) .............. 191

Funkcje AutoLISP-u zdefiniowane w systemie ADS . . . . . 191

(acad_colordlg colornum [flag]) ........ 191

(acad_helpdlg helpfile [topie]) ........ 191

(acad_strlsort list) ............ 192

Sp/s Treści

Polecenia zdefiniowane w systemie ADS ........ 193

(c:gkreskuj pt [ss] [vector])
(c:bhatch pt [ss] [vector]) .............. 193

(c:gplinia pt [ss] [vector])
(c:_bpoly pt [ss] [vector]) .............. 194

(bherrs) ............... 194

(c:psdynam modę)
(c:psdrag modę) ................ 195

(c:pswyp ent pattern [argi] [arg2]] ...)
(c:psfill ent pattern [argi [arg2]] ...) ........... 195

(c:psin filename position scalę)
(c:pswe filename position scalę) ............ 196

Rozdział 5 Zarządzanie pamięcią 197

Zarządzanie pamięcią ............. 197

Obszar węzłów .............. 197

Odzyskiwanie obszaru węzłów ....... 198

Uwagi techniczne ............. 198

Informacja o wykorzystaniu pamięci ...... 199

Obszar łańcuchów alfanumerycznych ...... 199

Przechowywanie symboli ......... 199

Sterowanie przydziałem pamięci ....... 200

Wirtualne stronicowanie funkcji . . . . . . .201

Właściwe techniki programowania .......... 202

Ogólna organizacja kodu programu ........ 203

Komentarze ............. 203

Wcięcia i wyrównywanie tekstu ....... 204

Wskazówki dla programistów ;......... 204

Obsługa błędów ........... 204

Wczytywanie ............ 205

Obsługa języków narodowych ........ 206

Funkcje dostępu do elementów rysunkowych .... 206

Transformacje punktów ......... 206

Konwersje jednostek .......... 206

Dodatek A Funkcje w AutoLISP-ie i w systemie ADS 207

Dodatek B Kody grup DXF 215

Kody grup w kolejności wartości liczbowych . . . . . . .215

Kody grup uporządkowane według rodzaju elementu rysunkowego . 218
Kody grup elementów rysunkowych ........ 219

Kody grup dla Bloków i tablic .......... 226

Dodatek C Kody błędów 233

Dodatek D Komunikaty błędów 239

Błędy programów użytkowych ........... 239

Błędy wewnętrzne .............. 245

Dodatek E Ćwiczenia 247

Określenie zamierzonego celu ........... 247

Spis Treści ix

Rozpoczęcie pracy .............. 248

Wprowadzanie danych wejściowych ......... 249

Kontur drogi ................ 252

Rysowanie płyt ............... 253

Dodanie nowego polecenia do AutoCAD-a ........ 257

Usprawnienie działania polecenia .......... 260

Dodanie okien dialogowych ............ 262

Plik dddroga.dcl - opis w języku DCL ....... 262

Funkcje dla okien dialogowych w AutoLISP-ie - dddroga.lsp . 264
Podsumowanie ............... 267

Dodatek F Kody ASCII
Indeks

269
273

x Spis Treści

Wyszukiwarka

Podobne podstrony:
00 Spis treści, Wstęp, Wprowadzenie
00 spis tresci
00 spis tresci skryptu
00 Spis treści, Przedmowa
00 spis tresci wstep
00 Spis treści, Wstęp
00 Spis treści
00 Przedmowa i spis tresci
dsp spis tresci
Spis treści
01 Spis treści
Spis treści

więcej podobnych podstron