O příkazových makrech

Příkazová makra mohou obsahovat příkazy, speciální znaky, výrazy jazyka DIESEL nebo kód jazyka AutoLISP.

Makro můžete definovat a následně přiřadit k příkazu úpravou vlastnosti Makro daného příkazu v editoru Upravit uživatelské rozhraní (Windows) nebo dialogu Přizpůsobit (Mac OS).

Poznámka: V aplikaci AutoCAD LT není jazyk AutoLISP podporován.

Základy maker

Makro definuje akci, která se má provést, když uživatel použije prvek uživatelského rozhraní. Makro může být velmi jednoduché a obsahovat jen příkaz, například kružnice. Dále může obsahovat speciální znaky, například ^C^C.

Například makro ^C^C_.circle \1 nakreslí kružnici o poloměru 1 jednotky. Komponenty, které definují toto makro, jsou vysvětleny v následující tabulce.

Komponenty makra KRUŽNICE

Komponenta

Typ komponenty

Výsledek

^C^C

Posloupnost speciálních řídicích znaků

Posloupnost, která je podobná dvěma stisknutím klávesy Esc

_

Speciální řídicí znak

Označuje, že následující příkaz by měl použít svůj globální (nikoli lokalizovaný) název.

.

Speciální řídicí znak

Označuje, že následující příkaz by měl použít svou standardní definici, nikoli svou případně změněnou definici.

KRUŽNICE

Název příkazu

Spustí příkaz KRUŽNICE.

Speciální znak

Mezera je jako stisknutí mezerníku při použití příkazu.

\

Speciální řídicí znak

Vytvoří pauzu pro uživatelské zadání. V tomto příkladu jde o pauzu pro zadání středového bodu kružnice.

1

Vstupní hodnota

Odpověď na výzvu k zadání poloměru kružnice; v tomto příkladu je to jednotka 1.

Zrušení aktivního příkazu

Při kliknutí na tlačítko v uživatelském rozhraní se k němu přiřazené makro provede v aktuálním kontextu programu. To znamená, že makro se pokusí o poskytnutí odpovědí na aktuální výzvu. Chcete-li mít jistotu, že při spuštění makra nebude aktivní žádný příkaz, vložte před makro posloupnost příkazů ^C. Jeden znak ^C sice ruší většinu příkazů, ale k návratu na příkazový řádek z příkazu kótování jsou vyžadovány znaky ^C^C a v závislosti na aktuální možnosti příkazu HLADINA je nutné použít znaky ^C^C^C. Znaky ^C^C zruší většinu posloupností příkazů a jedná se o doporučenou posloupnost, kterou je vhodné použít.

Ověření znaků v makru

V makru má každý znak důležitý význam, včetně mezer. Pokud vložíte mezeru na konec makra, je interpretována stejně, jako kdybyste příkaz dokončili stisknutím mezerníku nebo klávesy Enter.

Použití standardních příkazů v makrech

Příkazy, které jsou součástí aplikace AutoCAD nebo produktů na této aplikaci založených, by měly mít tečku (.) jako předponu. Znak tečky umožňuje použití standardního příkazu, i když byla jeho definice zakázána příkazem ZAKAŽ. Díky tomuto opatření se makro stane předvídatelným při použití na jiných počítačích, které sdílejí stejný soubor uživatelských úprav (CUI/CUIx).

Poznámka: Definici příkazů nelze zrušit v aplikaci AutoCAD LT.

Mezinárodní podpora maker

První makro obvykle vytváříte pomocí názvů příkazů a hodnot možností v tom programovacím jazyku produktu, který znáte. Každý příkaz a možnost má místní a globální název, který umožňuje použití maker jinými jazyky produktu. Podpora dalších jazyků mimo angličtiny není nijak obtížná, stačí před každý příkaz nebo možnost přidat znak podtržítka (_). Znak podtržítka dává programu na vědomí, že název příkazu nebo hodnota možnosti by měla být před provedením přeložena do místního jazyka produktu.

Použití režimu výběru jednoho objektu

Režim výběru jednoho objektu ruší opakování výzvy Vyberte objekty v editačních příkazech. Příkaz skončí až vyberete jeden objekt a zareagujete na ostatní výzvy.

Prohlédněte si makro v následujícím příkladu:

^C^C._erase single 

Toto makro ukončí aktuální příkaz a spustí příkaz VYMAŽ v režimu výběru jednoho objektu. Po spuštění makra můžete buď vybrat jeden objekt, nebo kliknout do prázdné oblasti ve výkresu a určit výběr oknem/křížením. Veškeré objekty vybrané pomocí těchto metod budou vymazány.

Opakování příkazů v makrech

Vytvořené makro můžete před přechodem na jiný příkaz několikrát opakovat. Vložte do makra úvodní hvězdičku (*), která indikuje, že příkaz v makru by se měl opakovat, dokud nestisknete klávesu ESC nebo nespustíte jiné makro začínající znaky ^C.

Makra v následujících příkladech opakují příkazy:

*^C^C._move Single 
*^C^C._copy Single 
*^C^C._erase Single 
*^C^C._stretch Single Crossing 
*^C^C._rotate Single 
*^C^C._scale Single 
Poznámka: Tuto funkci nemůžete použít k výběru možností ani pro makra v obrázkových nabídkách.

Ukončení maker

Některá makra vyžadují speciální ukončovací členy. K ukončení příkazu TEXT je například nutné stisknout klávesu Enter, nikoli mezerník, a některé příkazy se ukončí až po více než jednom stisknutí mezerníku nebo klávesy Enter.

Tyto potíže řeší dvě zvláštní konvence.

Porovnejte následující makra:

ucs 
ucs ;

První příklad spustí příkaz USS, a protože řádek končí mezerou, simuluje se stisknutí mezerníku. Je zobrazena následující výzva:

Určete počátek USS nebo [Plocha/pojmenNovaný/OBjekt/PŘedchozí/poHled/Globální/X/Y/Z/Zosa] <Globální>:

Druhý příklad spustí příkaz USS, simuluje stisknutí mezerníku a následně se simuluje stisknutí klávesy Enter, čímž se přijme výchozí hodnota (Globální).

Potlačení odezev a výzev v makrech

Znaky v makru se zobrazují na příkazovém řádku, jako byste tyto znaky psali na klávesnici. Toto duplicitní zobrazení se nazývá odezva. Odezvu makra lze potlačit pomocí systémové proměnné MENUECHO. Pokud jsou odezvy a výzvy pocházející ze zadání položky zapnuty, lze je řídicím znakem ^P před makrem dočasně vypnout. Můžete také v makru použít řídicí znak ^Q, který potlačí zobrazení všech výzev a vstupu z historie příkazového řádku.