Již 10.000+ CAD tipů.
Přes 118.500 registrovaných u nás, celkem 1.095.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 | |
chlebovsky ![]() 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
Zasloužilý člen ![]() ![]() Přihlášen: 18.čer.2007 Lokalita: ČR (JM) Používám: Autocad R9 - 2022 Stav: Offline Bodů: 112 |
![]() Zasláno: 27.lis.2007 v 15:02 |
Zdravím. Dost často se mi stává že mám výkres s blokama, v něm bloky, a v tom zase bloky.... a potřebuji to vše převést do jediné hladiny s jednou barvou. A pak to používám jako referenci.
Např, dostanu elektro a převedu do hladiny elektro s barvou 10 a podložím.... tím pádem to mám jen v jedné hladině.... a dobře se s tím pracuje (jako podklad)
Ale nebaví mne pořád editovat každý blok zvlášť a upravovat.
Tak jsem si udělal malou procedurku přikládám i s dialogem, jenže funguje až do té doby než narazí na křivku, pokud je v bloku nějaké křivka, tak tu prostě ignoruje.....
Nevíte někdo proč "entmod" nefunguje na záznam křivky bloku s tabulce výkresu ???
Program :
Bloky_Do_Nuly.Lsp
(defun c:blok_do_nuly (/ blk dialog hlad fce bar sez i ent sez_blk sez_ent)
(princ "\nVyber bloky pro převedení") (setq blk (ssget (list (cons 0 "INSERT")))) (if blk (progn (setq dialog (load_dialog "AD-programy-dialog.DCL")) (new_dialog "HLADINA" dialog) (setq fce (start_dialog)) (setq hlad (if (= fce 1)(getvar "clayer") "0")) (new_dialog "BARVA" dialog) (setq fce (start_dialog)) (setq bar (if (= fce 1)(atoi (getvar "cecolor")) 0)) (if (= (getvar "cecolor") "BYLAYER")(setq bar 256)) (if (= (getvar "cecolor") "BYBLOCK")(setq bar 0)) (setq sez nil i 0) (repeat (sslength blk) (setq ent (cdr (assoc 2 (entget (ssname blk i))))) ;;; najdu všechny bloky (if (not (member ent sez))(setq sez (append sez (list ent)))) (setq i (1+ i)) ) ;;; mám seznam sez - názvy všech vybraných bloků ;;; hledám entity v blokách a bloky v blokách
(setq i 0 sez_ent nil) (while (< i (length sez)) (setq blk (cdr (assoc -2 (tblsearch "BLOCK" (nth i sez))))) (while blk (setq blk (entget blk)) (if (not (assoc (cdr (assoc 5 blk)) sez_ent))(setq sez_ent (append sez_ent (list (cons (cdr (assoc 5 blk)) 1))))) (if (= (cdr (assoc 0 blk)) "INSERT") (progn (setq naz (cdr (assoc 2 blk))) (if (not (member naz sez))(setq sez (append sez (list naz)))) ) ) (setq blk (entnext (cdr (assoc -1 blk)))) ) (setq i (1+ i)) ) (if sez_ent (progn (setq i 0) (repeat (length sez_ent) (setq ent (entget (handent (car (nth i sez_ent))))) (if (assoc 62 ent)(setq ent (list (assoc -1 ent)(cons 8 hlad)(cons 62 bar)))) (entmod ent) (setq i (1+ i)) ) ) ) (command "_regen") ) (alert "Nebyly vybrány žádné bloky") ) ) Dialog : AD-programy-dialog.DCL
HLADINA : dialog {
label = "Dotaz"; : row { : button {key = "AKT"; label = "Použít aktuální hladinu"; width = 20; fixed_width = true; alignment = top; is_default = true;} : button {key = "NULA"; label = "Použít hladinu ""0"""; width = 20; fixed_width = true; alignment = top; is_cancel = true;} } } BARVA : dialog {
label = "Dotaz"; : row { : button {key = "AKT"; label = "Použít aktuální barvu"; width = 20; fixed_width = true; alignment = top; is_default = true;} : button {key = "NULA"; label = "Použít barvu dlebloku"; width = 20; fixed_width = true; alignment = top; is_cancel = true;} } } Předem moc dík. Martin
|
|
Ing. Martin Chlebovský
www.kde-je-auto.cz GPS monitoring provozu vozidel a osob. WebDeveloper. Programátor aplikací pro Autocad a MS Office. Tvorba WWW aplikací. Modelování domů a staveb.&l |
|
![]() |
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,371 sekund.