Informace o řetězcích maker příkazů

Řetězce makra příkazu slouží k zadání pokynů, které příkazy a systémové proměnné má aplikace AutoCAD provést, společně s jakýmkoliv očekávaným vstupem povoleným na příkazovém řádku. Do řetězce makra příkazu je možné zahrnout také speciální znaky, výrazy jazyka DIESEL a programový kód jazyka AutoLISP.

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

Můžete vytvořit vlastní řetězce maker příkazů, které usnadňují:

Řetězce makra příkaz je možné definovat a upravovat pomocí následujících položek:

Základy řetězců maker příkazů

Řetězec makra příkazu je definován jako řada příkazů a očekávaných možností a hodnot se specializovanou syntaxí, podobá se však vstupu zadanému na příkazovém řádku aplikace AutoCAD. Při interakci s uživatelským rozhraním programu, například při kliknutí na tlačítko na pásu karet nebo na položku v místní nabídce, provádíte řetězec makra příkazu. Syntaxe makra příkazu může být natolik jednoduchá, že obsahuje jen název jednoho příkazu (například KRUŽNICE), případně i složitější se zahrnutím speciálních znaků (například ^C^C_.kružnice \1). .

Následující seznam uvádí nejčastěji používané speciální znaky v makrech příkazů:

Zde vidíte, jak pomocí příkazového řádku aplikace AutoCAD spustit příkaz KRUŽNICE a nakreslit kružnici s poloměrem 5 a jak stejný vstup vypadá jako řetězec makra příkazu:

Sekvence příkazového řádku Ekvivalent syntaxe řetězce makra
Command: CIRCLE
Specify center point for circle or [3P/2P/Ttr (tan tan radius)]:
Specify radius of circle or [Diameter] <2.5000>: 5
CIRCLE;
\
5;

Konečný řetězec makra příkazu může vypadat takto:



Prvek Syntaxe Popis
1 ^C^C ^C^C znamená, že před spuštěním makra je třeba dvakrát stisknout klávesu Esc.
2 ._KRUŽNICE; Spustí příkaz KRUŽNICE nezávisle na aktuálním jazykovém balíčku aplikace AutoCAD
3 \ Vyzve k zadání středu, ve kterém má být nakreslena kružnice
4 5; Určuje poloměr kružnice a ukončuje příkaz KRUŽNICE

Předchozí řetězec makra mohl být také zapsán následovně bez středníků, protože mezera v makru je totéž jako stisknutí mezerníku na příkazovém řádku aplikace AutoCAD:

^C^C_.circle \5
Poznámka: Použití středníků v řetězci makra usnadňuje čtení a zjišťování kde má dojít ke stisknutí klávesy Enter, protože mezera může označovat skutečnou mezeru ve vstupu zadaném v předchozím příkazu nebo systémové proměnné.

Zde je další příklad použití příkazu MOCORO ke zkopírování a následnému otočení kopírovaných objektů na příkazovém řádku aplikace AutoCAD a způsobu, jakým by posloupnost příkazů vypadala jako řetězec makra příkazu:

Sekvence příkazového řádku Ekvivalent syntaxe řetězce makra
Command: MOCORO
Select objects:
Specify opposite corner:
Select objects:
Base point:
[Move/Copy/Rotate/Scale/Base/Undo]<eXit>: C
Second point of displacement/Undo/<eXit>:
Second point of displacement/Undo/<eXit>: 
[Move/Copy/Rotate/Scale/Base/Undo]<eXit>: R
Second Point or Rotation angle:
[Move/Copy/Rotate/Scale/Base/Undo]<eXit>:
MOCORO;
\
\
;
\
C;
\
; 
R;
\
;

Konečný řetězec makra příkazu může vypadat takto:



Prvek Syntaxe Popis
1 ^C^C ^C^C znamená, že před spuštěním makra je třeba dvakrát stisknout klávesu Esc.
2 ._MOCORO; Spustí příkaz MOCORO nezávisle na aktuálním jazykovém balíčku aplikace AutoCAD.
3 \\; Zobrazí výzvu k výběru objektů; dvě zpětná lomítka zde umožňují určit dva body pro výběr oknem nebo křížením
4 \ Zobrazí výzvu k zadání základního bodu, který se má použít ke kopírování vybraných objektů.
5 _C; Použije možnost Kopírovat.
6 \; Zobrazí výzvu k zadání druhého bodu přemístění.
7 _R; Použije možnost Otočit
8 \ Zobrazí výzvu k zadání úhlu otočení
9 ; Ukončí příkaz MOCORO

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.

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.

Ověření znaků v makru

V makru má každý znak důležitý význam, včetně mezer. Mezera je interpretována jako stisknutí mezerníku (dojde k vložení znaku mezery v zadaném vstupu) nebo jako stisknutí klávesy Enter. Výsledek je stejný, jako kdybyste na příkazovém řádku použili příkaz nebo systémovou proměnnou.

Poznámka: Pokud vložíte mezeru na konec makra, je interpretována stejně jako dokončení příkazu stisknutím klávesy Enter.

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.