Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaVeronika Barnané Megváltozta több, mint 10 éve
1
Grafikus tervezőrendszerek programozása 7. előadás
2
Kiválasztási halmazok Kiválasztási halmazok létrehozása (ssget [mód]...) A mód megadja a kiválasztás típusát: –Semmi: A felhasználótól kér több rajzelem kiválasztását –”_w” : Ablak kiválasztás –”_c” : Metsző kiválasztás –”_l” : Utolsó rajzelem kiválasztása –”_p” : Előző kiválasztás –”_x” : Összes elem kiválasztása
3
Példa Általános kiválasztás (ssget) Előző kiválasztás (ssget ”_P”) A 2,2 –es ponton áthaladó rajzelemek kiválasztása (ssget ’(2 2)) Kiválasztás egy ablakkal (ssget ”_W” ’(0 0) ’(5 5))
4
Kiválasztási halmazok Maximum 128 kiválasztási halmaz lehet Miután nem kell a kiválasztási halmaz „szabadítsuk fel” Minden rajzelem csak egyszer szerepelhet a kiválasztási halmazban A kiválasztási halmaz átadható bármely AutoCAD parancsnak rajzelem választásnál
5
Kiválasztási halmazok kezelése 1. Kiválasztási halmaz mérete (sslength halmaz) A kiválasztási halmaz n-edik elemét adja meg (ssname halmaz index) –Az első elem indexe zérus –Helytelen index esetén nil -t ad vissza Megvizsgálja hogy egy rajzelem tagja-e a kiválasztási halmaznak (ssmemb ename halmaz)
6
Kiválasztási halmazok kezelése 2. (ssadd) : Új, üres kiválasztási halmazzal tér vissza (ssadd ename) : Új kiválasztási halmazt hoz létre egy rajzelemmel és a halmazzal tér vissza (ssadd ename halmaz) : Rajzelemet hozzáadja a kiválasztási halmazhoz és a módosított halmazzal tér vissza –Ha a rajzelem már benne van a halmazban, nem hiba (ssdel ename halmaz) : Rajzelemet törli a kiválasztási halmazból és a módosított halmazzal tér vissza
7
Kiválasztási halmazok filterezése 1. Csak TEXT objektumok kiválasztását engedi a felhasználó által (ssget '((0. “TEXT”))) Kiválasztja az összes circle objektumot a my layer-en (ssget “_X” ‘((8. “my”) (0. “circle”)) ) (ssget “_X” (list (cons 8 “my”) (cons 0 “circle”)) )
8
Példa Törölni minden sárga színű objektumot az adott fólián (defun c:torolsarga ( / name flist ss) (setq name (getstring “\nFolia neve:”)) (setq flist (list (cons 8 name) ‘(62. 2))) (setq ss (ssget “_X” flist)) (command “_erase” ss “”) )
9
Kiválasztási halmazok filterezése 2. Logikai műveletek a filterrel: – ” ” A nyitó és záró jelek legyenek egyensúlyban
10
Példa Kiválasztja a vonal objektumokat melyek a „text” fólián vannak Az objektumnak két tulajdonsága van: vonal és „text” fólián van (ssget ‘( (-4. “<and”) (0. “line”) (8. “text”) (-4. “and>”) )
11
Példa Vonal vagy a „text” fólián van (ssget ‘( (-4. “<or”) (0. “line”) (8. “text”) (-4. “or>”) )
12
Példa Kiválasztja azokat az objektumokat melyek vagy vonalak vagy a „text” fólián vannak (Csak az egyik feltételt elégítik ki.) (ssget ‘( (-4. “<xor”) (0. “line”) (8. “text”) (-4. “xor>”) )
13
Példa Kiválasztunk minden nem vonal objektumot (ssget ‘( (-4. “<not”) (0. “line”) (-4. “not>”) )
14
Példa Kiválasztja az összes circle objektumot amelyek a lay1 vagy lay2 fólián vannak Alapesetben ÉS kapcsolat feltételezett (ssget ”_X” ‘( (0. circle) (-4. ”<or”) (8. ”lay1”) (8. ”lay2”) (-4. ”or>”) ))
15
Példa Kiválasztja az egység sugarú köröket és az ABC layer-en levő vonalakat (ssget ”_X” '( (-4. "<OR") (-4. "<AND") (0. "CIRCLE") (40. 1.0) (-4. "AND>") (-4. "<AND") (0. "LINE") (8. "ABC") (-4. "AND>") (-4. "OR>") ))
16
Kiválasztási halmazok filterezése 3. Kiválasztás relációs függvények alapján –Reláció: =, /=, >, >=, <, <= Csak 2.0 egységnél nagyobb sugarú kör objektumok kiválasztását engedi (ssget ”_X” '( (0. "CIRCLE") (-4. ">=") (40. 2.0)))
17
Kiválasztási halmazok filterezése 4. Lehet felhasználói alkalmazások adataival is filterezni Például: (ssget ”_X” '((0. "CIRCLE") (-3 ("APPNAME")))) Olyan köröket választ ki amelyekhez APPNAME nevű felhasználói alkalmazási adatok vannak rendelve
18
Kiválasztási halmazok filterezése 5. Lehet wildcard (*) karaktert használni a szövegekben Például: (ssget ”_X” '((2. ”*_bb”))) Olyan blokkokat választ ki amelyek neve _bb -vel végződik
19
Szimbólum táblázatok Az AutoCAD nem látható objektumainak táblázatai: –LAYER: fóliák –LTYPE: vonaltípusok –VIEW: nézetek –STYLE: stílusok –BLOCK: blokkok –UCS: lokális koordinátarendszerek –VPORT: nézet ablakok –DIMSTYLE: méretezési stílusok –APPID: alkalmazás azonosítók
20
Szimbólum táblázatok A táblázatok módosíthatók: –entdel, entget, entmake, entmod, entnext, handent –tblsearch – egy objektummal tér vissza –tblnext – folyamatosan megy végig a táblázaton
21
tblnext (tblnext table-név [visszatekerés]) Ha visszatekerés nem zérus akkor az első objektumot adja vissza a táblázatból Egyébként a következő objektumot adja vissza
22
Példa (defun c:foliak (/ folia) (setq folia (tblnext "LAYER" 1)) (princ (cdr (assoc 2 folia))) (terpri) (while (setq folia (tblnext "LAYER")) (princ (cdr (assoc 2 folia))) (terpri) ) (terpri) )
23
Eredmény 0 Layer1 Layer2 Layer3 nil
24
tblsearch (tblsearch table-név symbol [setnext]) Egy szimbólumot keres a táblában Ha setnext értéke nil akkor nincs hatással a tblnext parancsra Ha setnext értéke nem nil akkor a tblnext parancs a tblsearch parancs által visszaadott objektum utáni objektumot adja vissza
25
Példa (setq t (tblsearch "LAYER" "0")) ( (0. "LAYER") (2. “0") (70. 0) (62. 7) (6. "CONTINUOUS") )
26
Megjelenítésvezérlő parancsok 1. A szöveges képernyőre váltás (textscr) A szöveges képernyőre letörlése (DOS) és átváltás (textpage) A grafikus képernyőre váltás (graphscr)
27
Megjelenítésvezérlő parancsok 2. Alacsony szintű rajzoló parancsok Csak a képernyőn jelennek meg Egy megadott objektumot frissít az aktuális ablakban (redraw [ename [mode]]) Egy vektort rajzol két pont közé (grdraw from to color [highlight]) Vektorokat rajzol a grafikus képernyőre (grvecs vlist [trans]) Egy szöveget ír az állapotsorba vagy a képernyőre (grtext [box text [highlight]])
28
Példa
29
Az összes rajzelemen végigmegy, kijelöli majd megszünteti a kijelölést (defun c:kiemel (/ elem) (setq elem (entnext)) (redraw elem 3) (command "_delay" 1000) (redraw elem 4) (while (setq elem (entnext elem)) (redraw elem 3) (command "_delay" 1000) (redraw elem 4) )
30
Slide Az aktuális képernyő elmentése –Prezentációhoz –Kép menühöz
31
Slide Parancs az aktuális képernyő elmentésére: mslide Csak a képernyőn megjelenő objektumok képét menti el Nem menti el : –a kikapcsolt fóliákon levő elemeket –a képernyőn kívüli elemeket A slide file kiterjesztése: sld
32
Slide-ok megtekintése A képernyő (slide) visszatöltése: vslide –Mintha egy képet töltenénk be –Az aktuális rajzot nem változtatja meg Prezentáció is készíthető, kép sorozat
33
Slide gyűjtemény Több slide egy file-ba szervezhető A slide gyűjtemény kiterjesztése : slb slidelib.exe progammal lehet létrehozni slidelib gyűjtemény < slide-lista A slide-lista a file név list A slide gyűjtemény módosítása csak az eredeti slide-okkal lehetséges!!!
34
Slide gyűjtemény példa slidelib ajtok.slb < ajto.lst ajto.lst tartalma például door1.sld door2.sld Eredmény: SLIDELIB 1.2 (3/8/89) © Copyright 1987-1989,1994,1995 Autodesk, Inc All Rights Reserved
35
Slide betöltése gyüjteményből ; dialógus ablak ne jelenjen meg Command: setvar Enter variable name or [?]: filedia Enter new value for FILEDIA : 0 Command: vslide Enter name of slide file to view: C:\temp\ajtok(door1) ; eredeti kép visszaállítása Command: redraw
36
Parancs file (script) Parancs sorozat végrehajtásához parancs file-t lehet definiálni A parancs file futtatása: script Egy sor egy parancs Minden SPACE-nek szerepe van!!! Megjegyzés pontosvesszővel kezdődik
37
Hasznos parancsok delay : várakozás milliszekundumig rscript : a parancs file ismétlése resume : a megszakított scipt folytatása graphscr : grafikus képernyőre váltás textscr : szöveges képernyőre váltás
38
Prezentációs parancs file ; Kezdjük a prezentációt, töltsük be: SLIDE1 VSLIDE SLIDE1 ; Előzetes betöltés, megjelenítés nélkül: SLIDE2 VSLIDE *SLIDE2 ; A SLIDE1 2000 milliszekundumig látható DELAY 2000 ; Jelenítsük meg SLIDE2-t VSLIDE ; Előtöltés SLIDE3 VSLIDE *SLIDE3 ; SLIDE2 megjelenítése 2000 milliszekundumig DELAY 2000 ; Jelenítsük meg SLIDE3-t VSLIDE ; SLIDE3 megjelenítése 3000 milliszekundumig DELAY 3000 ; Ismételjük a parancs file-t RSCRIPT
39
Rajzoló parancs file circle 20,20 10 zoom e delay 1200 circle 15,25 2 delay 1200 circle 25,25 2 delay 1200 line 20,22 18,18 22,18 c delay 1200 arc 14,16 e 26,16 20,22
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.