Funkce na zarovnání textu ke křivce

Tuto funkci jsem si napsal hlavně proto, že mě při kreslení koordinačních situací vždy zdržovalo zarovnávání popisů inženýrských sítí tak, aby popisy byly rovnoběžné s vedením té které sítě. Třeba ale najdete i jiné využití. Na popisy používám raději mtext než dtext a to proto, abych mohl u mtextu nastavit neprůhledné pozadí a síť popisem zároveň vykryl. Pokud úhel, pod kterým má být text do výkresu vložen nezadám hned po výběru prvního rohu mtextu, tak pak musím text k síti přiložit a orotovat ho ve směru sítě, případně před tím ještě změnit zarovnávací bod textu na jeden ze středových.

Funkce, kterou si můžete stáhnout na konci příspěvku nebo na kartě download v sekci LISPy, se po zavolání dotáže na text, který má být k síti vložen a následně vyzve k výběru křivky. Vybrat lze nejen polyline, ale také line – čáru, arc – oblouk nebo spline. Funkce následně do vybraného místa křivky vloží v předchozím kroku zadaný text a zarovná ho ke křivce. Hladina a typ čáry se přeberou z vybrané křivky. Styl textu je aktuální styl a velikost textu odpovídá proměnné TEXTSIZE – tedy naposled použité výšce textu. Zarovnávací bod textu se nastaví na Middle Center. Chcete-li změnit výšku textu, stačí tak zadat do příkazové řádky textsize a napsat výšku.

Po dalším zavolání funkce se jako implicitní text na výzvu po zadání nového textu nabídne text použitý při posledním spuštění funkce. Funkce se spouští příkazem txtal (text align)

V souboru je však definovaná ještě jedna funkce txtper (text perpendicular), která text vloží kolmo ke křivce v místě výběru.

První zavolání funkce txtal nebo txtper

Při dalším zavolání již funkce jako implicitní nabízí předchozí text. Implicitní výběr nelze potvrdit mezerníkem, ale je nutno použít Enter.

Výsledek funkce  txtal a txtper – zarovnání k polyline a spline

Obě funkce definované v souboru TextAlignToPLine.lsp si můžete stáhnout zde a to ve zdrojovém kódu, takže je možné je dále upravovat.

Jan Panoch