Vytisknout stránku | Zavřít okno

string

Vytištěno z: CAD Fórum
Kategorie: Autodesk - stavebnictví, strojírenství, CAD/GIS
Název fóra: CAD programování
Popis fóra: Otázky programování - nadstavby a utility pro CAD a GIS aplikace Autodesk (VBA, AutoLISP, ARX/C++, .Net, JavaScript, Python, MEL...)
URL: https://www.cadforum.cz/forum/forum_posts.asp?TID=3458
Datum vytištění: 18.čer.2026 v 08:33


Téma: string
Odeslal: rjanic
Předmět: string
Datum odeslání: 18.lis.2006 v 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



Odpovědi:
Odeslal: pavelstyl
Datum odeslání: 19.lis.2006 v 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


Odeslal: rjanic
Datum odeslání: 19.lis.2006 v 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.


Odeslal: Vladimír Michl
Datum odeslání: 20.lis.2006 v 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.

-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz emea.support.arkance.world)


Odeslal: pavelstyl
Datum odeslání: 20.lis.2006 v 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


Odeslal: rjanic
Datum odeslání: 20.lis.2006 v 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.


Odeslal: Vladimír Michl
Datum odeslání: 20.lis.2006 v 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/ - http://www.cadforum.cz/cadforum/Vyvojove-prostredky-AutoCADu/


-------------
Vladimír Michl (moderátor)
ARKANCE CZ - https://arkance.world - arkance.world
(podpora viz emea.support.arkance.world)



Vytisknout stránku | Zavřít okno