Zobrazit plnou verzi příspěvku: string

rjanic
18.11.2006, 20:15
Moze niekto pomoct zaciatocnikovi?
Ako ziskam "string" ak ho chcem pouzit do funkcie
napr. (strcase string [which])ak nechcem hodnotu ziskat z prikaz.riadku ale z vytvoreneho textu? Viem ziskat meno
entity ale ako sa dostat k ostatnym vlastnostiam?
Urcite trivialna otazka ale kazdy raz zacinal.
dik

pavelstyl
19.11.2006, 14:21
Řekněme že chci získat vlastnosti poslední entity ve výkrese:
(setq ent (entlast)) ;;; Jmeno posledni entity(setq entg (entget ent)) ;;; Seznam s informaceni o entite
 
(setq typ (cdr (assoc 0 entg)) ;;; Co je to za entitu (line, arc, circle, ...)(setq hl (cdr (assoc 8 entg))) ;;; Hladina
...
 
Každopádně bych si prvně otestoval, zda ta vaše entita je skutečne text
(if (= (cdr (assoc 0 entg)) "TEXT")
 (progn
  (prompt "\nJe to text: ")
  (prompt (cdr (assoc 1 entg))) ;;; Nejsem si úplně jistý tou 1, píši to bez AutoCADu, možná tam má být 2 
 )
)
 
Pavel Štyl

rjanic
19.11.2006, 16:57
Dakujem za odpoved usetrili ste mi kopec casu. Este jedna mala otazka. Ktorou funkciou mozem menit vlastnosti entity? Napr.hodnotu text retazca? Skusal som pouzit (subst newitem olditem lst)ale nejako sa mi to nedari.

Vladimír Michl
20.11.2006, 08:53
Ano, subst je správná cesta, ale musíte poté volat ještě entmod, případně entupd. Doporučuji se podívat na nějaký už fungující LISP prográmek.

pavelstyl
20.11.2006, 10:40
(setq novy_text "Muj text")(setq ents (entsel "Vyber text: "))(setq entg (entget (car ents)))(if (= (cdr (assoc 0 entg)) "TEXT") (progn  (setq entg (subst (cons 1 novy_text) (assoc 1 entg) entg))  (entmod entg) ))(princ)
 
Pavel Štyl

rjanic
20.11.2006, 19:04
Dakujem vsetkym za odpovede. Myslim ze by nebolo odveci urobit na tychto strankach maly kurz LISPu pre zaciatocnikov. Urcite by sa naslo vela citatelov. Podla mojho nazoru su tieto stranky co sa CADu tyka najlepsie co sa da v .CZ a .SK najst.

Vladimír Michl
20.11.2006, 20:53
Děkujeme za pochvalu.
Základy AutoLISPu najdete zde v tématu programování - viz:
http://www.cadforum.cz/cadforum/Vyvojove-prostredky-AutoCADu/