Diskuzní fórum a databáze tipů a utilit pro AutoCAD, Inventor, Revit a další produkty Autodesk
 - od firmy Arkance Systems [www.cadforum.cz slaví 20 let]
CZ | SK | EN | DE
Přihlášení
či registrace
  právě nás čte: 7507

CAD tip CAD tip # 11401:

   
Otázka CAD 
 %  platforma  kategorie 
Q - otázka

Operace s atributy uvnitř bloku - dynamické pole.

A - odpověď Chcete-li provést nějakou operaci s hodnotami atributů přímo v daném bloku, můžete operaci nadefinovat buď přímo v definici bloku nebo až v jeho referenci (vložení instance).

Máte např. blok s 3 atributy a chcete, aby 3. atribut obsahoval řetězec složený (pospojovaný) vždy z aktuální hodnoty prvních dvou atributů. Příklad viz ConcatAtt.dwg - Blok #15079.

Pro nastavení požadované operace v definici bloku nastavte hodnotu třetího atributu z polí odkazujících na objekty (hodnoty) definic obou zdrojových atributů (v Poli: Objekt>Definice atributu>Hodnota a zaškrtnout Reference bloku). Aby se po vložení nebo změně hodnot vyhodnotila operace s dynamickými poli, musí být blok dynamický - musí tedy obsahovat nějakou dynamickou akci, např. polohu, stav viditelnosti, apod. a po jeho vložení do DWG výkresu je navíc potřeba onu dynamickou akci alespoň jednou vyvolat - např. potáhnout uzel polohy, změnit stav viditelnosti. Viz příklad, blok Concat (vlevo) nebo TestHiLo (níže).

Pro operaci definovanou v referenci bloku stačí v editoru atributů nastavit dynamické pole odkazující na tentýž objekt (již vloženou referenci) a v něm hodnotu prvního a druhého atributu. Takováto definice je vyhodnocována automaticky - tedy např. při regeneraci. Viz příklad, blok ConcatRef (vpravo).

Po změně hodnoty zdrojových atributů tedy proveďte požadovanou aktualizační akci a blok bude reflektovat změněnou hodnotu i v cílovém atributu.

Podobný postup můžete použít pro propojení/zrcadlení dvou atributů - pro získání dvou různých atributů nesoucích stejnou hodnotu v jediném bloku.


Pro výpočet hodnot v definici bloku můžete rovněž využít zjednodušený způsob nevyžadující dynamické bloky, se snadnou automatickou aktualizací při vložení nebo následném otevření či regeneraci DWG výkresu.

Příklad - blok TestHiLo (viz) s řídicím atributem "Val0" a s dvěma závislými atributy "Hi" a "Lo". Ty budou automaticky nabývat hodnotu vždy o jedničku vyšší a nižší než je nastaven řídicí atribut. Do přednastavené (výchozí) hodnoty těchto atributů stačí vložit jako text výraz s vzorečkem pro výpočet hodnoty - zde konkrétně:

%<\AcExpr (%<\AcObjProp.16.2 Object(?BlockRefId,1).Val0>%+1)>%

a:

%<\AcExpr (%<\AcObjProp.16.2 Object(?BlockRefId,1).Val0>%-1)>%

ACAD
100% *  CAD 
27.4.2017    2550×  
atribut blok reference text výkres
 
Související CAD produkty:
Ceny - CAD eShop:
platí pro: AutoCAD ·

Zpět   Všechny další tipy



Pomohl vám tento tip? Provoz služby CADForum.cz podpoříte i nákupem produktů Autodesk u provozovatele tohoto serveru a Platinum partnera Autodesku, firmy Arkance Systems.
Můžete si také přidat odkaz na vaše stránky: CAD Fórum - diskuze, tipy, bloky a utility
CAD:    OS:    Kateg: 
Text:  FAQ   






Tipy a triky prosím využívejte na vlastní zodpovědnost.
Provozovatel (Arkance Systems CZ s.r.o.) nenese odpovědnost za případné potíže vzniklé v souvislosti s použitím kteréhokoliv z uvedených tipů.
Pro plné zvládnutí dané aplikace doporučujeme absolvování některého z nabízených CAD školení.
Další publikování obsahu je dovoleno jen se souhlasem autora.
TOPlist