Zobrazit plnou verzi příspěvku: Vnořené bloky

Papiko
17.05.2006, 08:24
Dobrý den,
jak mohu zjistit pomocí VBA ze kterých vnořených bloků se mi skládá nadřazený blok v ACAD2004.  
V kolekci Blocks zjistím pouze použité bloky a jednotlivé Items v ModelSpace mi vrácí pouze nadřazené bloky.
Díky P
 

Chop
19.05.2006, 05:48
Možná se mýlím, ale tuto cestu bych raději co nejrychleji opustil. Používání vnořených bloků je sice možné, ale není příliš výhodné. Raději zkuste používat grupování nebo nějaký jiný postup protože:
1. v kolekci Blocks jsou zapsány čisté definice bloku, které se ve výkresové databázi vyskytují právě jen zde.
2. v modelovém prostoru se nacházejí odkazy na tyto bloky tj. BlockReference a to je trochu jiný objekt.
Pokud vnoříte blok do bloku a pak jej do modelového prostoru vložíte vícekrát, tak správně dostanete jen odkaz na vybranou BlockReferenci, která má samostatné HANDLE. Pokud teď načtete ve VBA a nebo LISPU definici vybrané reference z kolekce Blocks (třeba podle názvu), tak získáte přístup pouze k jednotlivým objektům této definice, ale u těch se neliší HANDLE. Tj. pokud teď změníte vnořený objekt, projeví se to ve všech nadřízených BlockReferencích (to lze např. využít při konverzi importovaných bloků z DGN do hladiny 0 apod.).
Autocad neumožní editovat jednotlivé podřízené objekty - pravděpodobně si je dočasně převede na PRIVATE a uvolní je až po rozbití nadřízeného bloku. Možná existuje nějaká pokročilá technika k přístupu k nim, ale nemyslím, že by to bylo něco jednoduchého a schůdného.

Papiko
19.05.2006, 08:13
Díky za odpověd,
po zkoušení a odpovědí z vedlejší diskuze jsem zjistil ,že to to je slepá ulička. Bohužel tato možnost by mi trošku zlehčila život.