Již 10.000+ CAD tipů.
Přes 118.000 registrovaných u nás, celkem 1.092.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: 20.čer.2008 v 16:00 |
Na jednom anglickým foru jsem něco našel ale :
(vl-load-com)
(setq dwg-txt "celacesta a nazev souboru včetně .dwg") (setq dwg-obj (vla-open (vla-get-documents (vlax-get-acad-object)) dwg-txt :vlax-true)) (setq dwg-dbs (vla-get-Database dwg-obj)) (setq dwg-dic (vla-get-Dictionaries dwg-dbs)) (setq newdic (vla-Add dwg-dic "RCAD"))
(setq d1 (vl-catch-all-apply (function vla-item) (list newdic "RC_PR"))) (setq d2 (vl-catch-all-apply (function vla-item) (list d1 "RC_PR_MA"))) (setq d3 (vl-catch-all-apply (function vla-item) (list d2 "RC_PR_MA_1"))) (setq dwg-Xre (vla-getXRecordData d3 'd4 'd5))
(setq dwg-sez (mapcar (function cons)(vlax-safearray->list d4)(mapcar (function vlax-variant-value) (vlax-safearray->list d5)))) (close dwg-obj)
krásně funguje. Jen mě štve že to DWG otevírá, ale budiž, proč ale píšu.
Když vezmu strom Xrecordu
RCAD -> RC_PR -> RC_PR_MA -> ( RC_PR_MA_1, RC_PR_MA_2, RC_PR_MA_3.........)
Tak dokážu nějak testovat že RCAD existuje když ano, tak pokračuj
Taktéž RC_PR (stejný jasný) a RC_PR_MA (taky stejný, jasný) ale u toho posledního XRECORDU navíc potřebuju zjistit všechny jakoby PODSLOŽKY
a navíc nemusí být 1,2,3,4,5 ale klidně 1,5,10,11... a počet je libovolný
Takže dotaz :
Jak můžu testovat že XRECORD EXISTUJE třeba ten RC_PR
když to krokuju nahlásí toto #<%catch-all-apply-error%>
ale jak to programově řešit s čím porovnat.
V podstatě mi stačí otestovat úplně tu poslední RC_PR_MA a pak jak zjistím všechny ta RC_PR_MA_1.......až třeba 100
Dík moc.
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 |
|
![]() |
|
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 |
![]() |
To s tím načítáním obsahu pomoci (open "r") s tím naprosto souhlasím, je to velice špatný postup....
Ty definice mám právě vždycky uložené v každém DWG. Řeknu příklad, v jednom DWG řešim třebas železniční trať na Jeseníku, a tam zemina má naprosto jinou teplotní odolnost, a jiné moduly pružnosti. Proto to mám uložené v tomto DWG.
Pak řeším třebas jinou lokalitu, a taky mám jiné materiály.
Ale pak řeším třebas další trať z druhé strany jeseníků, a tam bych chtěl právě načíst ty materiály z toho prvního.
3lo by to tak jak jsem psal, že otevřu ten první, exportuju to do nějakého tyt, a pak otevřu ten třetí a načtu, ale chci uživateli toto ušetřit, je to kolikrát 20MB soubor a né každý má skvělou mašinu :-)
Ten Xref by to mohl částečně řešit. To mne nenapadlo, prostě ho vložit, načíst z něj data a pak zase odpojit, ale je to něco jako zase to otvírání... ale už by to nebylo na uživateli. Jenže, dokáže Fref přenášet data která jsou uložená v namedobjdict - pod xrecordama ??? A jak se na ně dostat.
A k té první variantě jak jste psal, že přístup možný existuje... je možno se někde k tomu dočíst více ???
Díky moc.
Zdravím, Martin.
Tady posílám odkaz na soubor DWG s daty :
A data jsou např:
(namedobjdict)(RCAD)(RC_PR)(RC_PR_MA)(RC_PR_MA_1) a z tama všechny data od ***START*** do ***KONEC***
a právě nevím jak to dostat.
|
|
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 |
|
![]() |
|
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 Systems Přihlášen: 09.zář.2004 Lokalita: ČR (JČ) Používám: Implementujeme řešení Autodesk Stav: Offline Bodů: 21898 |
![]() |
Přístup (i z LISPu) do datových struktur jiných DWG možný je, ale není to tak jednoduché. Nepomohlo by vám připojit ty DWG jako Xref nebo mít ty definice v samostatném DWG? Číst obsah jakéhokoliv DWG souboru pomocí (open "r") rozhodně možné není. |
|
![]() |
|
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 |
![]() |
Zdravím.
Opět se na Vás všechny obracím s prosbičkou. Zase jsem narazil a nevím jak dál :-)
Na disku mám uložený jeden soubor DWG. V něm mám vytvořené spousty xrecordů. A mám je nějakým způsobem pojmenovány.... a v textové položce pak popis, např. *****MATERIAL*****01*****ŠTĚRK*****
takových tam mám spousty. V tom DWG je to krásně čitelné i když ho jen tak otevřu v jakémkoliv textovém editoru
A teď k dotazu.
Mohu se nějak programově v otevřeném souboru, dostat na tento externí uložený soubor a načíst všechny potřebné xrecordy ??? Vím že lisp neumí pracovat s více soubory, takže tuším jaká bude odpověď, ale napadlo mě jestli to přeci nějak nejde obejít.
Zatím to řeším tak že to klasicky otevřu pomoci (open "r") a načítám data po data a testuju zda to začíná *****MATERIAL***** a pak načtu text.... jenže to funguje jenom někdy, pokud se tam vyskytují určitě znakové kody tak se to prostě chová jakoby byl soubor ukončen, což je logické, je to kompilát a může se tam vyskytovat cokoliv.
Pak mne napadla ještě jedna varianta. Spustit nějaký externí soubor, který by to dokázal vyčíst, a uložit do nějakého texťáku, a ten už načtu...
Nebo ten soubor převést programově do dxf, z toho to načíst, a pak to dxf smazat.
Prosím nesetkal jste se s tím už někdo ?
Předem moc děkuji za pomoc.
Využití mám k tomu, že v jedná obsáhlé nadstavbě si uživatel může vytvořit spoustu vlasních materiálů, a ty aby nemusel pracně jinde vytvářet znovu, tak jsem chtěl prostě načíst z toho prvního dwg. Napadlo mě to udělat i exportem, že nejprve otevřu ten první, exportnu to, pak otevřu ten druhý a načtu.... ale nechci tímto projektanta obtěžovat.... když to ale jinak nepůjde. Co se dá dělat.
|
|
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,336 sekund.