ARKANCE - globální Platinum partner Autodesk ARKANCE | KONTAKT - CZ | SK | EN | DE
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.
Jak novinky řešení Autodesk a ARKANCE ovlivní budoucnost strojírenství
RSS kanál - CAD tipy RSS tipy
RSS diskuze

Diskuze Diskuzní fórum, poradna

?
CAD diskuze, rady, výměna zkušeností

CAD Fórum - Homepage Veřejné diskuzní fórum k CAD aplikacím - ptejte se na libovolné otázky týkající se oboru CAx, podělte se o vaše znalosti a zkušenosti s programy AutoCAD, Inventor, Revit, Fusion, 3ds Max, Vault a s dalšími CAD/BIM/PDM aplikacemi. Zaregistrujte se nebo se přihlašte a zašlete váš příspěvek do odpovídajícího fóra. Viz další informace o CAD Fóru. Nechcete se registrovat? Zeptejte se v naší Facebook poradně.
Fórum nenahrazuje technický support firmy ARKANCE (CAD Studio) - přímá podpora pro zákazníky funguje na helpdesk.arkance-systems.cz
  FAQ FAQ  Prohledat fórum   Události   Registrovat Registrovat  Přihlásit Přihlásit

Téma uzavřenoNačtení XRECORDU z jiného výkresu

 Odpovědět Odpovědět archiv
Autor
chlebovsky Zobrazit panel
Zasloužilý člen
Zasloužilý člen
Avatar

Přihlášen: 18.čer.2007
Lokalita: ČR (JM)
Používám:
Autocad R9 - 2022
Stav: Offline
Bodů: 112
Přímý odkaz na tuto zprávu Téma: Načtení XRECORDU z jiného výkresu
    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
Zpět nahoru
chlebovsky Zobrazit panel
Zasloužilý člen
Zasloužilý člen
Avatar

Přihlášen: 18.čer.2007
Lokalita: ČR (JM)
Používám:
Autocad R9 - 2022
Stav: Offline
Bodů: 112
Přímý odkaz na tuto zprávu Zasláno: 20.čer.2008 v 12:20
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
Zpět nahoru
Vladimír Michl Zobrazit panel
Moderátor
Moderátor
Avatar
Arkance Systems

Přihlášen: 09.zář.2004
Lokalita: ČR (JČ)
Používám:
Implementujeme řešení Autodesk
Stav: Offline
Bodů: 21898
Přímý odkaz na tuto zprávu Zasláno: 20.čer.2008 v 09:09

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í.

Vladimír Michl (moderátor)
ARKANCE CZ - arkance.world
(podpora viz helpdesk.arkance-systems.cz)
Zpět nahoru
chlebovsky Zobrazit panel
Zasloužilý člen
Zasloužilý člen
Avatar

Přihlášen: 18.čer.2007
Lokalita: ČR (JM)
Používám:
Autocad R9 - 2022
Stav: Offline
Bodů: 112
Přímý odkaz na tuto zprávu Zasláno: 20.čer.2008 v 08:21
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
Zpět nahoru

Pro technickou podporu CAD
kontaktujte Helpdesk

Příbuzné CAD tipy:
Tip 931:Jak převzít nastavení (vzhled) stránky z jiného výkresu?
Tip 9445:Jak načíst body z GPS do AutoCADu Map 3D?
Tip 5592:Přímé načtení modelu terénu z Google Earth do AutoCADu.
Tip 1147:VIPChybí části těles při načtení výkresu z AutoCADu do 3D Studia VIZ.
Tip 7322:Kopie existujících rozvržení z jiného DWG výkresu.
Tip 4712:Snadné načtení šrafovacího vzoru do Revitu.


 Odpovědět Odpovědět

Přejít na fórum Oprávnění fóra Zobrazit panel



Stránka byla vygenerována za 0,336 sekund.