MicroStation – VBA doplněk Textové kolize

Aplikace, která projde všechny texty ve výkresu a zkontroluje, jestli se ve vybraném pohledu nepřekrývají s jinými texty nebo ostatními prvky.

Přehlednost a dobrá čitelnost jsou základní vlastnosti, které by výkresy měly splňovat. Nové texty se snažíme umísťovat tak, aby se nepřekrývaly s jinými prvky. S výkresem dál pracujeme, upravujeme existující prvky a přidáváme nové, připojujeme referenční výkresy. Ne vždy si všimneme, že se původně dobře umístěné texty staly nečitelnými. Aplikace Textové kolize pomáhá taková problémová místa najít.

Aplikace pracuje tak, že projde všechny textové prvky a textové uzly ve zvolené vrstvě nebo více vrstvách aktuálního výkresu a zkontroluje, jestli se jich nedotýká jiný text nebo kterýkoli jiný grafický prvek z aktuálního i z referenčních výkresů, který je v kontrolovaném pohledu viditelný. Nezobrazené prvky ve vypnutých vrstvách se neberou v potaz.

Po dokončení vyhledávání se zobrazí dialogové okno, které umožňuje postupně zobrazit nalezené kolize. Než uživatel přejde z jedné kolize na druhou, má možnost kolizi opravit.

Základní vlastnost aplikace je způsob, jak posuzuje, jestli dochází ke kolizi, či nikoli. Technicky by bylo možné, aby to prováděla stejně jako člověk: text je v kolizi, pokud se kresby nějakého jeho písmene dotýká jiný prvek. Složitost takového algoritmu a jeho cena by ale byly pro daný účel nepřiměřené. Aplikace proto používá zjednodušený postup: místo dotčení kresby písmen kontroluje dotčení hypotetického rámečku kolem textu. Skutečné kolize aplikace odhalí spolehlivě, všechny označené kolize ale kolizemi být nemusí:

Příklad falešné kolize. Kresba textu není dotčena, rámeček ano.

I takové falešné kolize je vhodné posoudit a případně upravit. Takže tento zjednodušený postup je použitelný i přínosný. Aplikace navíc nabízí několik možností nastavení, jak má rámeček vypadat. O tom v následující části, která se věnuje podrobnému popisu aplikace.

Textové kolize: Vyhledávání

Výchozí část aplikace pro nastavení parametrů vyhledávání a jeho spuštění:

Pohled

Kolize se kontrolují pouze u viditelných prvků. Jejich viditelnost se může v různých pohledech lišit. Pokud je otevřeno více pohledů, můžeme nastavit, který se má kontrolovat.

Rám textu

Výše zmíněné klíčové nastavení. Rámeček zjednodušuje vyhledávací algoritmus. Pokud by měl být vytvářen přímo aplikací, nebylo by to žádné zjednodušení, spíš naopak. Zjednodušení je možné pouze využitím v MicroStationu přímo vestavěných a ve VBA dostupných funkcí. V tomto případě to jsou vlastnosti textových prvků Rozmezí (Range) a Hranice (Boundary):

Rozmezí
Hranice

Oba rámečky jsou si podobné v tom, že jejich velikost nezávisí na konkrétních písmenech v textu. I když v textu nejsou žádná velká písmena nebo písmena s horním a dolních přesahem, výška rámečků je taková, jako kdyby tam taková písmena byla:

Rozmezí
Hranice

Výška Rozmezí je vždy ještě o něco větší. Výška Hranice je přesnější, ale nebere ohled na dolní přesahy a interpunkční znaménka velkých písmen. Pokud text obsahuje pouze čísla, Hranice je přesná.

Okraj textu

Umožňuje upravit Rám textu (Rozmezí i Hranici) podle preferencí uživatele:

  • aby lépe odpovídal velikosti textu,
  • pro nastavení skutečného volného okraje kolem textu,
  • pro nastavení tolerance dovnitř textu, ve které může být dotčený.

Je to posun původního rámu, který nastavují dva parametry. Prvním je umístění okraje čtyřmi možnými způsoby (původní rám je kreslený čárkovanou čarou):

