A parancsmakrók tartalmazhatnak parancsokat, speciális karaktereket és DIESEL-kifejezéseket vagy AutoLISP-programkódot.
Meghatározását követően a makró hozzárendelhető egy parancshoz a parancs Makró tulajdonságának módosításával a Felhasználói felület testreszabása szerkesztőben (Windows) vagy a Testreszabás párbeszédpanelen (Mac OS).
A makrókkal meghatározhatók azok műveletek, amelyeket a rendszernek egy felhasználói felületi elem használatakor kell végrehajtania. A makró olyan egyszerű is lehet, mint egy parancs (például kör), és tartalmazhat speciális karaktereket (például ^C^C).
A ^C^C_.kör \1 makró például egy 1 egységnyi sugarú kört rajzol. Az e makrót meghatározó összetevők magyarázatát a következő táblázat tartalmazza.
A KÖR makró összetevői |
||
---|---|---|
Alkotóelem |
Alkotóelem típusa |
Eredmény |
^C^C |
Speciális vezérlőkarakterek sorozata |
Az Esc billentyű kétszeri lenyomásával egyenértékű sorozat. |
_ |
Speciális vezérlőkarakter |
Azt jelzi, hogy az utána következő parancsnak nem a lokalizált, hanem a globális parancsnevet kell használnia. |
. |
Speciális vezérlőkarakter |
Azt jelzi, hogy az utána következő parancsnak nem az esetleg létező újradefiniált parancsot, hanem az eredeti parancsdefiníciót kell használnia. |
KÖR |
Parancsnév |
Elindítja a KÖR parancsot. |
Speciális karakter |
A szóköznek ugyanaz a hatása, mint amikor egy parancs használatakor lenyomja a szóköz billentyűt. |
|
\ |
Speciális vezérlőkarakter |
Felhasználói bevitelre várva szünetelteti a parancs futását, ami ebben a példában a kör középpontjának felhasználó általi megadásáig tartó szüneteltetést jelenti. |
1 |
Bemeneti érték |
Meg kell válaszolni a kör sugarára vonatkozó kérdést, ami ebben a példában 1 egység. |
Egy, a felhasználói felületen lévő gombra kattintva a rendszer végrehajtja az ahhoz rendelt makrót a program aktuális környezetében. Ez azt jelenti, hogy a makró megpróbál válaszolni az aktuális promptra. Ha biztos szeretne lenni benne, hogy párhuzamosan nem fut aktív parancs a makró végrehajtásakor, akkor a makró előtt használja a ^C parancselemet előtagként. Bár a legtöbb parancsot egyetlen ^C karakterpár is megszakítja, a méretezési parancsok esetén ^C^C kell ahhoz, hogy visszatérjen a parancsprompthoz, a -FÓLIA parancs aktuális opciójából pedig csak a ^C^C^C lép ki. Ajánlott a ^C^C alkalmazása, mivel a legtöbb parancs esetén ennek használatával lehetséges a megszakítás.
Egy makróban minden karakternek, még egy üres szóköznek is komoly jelentése van. A makró végére helyezett szóközt a rendszer a Szóköz vagy az Enter billentyűnek a parancs befejezésére irányuló lenyomásaként értelmezi.
Az AutoCAD vagy AutoCAD-alapú termék beépített parancsai elé előtagként egy pont (.) karaktert kell írni. A pont karakter lehetővé teszi a szabványos parancsok használatát akkor is, ha azok definícióját a DEFTÖRÖL paranccsal törölték. Ezzel kiszámíthatóvá teszi a makró használatát más, ugyanazzal a testreszabási (CUI/CUIx) fájllal rendelkező számítógépeken.
A makrók első létrehozásakor azok készítői általában a számukra ismert terméknyelven használják a parancsok neveit és a beállításértékeket. Minden egyes parancs és beállítás rendelkezik egy helyi és egy globális névvel, ami lehetővé teszi, hogy a makrók használhatóak legyenek a termék által támogatott más nyelveken is. Nem angol nyelvű támogatás esetében mindössze be kell illeszteni az aláhúzás karaktert (_) minden egyes parancs vagy beállítás elé. Az aláhúzás karakter jelzi a program számára, hogy a parancsnevet vagy beállításértéket annak végrehajtása előtt le kell fordítani a termék helyi nyelvére.
Az Egyetlen objektum kiválasztási mód megszakítja a Válasszon objektumokat prompt normális ismétlését a szerkesztőparancsokban. Egy objektum kiválasztása és bármilyen más promptra történő válaszolás után a parancs befejeződik.
Tekintse meg a következő példában lévő makrót:
^C^C._erase single
Ez a makró lezárja az aktuális parancsot, és elindítja a RADÍR parancsot Egyetlen objektum kiválasztása módban. A makró elindítása után kiválaszthat egy objektumot, vagy rákattinthat a rajzon egy üres területre, ahol megadhatja az ablakos/metsző kijelölést. A rendszer törli az ezekkel a módszerekkel kijelölt objektumokat.
Ha létrehozott egy makrót, akkor azt esetleg többször is ismételni kívánja, mielőtt tovább lép egy másik parancsra. A makróban a csillag (*) valamely parancs előtt azt jelzi, hogy a rendszer addig futtatja a parancsot, amíg le nem nyomja az Esc billentyűt, vagy el nem indul egy ^C kezdetű makró.
A következő példa makrói a parancsot ismétlik meg:
*^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
Néhány makróhoz speciális záróelem szükséges. A SZÖVEG parancs leállításához például az Enter, nem pedig a Szóköz billentyűt kell lenyomni, és egyes parancsok befejezéséhez nem elég egyszer lenyomni a Szóköz vagy az Enter billentyűt.
Két speciális megoldás létezik ezekre a problémákra.
Hasonlítsa össze a következő makrókat:
ucs ucs ;
Az első példa megkezdi az FKR parancs végrehajtását, és mivel a vonal szóközben végződik, a Szóköz billentyű lenyomását szimulálja. A következő prompt jelenik meg:
Adja meg az FKR origóját, vagy [Lap/Elnevezett/Objektum/Előző/Nézet/Világ/X/Y/Z/Ztengely] <világ>:
A második példa megkezdi az FKR parancs végrehajtását, szimulálja a Szóköz billentyű, majd az Enter billentyű lenyomását, amivel elfogadja az alapértelmezett értéket (Világ).
A makrók karakterei úgy jelennek meg a parancspromptban, mintha a billentyűzeten írta volna be őket. Ezt a megjelenítés-kettőzést úgy hívják, hogy visszhangzás. A MENUECHO rendszerváltozóval letilthatja a makróvisszahangzást. Ha az elembevitel során a tájékoztató szövegek és a promptok be vannak kapcsolva, akkor azokat a ^P makró előtti elhelyezésével ideiglenesen kikapcsolhatja. Használhatja továbbá makróban a ^Q karakterpárt is, amellyel letilthatja a parancssori előzményekből származó összes prompt és bemenet megjelenítését.