Zobrazit plnou verzi příspěvku: duplicitní název definice bloků - dotaz MAP

Dlouhy
09.02.2007, 12:56
Dobrý den,
 
poradí mi někdo jak předejít nahrazení bloku jiným již načteným při spuštění dotazu na vykreslení z více výkresů?
příklad:
Dotazuji dva výkresy. V prvním je jedna definice bloku "WC" a v druhém je definice bloku také s názvem "WC", ale zcela graficky odlišná. Map mi provede to, že po dotazu na tyto výkresy nahradí bloky druhého výkresu bloky z prvního.
 
Děkuji za radu
Jan Dlouhý
 
P.S.: Neelegantním řešením by bylo přejmenování bloku v druhém výkrese, aby byl název jedinečný, ale to bych dělal docela nerad. Výkresů takto dotazovaných mám poměrně hodně.

Chop
10.02.2007, 10:04
Myslím, že po ACADu žádáte nemožnou věc. Jak má chudák poznat, že v dalším dotazovaném výkresu je blok se stejným názvem graficky odlišný? Jak byste to poznal Vy? ACAD při importu pouze kontroluje názvy a pokud již blok nadefinovaný ve výkrese je tj. je součástí kolekce definic bloků, tak ho použije. Více definic stejného bloku pod stejným názvem mít nelze, pokud nepoužijete dynamické bloky, ale tam se rozdílná grafika řídí alespoň parametrem visibility. Opravdu, pokud používáte různé typy WC (graficky odlišné), nezbývá Vám než používat jiné názvy (WC1,WC2 atd.)

pavelstyl
12.02.2007, 06:53
Tohle to chování AutoCADu je jeden z důvodů, proč jsem musel přeprogramovat příkazy na práci se schránkou.
 
V podstatě to řeším tak, že když dám svůj příkaz COPY_CLIPBOARD, tak se jednak na disk uloží blok (ne do clipboadru), ale také se vytvoří texťák se seznamem bloků. No a potom když provedu svůj příkaz PASTE_CLIPBOARD, tak před vlastním vložením toho uloženého bloku testuju ten uložený seznam bloků proti seznamu bloků v cílovém výkrese a v případě kolize jeden z nich podle předem daných pravidel přejmenuji.
 
Sice to trošku trvá, ale dokáže to zabránit nekontrolovatelnému nahrazování bloků.
 
Pavel Štyl

Dlouhy
12.02.2007, 08:37
Já jsem nepožadoval po Autocadu, aby porovnával obsah stejně pojmenovaných bloků, ale aby pokud se jedná o blok stejného jména, ale definovaného v jiném zdroji (výkresu) předřadil bloku například jméno souboru nebo něco takového. Ano .. mohlo by se stát, že budu mít stejný blok o dvou názvech, ale to je pro mě menší zlo, než nahrazení jiným blokem.
 

artap
12.02.2007, 12:26
Tak do dotazu nechte vypsat .DWGNAME (název souboru) a .BLOCKNAME (název bloku). A máte výpis všech bloků s označením v jakém výkrese se nachází. Pak můžete přidat výpis .X1 a .Y1 a máte i souřadnice vkládacího bodu kam byl blok vložen.

Dlouhy
12.02.2007, 13:33
To vypadá jako dobrá cesta, ale nějak se nemohu dostat dál. Snažím se tedy nadotazovat všechny bloky a při tomto dotazu změnit vlastnost .BLOCKNAME na .DWGNAME_.BLOCKNAME. Mám ale tento problém: 1. Nevím jak toto v dotazu nadefinovat 2. nebude .DWGNAME vypadat dle výkresu ve kterém provádím dotaz?

artap
12.02.2007, 15:02
Máte AutoCAD MAP? Jakou verzi?

Vladimír Michl
12.02.2007, 16:47
Řešení existuje - podrobný popis najdete v tipu (VIP):
Jak odlišit bloky stejného jména z různých DWG výkresů?

Dlouhy
13.02.2007, 08:04
To je přesně ono. Asi jsem špatně projížděl DB tipů. Nicméně vyvstal další problém ... pokud jsem takto úspěšně přejmenoval a nadotazoval tak se mi přejmenované bloky nekorektně zobrazují ... nejsou viditelné a pokud dám select all, tak se zobrazí jen bod vložení. Nějaký další tip, který popisuje kudy vede cesta?  Děkuji
P.S.:Autodesk Map 2006