Kolem
Dole
Na výšku
Nahoře

Druhým parametrem je směr posunu Rámu: Ven pro volný okraj kolem textu (je použitý na obrázcích) a Uvnitř (odpovídajícím stylem) pro toleranci dotčení textu.

Šířka okraje

Zadává se v procentech výšky základního Rámu textu (Rozmezí nebo Hranice). Při umístění Vně je maximální možná šířka okraje 100 %, při umístění Uvnitř 40 %. Výchozí hodnota 0 % znamená, že se s okrajem vůbec neuvažuje.

Textové uzly

Nastavení, zda má aplikace kontrolovat i textové uzly, tedy víceřádkové texty. Pokud ano, kontrola probíhá po jednotlivých řádcích. Je tedy možné, že u jednoho uzlu bude označeno více kolizí:

Víceřádkový text se dvěma kolizemi

Kontrolovat texty ve vrstvě/vrstvách

Zpracovávají se pouze texty ve vybrané vrstvě nebo více vrstvách. Pokud nejsou vybrané vrstvy v kontrolovaném pohledu zapnuté (viditelné), nekontrolují se.

Skončit, pokud počet kolizí překročí…

U výkresů velkého rozsahu s velkým počtem textů může vyhledávání kolizí trvat delší dobu a skončit s velkým počtem nalezených kolizí. Tato volba umožňuje nastavit limit, po jehož dosažení se vyhledávání ukončí. Uživatel může zpracovat nalezené kolize a poté začít nové vyhledávání. Nevýhodou tohoto přístupu je, že kolize, které uživatel vyhodnotil jako přijatelné a nijak je neupravil, budou znovu označeny.

Textové kolize: Prohlížení

Do dokončení vyhledávání aplikace zobrazí a přiblíží první nalezenou kolizi a otevře dialogové okno Textové kolize: Prohlížení:


Šipky umožňují přecházet z jedné kolize na druhou a zpět, tlačítka plus a mínus ovládají přiblížení.

Během prohlížení může uživatel kolizní text upravit nebo vyhodnotit jako přijatelný a potvrdit to stisknutím tlačítka OK. Kolize bude odstraněna z fronty a aplikace přejde na další.

Prohlížení je možné přerušit pomocí tlačítka Zavřít a vrátit se k němu kdykoli později. Jde to, protože v případě kolize aplikace umístí rámeček textu do výkresu. Při novém prohlížení rámečky znovu načte a vytvoří prohlížecí frontu.

Ve výchozím stavu je zobrazení rámečků vypnuto. K přepínání slouží tlačítko se žlutým rámečkem vedle tlačítka minus. Potvrzovací tlačítko OK rámeček z výkresu odstraní. Tlačítko Zahodit smaže všechny rámečky a k prohlížení se už nelze vrátit, dokud neproběhne nové vyhledávání.

Rámečky jsou umísťovány do pracovní vrstvy Textové kolize #(číslo verze). Je dočasná a určená pouze pro potřeby aplikace. Pokud do ní umístí nějaké prvky uživatel, mohou být ztraceny!

Vyzkoušení aplikace

Pokud vás aplikace Textové kolize zaujala, můžete ji zdarma vyzkoušet. Pro její zaslání prosím napište na e-mailovou adresu info@jesyka.cz.

Zkušební verze je omezena časově, funguje 10 dnů.

Plná, časově neomezená verze pro jednoho uživatele a jeden počítač:
3 000 Kč.

Pro objednání plné verze použijte kód, který najdete v dialogu O aplikaci , pod tlačítkem Objednat plnou verzi.

Aplikace je určena pro MicroStation V8.

Instalace a spuštění aplikace

Postup instalace je popsán v tomto článku.

Příkazy pro spuštění aplikace:

VyhledáváníVBA RUN [jskTxtKolize]m.Find
ProhlíženíVBA RUN [jskTxtKolize]m.Inspect

Přiložená DGN knihovna obsahuje panel nástrojů pro tyto příkazy:

Poslední aktualizace

20. 9. 2022

Štítky