Registrujte se na 22. ročník konference CADfórum 2025 - 30.9. Zámek Valeč.
Přes 119.000 registrovaných u nás, celkem 1.097.000 registrovaných (CZ+EN), přes 53.000 CAD/BIM bloků.
Vyzkoušejte nový přesný Inženýrský kalkulátor a aktualizovaný Generátor čarových kódů.
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 | |
Ferdinand ![]() TOP uživatel ![]() Přihlášen: 01.říj.2004 Lokalita: ČR (JM) Používám: AutoCAD2004 (EN) na Windows XP Stav: Offline Bodů: 1906 |
![]() Zasláno: 20.kvě.2008 v 17:54 |
Zasekl jsem se s definicí pro tuto operaci. Cíl: pomocí utility založit automaticky novou sadu hladin s udanou předponou (např. S1-elektro, S1-kanal, S1-koty,...), přičemž některé hladiny budou mít stejný typ čáry, jiné se budou shodovat v barvě, některá bude jedinečná.
;;;VYTVORENI SADY HLADIN (CZ)
(defun C:SHLA (/ PREDP H1 H2 H3 H4 H5 H6 H7 H8 H9 H10 H11 H12 H13 H14 H15 H16 H17 H18 H19 H20 H21 H22 H23 H24 SH0 BH7 BH1 BH200 BH4 BH6 BH50 BH2 BH8 CHCO CHCE CHI PPS) (setq PREDP (getstring "\nZadejte předponu názvu sady hladin vč. oddělovače [-/./_]: "))
(setq
H1 (strcat PREDP "elektro") H2 (strcat PREDP "kanal") H3 (strcat PREDP "koty")
...)
(if (not (tblsearch "LTYPE" "center"))
(command "_-linetype" "_L" "center" "acadiso.lin" "") ) (setq SH0 (list H1 H2 H3...);vrací seznam ve tvaru ("S1-elektro" "S1-kanal" "S1-koty"...)
zde by to chtělo vytvořit použitelný seznam všech hladin s názvy H1...H24 a použít ji v zacyklovaném příkazu _-layer...ale nevím, jak do toho příkazu volat prvky seznamu? V minulosti jsem to řešil vložením "typového" bloku, který neobsahoval žádné entity a následným přejmenováním názvů hladin v dialogu - nyní bych to chtěl provést jediním příkazem.
|
|
-FerTh-
|
|
![]() |
|
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 |
![]() |
a nepomuze prikaz NTH ? Vrací n-ty prvek listu. (nth list poradove_cislo_prvku) (ted nesedim u CADu a tak doufam, ze to neni naopak... ![]() a kouknete se take jestli prvky pocita od 0 nebo od 1 napriklad tedy: (nth (list "a" "b" "c") i) do promenne "i" pricitejte v cyklu 1 |
|
![]() |
|
Ferdinand ![]() TOP uživatel ![]() Přihlášen: 01.říj.2004 Lokalita: ČR (JM) Používám: AutoCAD2004 (EN) na Windows XP Stav: Offline Bodů: 1906 |
![]() |
Ano, zkoušel jsem to než jsem založil tohle téma. Ale nevedlo se... Problém asi je v tom, že se vrací hodnota ve tvaru "S1-koty" a ne jako S1-koty
V názvu hladiny asi nemůže být uvozovka (?) - ani ji tam nechci mít ![]() Upravil Ferdinand - 21.kvě.2008 v 11:36 |
|
-FerTh-
|
|
![]() |
|
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 |
![]() |
Ale to je snad v poradku. Je to STRING, proto ukazuje hodnotu v uvozovkach. Pri zakladani hladiny prece zadavate nazev hladiny jako string. Podle me to nemuze byt problem...
Jak mate ten prikaz na zalozeni hladiny? |
|
![]() |
|
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 |
![]() |
tady je priklad cyklu:
(defun c:lll ( / i) (setq seznam_hladin (list "prvni_hladina" "druha_hladina")) (setq i 0) (while (< i (length seznam_hladin)) (command "_-layer" "_n" (nth i seznam_hladin ) "") (setq i (+ i 1)) );while (print) ) mimochodem, v predchozimu memu prispevku - samozrejme jsem se spletl a syntaxe NTH je: (nth poradove_cislo_prvku list ) poradi prvku listu je od nuly... |
|
![]() |
|
Ferdinand ![]() TOP uživatel ![]() Přihlášen: 01.říj.2004 Lokalita: ČR (JM) Používám: AutoCAD2004 (EN) na Windows XP Stav: Offline Bodů: 1906 |
![]() |
Už vím, kde byla chyba, teď to vidím... zapoměl jsem tam dát znak < ... jo, a ještě při zvyšování počtu o 1 jsem měl (setq i (1+ i)) děkuji.
Upravil Ferdinand - 22.kvě.2008 v 15:13 |
|
-FerTh-
|
|
![]() |
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,203 sekund.