AutoCAD – Není pole jako pole

O tom, že se řada činností dá v AutoCADu automatizovat, není pochyb. Pro velký AutoCAD to díky programovému rozhraní (např. LISPu) platí několika násobně a většinou to není problém. Jak si ale pomoci v AutoCADu LT, který tyto možnosti nemá? Zde nezbývá, než se zaměřit na funkčnost samotných příkazů a jejich maximální využití.

Proto si dnes ukážeme takovou šikovnou trojkombinaci sestavenou z:

  • bloku
  • atributů bloku
  • příkazu TPOLE

a dále lze ještě jako vyšší level použít:

  • Excel
  • script soubor
  • příkaz TABULKA

Poznámka: Vše, až na použití tabulky se dozvíte v následujících odstavcích. Použití tabulky je z praktických důvodů uvedeno v samostatném příspěvku, který pro vás již chystáme.

Nejdříve se podívejme na výsledek spolupráce výše vyjmenovaných komponent. V ukázkovém příkladu je fragment vytýčení šachet prezentovaných křížky, souřadnicemi X,Y a popisem šachty.

Ukázka: fragment vytýčení šachet

Samotné pole bodů může pocházet z nějakého zaměření, třeba ve formě textového souboru.

Definice bloku a atributů

Blok obsahuje tyto entity:

  • čtyři úsečky ve tvaru kříže, označující počátek bloku
  • běžný textový atribut NAZEV_SACHTY
  • běžný textový atribut POZN.
  • atribut jako pole SOURADNICE_X
  • atribut jako pole SOURADNICE_Y

První dva atributy jsou obyčejné textové atributy a není na nich nic zvláštního. Až se bude blok do výkresu vkládat, budou tyto atributy vyplněné nějakými texty, nikterak se neodvíjející z geometrie bloku.

Další dva atributy, obsahující souřadnice, jsou ale daleko zajímavější. Obsahují totiž TPOLE, které bude dokonce zobrazovat složky X,Y souřadnice bodu vložení bloku. A to si už zasluhuje podrobnějšího popisu, jak na to.

Abychom mohli vůbec definici zvláštních atributů provést, vytvoříme si nejdříve blok s úsečkami a dvěma obyčejnými atributy NÁZEV_SACHY a POZN. Potom tento blok otevřeme v editoru bloků (-EDBLOK) a teprve TEĎ do něj přidáme dva další atributy jako TPOLE.

V rámci editoru bloků si spustíme příkaz ATRDEF a v panelu Definovat atribut vyplníme potřebná pole:

  • Štítek: SOUŘADNICE_X
  • Výchozí: X=   a dále klikněte na tlačítko Vložit pole.

V panelu Pole si podle obrázku níže zadejte tyto volby:

Po potvrzení bude definice atributu vypadat následovně:

Podobnou akci provedeme se složkou Y:

Poznámka: pokud uvidíte někde u atributů šedé pozadí textu, pak se jedná o TPOLE, jehož text je zastoupený jménem pole.

Při vkládání bloku do výkresu se atributy pole od obyčejných opět liší šedým pozadím. Pozor, abyste omylem celé pole nepřepsali. Hodnota je čtená z nějaké informace zevnitř bloku.

Tímto bychom splnili první tři odrážky z úvodu příspěvku. Máme k dispozici blok s atributy včetně polí, který lze do výkresu vkládat běžným způsobem (např. příkazem VLOŽ).

Co ale s těmi dalšími odrážkami slibujícími vyšší level naší práce? Ve zkratce – pomocí Excelu si z různých dat (bodové pole ze zaměřením) seskládáme tvar výsledného script souboru, který si AutoCAD později přečte a poslušně vykreslí. Podívejme se nejdříve na „hotový“ tvar řádků v Excelu.

Popis sloupců:

  • A – název bloku, který bude použit pro vložení
  • B – doprovodný text, který se sem mohl dostat z nějakého výpisu bodů, zde ho ale nevyužijeme
  • C – X-ová souřadnice bodu vložení bloku (původem z textového souboru se zaměřením)
  • D – Y-ová souřadnice bodu vložení bloku (původem z textového souboru se zaměřením)
  • E – pomocný čítač, který bude použit pro sestavení názvu šachty (pro atribut NAZEV_SACHTY)
  • G – kouzelný příkaz Excelu CONCATENATE, kterým seskládáme různé buňky a vlastní texty do výsledného tvaru příkazového řádku script souboru, ukázka:
-VLOŽ křížek 10.881,-17.886 1 0 Š1

V podstatě se jedná o příkaz AutoCADu VLOŽ a jeho parametry včetně vyplnění prvního atributu jménem šachty, druhým a třetím vytaženým z umístění bloku a čtvrtým zatím nevyplněným.

Není asi třeba zdůrazňovat, že nám stačí zapsat jen jeden vzorový řádek, ostatní se pomocí vlečení roztáhnou po zbývajících řádcích (světle modré pole na předchozím obrázku) a základ scriptu je během okamžiku hotový.

Do scriptu si ještě můžeme vložit další pomocné příkazy (např. potlačení dialogového panelu při vkládání bloku s atributy ATTDIA) a potom celý script přes chránku přenést do samostatného textového souboru s příponou SCR.

Po úpravě z důvodu spárování potřebných prázdných řádků s počtem atributů v bloku to bude po vložení tří prázdných řádků finálně vypadat takto:

Do script souboru můžeme doplnit další příkazy, třeba nastavení aktuální hladiny, vypnutí úchopů a podobně a příkazem DEMO nakonec vykreslit.

Završením naší automatizace může být tabulka se seznamem šachet s umístěním. To vše se ale dozvíte v dalším pokračování v příštím článku.