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

Kategorie » téma: AutoCAD

09.01.2010 11.56 | Jan Panoch | Komentáře: 2 komentářů | Přečteno: 12442x

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.

 
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.
 

 

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.
 

 

Nyní budeme pro první atribut definovat automatické pole pro sklon ve stupních.
Jak vkládat automatická pole do hodnot atributů si můžete podrobně přečíst v několika předchozích příspěvcí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.
 

 

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.
 
 

 

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.
 

 

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

 

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.
 

 

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.
 

 

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.
 

 

 
 

 

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)
 
 

 

Jan Panoch

Komentáře:

#1 | david » pomoc

02.04.2015 14.28

Blok mi nejde stáhnout. Snažím se ho vytvořit, ale nejde mi to. Když vložím field-object-blockplaceholder tak pak v poli block reference property nemám co vybrat, mám tu pouze šedivý nápis Only accessible in the block editor. Field vkládám v bloku. Prosím o poslání tohoto bloku na email, případně o radu proč mi to nenabízí další možnosti. Autocad 2014. Děkuji

#2 | Panoch » --

02.04.2015 14.40

Zkuste použít odkaz v originálním příspěvku

http://cadcz.blogspot.cz/2013/06/blok-s-automatickym-polem-pro.html

Přidat komentář

 *
 *
 
 *

*) Povinné položky jsou označeny hvězdičkou.