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 ![]() |
Stránka <12 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 |
![]() |
||
Nevím jestli jsem už mimo kvůli svátků, ale pořád mi to nějak nejde :-) Něco dělám špatně ? a mejl s heslem mi taky nedošel, tak nevím :-)
|
|||
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 |
|||
![]() |
|||
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 |
![]() |
||
Zlehka navážu na téma - potřebuji získat v lispu vlastnosti bloku COLOR a LINETYPE. Jak/kde se to dá přečíst, když data bloku vypadají takhle:
((-1 . <Entity name: 7efe6060>) (0 . "INSERT") (330 . <Entity name: 7ef92cf8>)
(5 . "494") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (100 . "AcDbBlockReference") (2 . "pokus-block#ClosedPolyline_C") (10 0.0 0.0 0.0) (41 . 1.0) (42 . 1.0) (43 . 1.0) (50 . 0.0) (70 . 0) (71 . 0) (44 . 0.0) (45 . 0.0) (210 0.0 0.0 1.0)) tj. kód 62(=barva) ani 6(=typ čáry) tam není.
|
|||
-FerTh-
|
|||
![]() |
|||
Seiner ![]() CAD/BIM manager ![]() Přihlášen: 01.říj.2004 Lokalita: ČR (PA) Používám: Mechanical 2017, Inventor 2017 a starší Stav: Offline Bodů: 1662 |
![]() |
||
Myslím, že nejsou uvedeny kódy, který jsou BYLAYER. Takže zjistit hladinu a z ní barvu a typ čáry.
|
|||
Vítězslav Seiner
Chrudim |
|||
![]() |
|||
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 |
![]() |
||
...(8 . "0")...
hladina tam je. Ale není jisté, že barva bloku bude vždy Bylayer - právě proto to chci zjistit. Když se podívám do souboru dxf, tam to je uvedeno { (6 . Byblock) a (62 . 222) } :
...
AcDbBlockEnd
0 ENDSEC 0 SECTION 2 ENTITIES 0 INSERT 5 47B 330 1F 100 AcDbEntity 8 0 6 ByBlock 62 222 100 AcDbBlockReference 66 1 2 ... Chci se ale dopátrat, jak to v lispu napsat.
|
|||
-FerTh-
|
|||
![]() |
|||
Seiner ![]() CAD/BIM manager ![]() Přihlášen: 01.říj.2004 Lokalita: ČR (PA) Používám: Mechanical 2017, Inventor 2017 a starší Stav: Offline Bodů: 1662 |
![]() |
||
...tu hladinu vidím taky...
To se právě, i když neobratně, pokuším sdělit. V databázi IMHO nejsou kódy, pokud jsou defautní. Co je pro blok default, si nejsem tak jistý - asi to bude tedy BYBLOCK a ne BYLAYER. Obdobně, pokud si udělám výpis na jakoukoliv entitu, třeba úsečku, tak pokud má barvu a typ čáry podle hladiny, tak ty kódy 6 a 62 tam nejsou. Jakmite té úsečce nastavím nějakou jinou barvu a/nebo typ čáry, tak se kódy ve výpisu objeví.
(DXF asi je ukecanější a dává i redundantní údaje)
|
|||
Vítězslav Seiner
Chrudim |
|||
![]() |
|||
Martin Bielina ![]() Zasloužilý člen ![]() Přihlášen: 04.led.2007 Lokalita: ČR (Pha) Používám: AutoCAD True view 2016 Stav: Offline Bodů: 100 |
![]() |
||
0 = BYBLOCK; 256 = BYLAYER (default) a to platí pro jakoukoliv entitu a group code týkající se barvy což je 62 a u některých entit (kóty) pro jejich dílčí subentity pak 70. S každou další verzí autocadu se ale možnosti stále rozšiřují, takže nejlepší je najít si to v aktuální nápovědě. IMHO default hodnoty autocad zapisuje jako nil a tim šetří místo v databázi, a proto pří nastavení BYLAYER ve výpisu 62 není.
|
|||
![]() |
|||
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 |
![]() |
||
Je to tak.
- úsečka nakreslená defaultními hodnotami:
((-1 . <Entity name: 7efeb0a0>) (0 . "LINE") (330 . <Entity name: 7efe5cf8>) (5 . "48C") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (62 . 0) (100 . "AcDbLine") (10 50.0 110.0 0.0) (11 260.0 220.0 0.0) (210 0.0 0.0 1.0))
- po změně color=222, linetype="center", ltscale=0.111 :
((-1 . <Entity name: 7efeb0a0>) (0 . "LINE") (330 . <Entity name: 7efe5cf8>) (5 . "48C") (100 . "AcDbEntity") (67 . 0) (410 . "Model") (8 . "0") (62 . 222) (6 . "CENTER") (48 . 0.111) (100 . "AcDbLine") (10 50.0 110.0 0.0) (11 260.0 220.0 0.0) (210 0.0 0.0 1.0))
Závisí na aktuálním nastavení při vytáření bloku (nebo čehokoliv) - já používám color=ByBlock, linetype=ByBlock.
Je to jiné u bloku, který obsahuje atributy a u bloku bez atributů? Anebo pokud blok obsahuje obyč. text? Upravil Ferdinand - 05.úno.2009 v 15:18 |
|||
-FerTh-
|
|||
![]() |
|||
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 |
![]() |
||
Po nějaké době opět navážu, nyní mám dotaz na následující:
(setq LAYTL (layoutlist))
(setq LAYT1 (nth i LAYTL)) (setq RT1 (ssget "_X" (list (cons 0 "INSERT") (cons 2 "RAZ--T1*") (cons 410 LAYT1)))) Poslední řádek vrací nil - a to právě nevím, proč? Blok RAZ--T1 má variantu buď RAZ--T1 anebo RAZ--T1_en anebo RAZ--T1_ru a pouze jeden z nich je vždy vložen do rozvržení.
|
|||
-FerTh-
|
|||
![]() |
|||
Martin Bielina ![]() Zasloužilý člen ![]() Přihlášen: 04.led.2007 Lokalita: ČR (Pha) Používám: AutoCAD True view 2016 Stav: Offline Bodů: 100 |
![]() |
||
neověřeno, nevyzkoušeno (nemám momentálně na čem), ale zápis zmíněného řádku by měl vypadat spíše takto:
(setq RT1 (ssget "_X" '((-4 . "<AND") (0 . "INSERT") (2 . "RAZ--T1*") (410 . "LAYT1") (-4 . "AND>")))) Výsledkem pak bude množina všech entit, které splňují všechna uvedená kriteria. ======= opravil jsem chybu v zápisu. Nesmíte moje příspěvky aplikovat na svůj případ systémem CTRL+C a CTRL+V. Je to jen návod jak na to. "LAYT1" je zase možné upravit dle potřeby a doplnit o znaky *, ? atd. Původní zápis s LAYT1 (bez uvozovek) by fungoval pokud by se jednalo o načítanou proměnnou. To jen na vysvětlenou, aby byl můj příspěvek co nejkompletnější. Pokud je porovnávaný s podmínkou konkrétní textový řetězec musí být v uvozovkách stejně jako všechny ostatní v podmínce uvedené. Upravil Martin Bielina - 15.čvc.2009 v 11:36 |
|||
![]() |
|||
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 |
![]() |
||
Děkuji, mezitím jsem našel tuhle odpověď i v jiném tématu... omlouvám se.
|
|||
-FerTh-
|
|||
![]() |
|||
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 |
![]() |
||
Pořád to není OK...
...
(setq LAYTL (layoutlist)) (setq i 0) (while (< i (sslength LAYTL)) (command "_layout" "_S" (nth i LAYTL)) (setq LAYT1 (nth i LAYTL)) (setq RT1 (ssget "_X" '((-4 . "<AND") (0 . "INSERT") (2 . "RAZ--T1*") (410 . LAYT1) (-4 . "AND>")))) ;error: bad SSGET list value (if (/= RT1 nil) (progn (setq E (ssname RT1 0)) ... ) ) ... )
...
A to i v případě, když to napíšu jako
(setq RT1 (ssget "_X" (list (cons -4 "<AND") (cons 0 "INSERT") (cons 2 "RAZ--T1*") (cons 410 LAYT1) (cons -4 "AND>")))) ;error: bad SSGET list value
|
|||
-FerTh-
|
|||
![]() |
|||
Vladimír Michl ![]() 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
Moderátor ![]() ![]() ARKANCE Přihlášen: 09.zář.2004 Lokalita: ČR (JČ) Používám: Implementujeme řešení Autodesk Stav: Offline Bodů: 21952 |
![]() |
||
Ta druhá konstrukce by měla fungovat - pro jistotu si vypisujte hodnotu LAYT1 - jestli je to opravdu string.
|
|||
![]() |
|||
pavelstyl ![]() Zasloužilý člen ![]() Přihlášen: 06.říj.2004 Lokalita: Czech Republic Používám: AutoCAD Mech 2025, SolidEdgeE 2025 Stav: Offline Bodů: 229 |
![]() |
||
No nemělo by tam být u toho while místo sslength pouze length ?
Pavel Štyl
|
|||
![]() |
Pro technickou podporu CAD
kontaktujte Helpdesk
Odpovědět ![]() |
Stránka <12 archiv |
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,477 sekund.