Tvary a písma tvarů, 3. díl – Tvorba definičních souborů tvarů
Kromě definice vektorů může specifikační bajt obsahovat speciální kódy vytvářející další formy a určující určité akce. Chcete-li použít speciální kód, druhý znak řetězce o třech znacích (specifikace d…
Kromě definice vektorů může specifikační bajt obsahovat speciální kódy vytvářející další formy a určující určité akce. Chcete-li použít speciální kód, druhý znak řetězce o třech znacích (specifikace délky vektoru) musí být 0 nebo můžete určit pouze číslo kódu. Například 008 a 8 jsou platné specifikace.
Kódy 0, 1 a 2: konec tvaru a nastavení režimu kreslení
Kód 0 znamená ukončení definice tvaru.
Kódy 1 a 2 určují režim kreslení. Kreslení je aktivováno na začátku každého tvaru. Je-li režim kreslení zapnut (kód 1), vektory způsobí kreslení čar. Je-li režim kreslení vypnut (kód 2), vektory se posunou do nového umístění bez kreslení.
Kódy 3 a 4: nastavení velikosti
Kódy 3 a 4 určují relativní velikost jednotlivých vektorů. Výška určená pomocí příkazu TVAR se nejdříve považuje za délku jednoho pravoúhlého vektoru (směry 0, 4, 8 nebo C). Kód 3 dělí délky vektorů následujícím bajtem. Kód 4 násobí délky vektorů následujícím bajtem. Po kódech 3 a 4 následuje specifikační bajt s celočíselným měřítkem (1 až 255). Jestliže chcete, aby výška tvaru určovala velikost celého tvaru a nakreslíte ho pomocí délky vektoru 10, můžete pomocí 3,10 změnit měřítko specifikace výšky. Měřítko je ve tvaru kumulativní; znamená to, že násobení 2 a znovu 6 má za následek měřítko 12. Obvykle je potřeba vliv faktorů měřítka na konci tvaru obrátit, zvláště pro podtvary a tvary textových písem. AutoCAD totiž tuto hodnotu za vás automaticky neupravuje.
Kódy 5 a 6: uložení a obnovení umístění
Kód 5 a 6 uloží a obnoví aktuální souřadnicovou pozici pera během kreslení tvaru, aby bylo možné se snadno vrátit k určitému bodu v tvaru. Je nutné obnovit vše, co bylo do uloženo. Zásobník pozic může obsahovat maximálně 4 pozice. Pokud zásobník přeteče z důvodu použití příliš mnoha operací uložení a málo operací obnovení, pokus o vykreslení daného tvaru zobrazí následující hlášení:
Zásobník pozic přetekl při kreslení tvaru ččč
Podobně, pokud se pokusíte obnovit více než bylo uloženo, zobrazí se následující hlášení:
Zásobník pozic nedostačuje při kreslení tvaru ččč
Kód 7: podtvar
Kód 7 kreslí číslo podtvaru dané dalším bajtem. Pro písma, která nejsou Unicode, určuje bajt za kódem 7 číslo tvaru od 1 do 255. Pro písma Unicode určuje bajt za kódem 7 číslo tvaru v rozsahu 1 až 65535. Čísla tvarů Unicode by se měla počítat jako dva bajty (specifické informace o rozdílech mezi písmy Unicode a jinými písmy nabízí Popis písem UNICODE). Tvar s tímto číslem (ve stejném souboru tvaru) je kreslen právě v daný okamžik. U nového tvaru není režim kreslení resetován. Po dokončení kreslení podtvaru pokračuje kreslení vlastního tvaru.
Kódy 8 a 9: posunutí X-Y
Jednoduché vektory určené jedním bajtem mohou vést pouze v 16 předdefinovaných směrech a jejich maximální délka je 15. Taková omezení přinášejí vysokou úspornost definice, ale někdy jsou příliš omezující. Pomocí kódů 8 a 9 můžete generovat nestandardní vektory určené relativními souřadnicemi X a Y. Kód 8 určuje posunutí X-Y dané dalšími dvěma bajty. Kód 8 musí být následován dvěma bajty ve formátu:
8,posun-X, posun-Y
Posunutí X-Y se může pohybovat v rozsahu od -128 do +127. Znak + není povinný, navíc pro zvýšení čitelnosti můžete použít závorky. Následující příklad vytvoří vektor, který kreslí (nebo posunuje) 10 jednotek doleva a tři jednotky nahoru.
8,(-10,3)
Po interpretaci dvou hodnot posunu se další hodnota opět chápe jako jednoduchý vektor, nebo speciální kód.
Kód 9 lze použít pro nakreslení několika navazujících nestandardních vektorů. Kód 9 určuje počet párů posunutí X-Y. Sekvence kódu je ukončena párem (0,0). Následující příklad nakreslí tři nestandardní vektory a vrátí se do režimu normálních vektorů:
9,(3,1),(3,2),(2,-3),(0,0)
Pamatujte, že sekvenci X-Ymusíte ukončit párem (0,0), jinak AutoCAD nepozná další bajty popisující standardní vektory a speciální kódy.
Kód 00A: osminový oblouk
Speciální kód 00A (neboli 10) používá další dva specifikační bajty pro definici oblouku. Takový oblouk se označuje jako osminový, protože vede přes několik 45stupňových oktantů, na jejichž hranici také začíná a končí. Oktanty jsou číslovány proti směru pohybu hodinových ručiček od pozice 3 hodin, viz obrázek: