čtvrtek 2. dubna 2015

Blok s automatickým polem pro vypisování sklonu

V tomto příspěvku je popsána tvorba bloku, do jehož atributu se bude automaticky načítat úhel natočení tohoto bloku – tedy sklon.
Začneme tak, že si nakreslíme značku sklonu – v tomto případě je to šipka, vytvoříme ze značky blok a přejdeme do editoru bloků, kde přidáme dva atributy. Případně můžeme atributy přidat ještě v modelovém prostoru před vytvořením bloku.
sklonx1
Blok umístíme tak, aby počátek souřadného systému v editoru bloků – tedy vkládací bod bloku - byl umístěn někde pod šipkou. Vkládacím bodem pak proložíme vodorovně Alignment parametr, který nalezneme na kartě Parameters v Block Authoring Palettes. Parametrem zajistíme, že po přiblížení bloku k šikmé rovině se blok podle ní zarovná a nebude nutno ho natáčet. sklon13
Pokud jsme tak neučinily ještě v modelovém prostoru,  přidáme v editoru bloků k šipce dva atributy, jejichž hodnota bude automatické pole (Field). Do jednoho atributu se bude vypisovat sklon ve stupních a do druhého v procentech. Do bloku umístíme i visibility state, který nám umožní se mezi atributy přepínat tak, aby byl vidět vždy jen jeden z nich. Atributy prozatím napíšeme nad sebe, aby se nám s nimi při definování jejich hodnot lépe pracovalo. Pak ale umístíme jejich vkládací body na sebe, takže hodnota ve stupních nebo v procentech se bude vypisovat na stejné pozici.   sklonx4
Nyní budeme pro první atribut definovat automatické pole pro sklon ve stupních.
Poklepeme-li na atribut otevře se dialogové okno Edit Attribute Definition. Zde v poslední řádce Default zvolíme z menu pod pravým tlačítkem volbu Insert Field… nebo stiskneme Ctrl+F.
V poli Field category vybereme Object. Ve Field names vybereme BlockPlaceholder a v Block reference property Rotation. Tento výběr lze provést pouze v editoru bloků a ne mimo něj. V poli Format vybereme Decimal degree a pod jednotkami vybereme požadovanou přesnost.
Klepneme-li na tlačítko Additional Format, můžeme za automatické pole přidat příponu - značku pro stupně, případně ještě změnit oddělovač desetinných míst.
sklonx6
Zavřeme dialogová okna a nadefinujeme hodnotu atributu pro sklon v procentech. I v tomto případě poklepeme na atribut, klepneme do poslední řádky a vyvoláme dialog pro vkládání automatických polí. V dialogovém panelu pro výběr automatického pole vybereme shodné hodnoty, jako v prvním případě – tedy v poli Field category vybereme Object, v poli Field names vybereme BlockPlaceholder a v Block reference property Rotation. Namísto klepnutí na OK si ale do schránky zkopírujeme kód, který se zobrazuje u spodního okraje dialogu.
Nyní v poli Field name vybereme položku Formula a do pole nadepsaného Formula napíšeme následující vzorec:
100*tang(kód ze schránky)
Kód ze schránky ze změní na zašedlé pole Rotation. Dále navolíme počet desetinných míst, potlačování nul a příponu (%) jako v předchozím atributu.
 sklonx7
Vkládací body obou atributů dáme na sebe a dodefinujeme viditelnost  tak, aby byl vždy vidět jen jeden atribut buď se sklonem ve stupních nebo v procentech.
V panelu properties je ještě třeba pro oba atributy nastavit vlastnost Lock Position na hodnotu Yes. Kdybychom tak neudělali, nebude fungovat přepínání viditelnosti mezi atributy.
Blok uložíme a vrátíme se do modelového prostoru.
sklonx5
Máme tedy definován blok, který vypisuje svoje natočení. Správné hodnoty se v atributu ale zobrazují pouze pro sklon směrem zprava do leva.
Co ale se sklony, směřujícími zleva doprava? Provedeme-li zrcadlení atributu je hodnota sklonu zobrazená chybně.
sklon6
Pro opačné sklony bude nutné udělat jiný blok. Můžeme použít blok právě vytvořený, v jiném výkresu ho přejmenovat a v editoru bloků šipku a atributy vyzrcadlit. U atributů bude potřeba upravit jejich bod zarovnání. Do atributů opět vložíme automatická pole. Do hodnot atributů v tomto bloku budou již v obou případech vloženy vzorce. Pro sklon ve stupních bude vzorec vypadat takto:
360- Rotation
Přítom “Rotation” je kód ze schránky použitý ve druhém atributu prvního bloku.
sklonx2
Pro atribut se sklonem v procentech je vzorec následující:
abs(100*tang(Rotation))
Vzorec i se svojí zašedlou částí je vidět vždy na obrázku vpravo. I zde nastavíme pro oba atributy počet desetinných míst, potlačování nul a příponu (° nebo %). Také u těchto atributů nesmíme zapomenout na nastavení parametru Lock Position na hodnotu Yes.
sklonx3
Konečně můžeme funkčnost bloků vyzkoušet. Blok by se po přiblížení k čáře měl sám natočit. Vybráním jiného visibility state se vypíše sklon v jiných jednotkách. Při změně natočení bloku bude potřeba výkres buď zregenerovat, nebo zavolat příkaz _UPDATEFIELD, aby se obnovila i hodnota automotického pole v atributu bloku. sklonx8
sklonx9 sklonx10
Z bloků lze přetáhnutím do palety nástrojů udělat jednoduše nástroj. Po klepnutí na nástroj se vloží blok a skloní se podle čáry, ke které se kurzorem přiblížíme. Oba bloky si můžete stáhnout a dále libovolně upravovat.

stáhnout bloky (verze dwg 2007)
stáhnout bloky (verze dwg 2010)
 sklon12

Jan Panoch

Žádné komentáře:

Okomentovat