Již 10.000+ CAD tipů.
Přes 118.500 registrovaných u nás, celkem 1.094.000 registrovaných (CZ+EN), přes 53.000 CAD/BIM bloků.
Vyzkoušejte nový přesný Inženýrský kalkulátor.
Kompletní příkazy AutoCADu a proměnné AutoCADu 2026.
Diskuzní fórum, poradna
?CAD diskuze, rady, výměna zkušeností

Fórum nenahrazuje technický support firmy ARKANCE (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.arkance-systems.cz
|
Odpovědět ![]() |
archiv |
Autor | |
radimf ![]() Diskutér ![]() Přihlášen: 25.úno.2009 Lokalita: ČR (JM) Používám: AutoCAD 2012 Stav: Offline Bodů: 26 |
![]() Zasláno: 06.čer.2013 v 11:48 |
Dobrý den.
Nevíte, prosím, zda je naprogramovat skritp v lispu, který při vyvolání a vybrání dynamického bloku přepne jeho stav viditelnosti? Používám triviální dynamické bloky o max. 3 stavech viditelnosti. Klikat přes myš je velice zdlouhavé. Každý stav jakéhokoliv dynamického bloku by byl označen: 1 xxx 2 xxx 3 xxx Tj. skript by vůbec nezajímal přesný název stavu, ale řídil by se podle filtru výběru ČÍSLO* Stavy by se přepínaly cyklicky furt dokola 1-2-3-1-2..., při každém vyvolání fukce. Děkuji za případné reakce. |
|
![]() |
|
alfred ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
TOP uživatel ![]() Přihlášen: 14.říj.2004 Lokalita: ČR (JČ) Používám: AutoCad MAP 2011 Stav: Offline Bodů: 1675 |
![]() |
Odpověď na Vaši otázku zní asi "Ano, je to možné."
Práci s dynamickým blokem můžete vyřešit pomocí ukázkové funkce od Allena Johnsona (viz níže, nebo zde: http://www.cadforum.cz/forum/forum_posts.asp?TID=5120) Funkci použijete takhle: (chgdynprop nazev_vybrane_entity Měněná_vlastnost Nová_hodnota) (entupd nazev_vybrane_entity) Funkce se tedy zjednodušší na výběr a práci s názvem viditelnosti ;;----------------------------------------------- ----------------------- ;; changes a given variable in your block (defun chgdynprop (e propname newval / obj v vval sal tot i) (setq obj (if (= (type e) 'vla-object) e (vlax-ename->vla-object e))) (if (= (vlax-get-property obj 'isdynamicblock) :vlax-true) (progn (setq v (vla-getdynamicblockproperties obj) vval (vlax-variant-value v) sal (vlax-safearray->list vval) tot (length sal) i 0 ) (while (< i tot) (if (= (vlax-get-property (nth i sal) "PropertyName") propname) (progn (vlax-put-property (nth i sal) "Value" newval) (setq i tot) ) (setq i (1+ i)) ) ) ) ) ) |
|
![]() |
|
radimf ![]() Diskutér ![]() Přihlášen: 25.úno.2009 Lokalita: ČR (JM) Používám: AutoCAD 2012 Stav: Offline Bodů: 26 |
![]() |
Dobrý den.
Děkuji za bleskovou reakci a velmi užitečný odkaz. Snad si s tím už poradíme. |
|
![]() |
|
PetrKonecny ![]() Profil člena
Odeslat soukromou zprávu
Najít příspěvky člena
Navštívit stránky člena
Přidat do seznamu známých
Diskutér ![]() Přihlášen: 20.srp.2008 Lokalita: ČR (HK) Používám: AutoCAD 2014 Stav: Offline Bodů: 19 |
![]() |
Dobrý den.
Měl bych související dotaz: Přepnout na dopředu zvolený název viditelnosti není problém - viz program "chgdynprop". Aktuální stav viditelnosti také přečtu programem "getdynprop". Ale netusím, jak přečíst název následujícího stavu viditelnosti ze seznamu možností nebo alespoň seznam možností viditelnosti. Z programu "tdb" lze vyčíst jaké možnosti viditelnosti jsou, ale neumím z tabulky vyfiltrovat pouze viditelnosti a ty pak následně zpracovat a použít jako vstup do "chgdynprop" pro "newval". Poradíte mi jak zjistit následující stav viditelnosti/nebo seznam možností viditelnosti? Děkuji. |
|
![]() |
Pro technickou podporu CAD
kontaktujte Helpdesk
Odpovědět ![]() |
|
Přejít na fórum | Oprávnění fóra ![]() Nemůžete vytvářet nová témata v tomto fóru Nemůžete odpovídat na témata v tomto fóru Nemůžete vymazávat vaše příspěvky v tomto fóru Nemůžete upravovat vaše příspěvky v tomto fóru Nemůžete vytvářet ankety v tomto fóru Nemůžete hlasovat v anketách v tomto fóru |
Stránka byla vygenerována za 0,166 sekund.