Befehlsmakrozeichenfolgen

Befehlsmakrozeichenfolgen legen fest, welche Befehle und Systemvariablen in AutoCAD zusammen mit einer erwarteten Eingabe in der Befehlszeile ausgeführt werden sollen. Sonderzeichen, DIESEL-Ausdrücke und AutoLISP-Programmiercode können ebenfalls in eine Befehlsmakrozeichenfolge aufgenommen werden.

Sie können benutzerdefinierte Befehlsmakrozeichenfolgen erstellen, die Unterstützung bei Folgendem bieten:

Befehlsmakrozeichenfolgen werden wie folgt definiert und bearbeitet:

Grundlagen von Befehlsmakrozeichenfolgen

Eine Befehlsmakrozeichenfolge ist als eine Reihe von Befehlen und erwarteten Optionen und Werten mit einer speziellen Syntax definiert, ähnelt jedoch der Eingabe, die Sie an der AutoCAD-Befehlszeile vornehmen. Wenn Sie mit der Benutzeroberfläche des Programms interagieren, z. B. durch Klicken auf eine Schaltfläche in der Multifunktionsleiste oder durch Klicken auf ein Element in einem Kontextmenü, wird eine Befehlsmakrozeichenfolge ausgeführt. Die Syntax eines Befehlsmakros kann einfach aus einem einzelnen Befehlsnamen (z. B. KREIS) bestehen oder komplexer sein, wobei Sonderzeichen (z. B. ^C^C_.circle \1) eingeschlossen werden.

Im Folgenden werden die am häufigsten verwendeten Sonderzeichen in Befehlsmakrozeichenfolgen aufgelistet:

Anmerkung: AutoLISP ist nicht in AutoCAD LT for Mac OS und ObjectARX nicht in AutoCAD LT for Windows oder Mac OS verfügbar.

Hier sehen Sie, wie es aussieht, wenn Sie den Befehl KREIS starten und einen Kreis mit einem Radius von 5 in der AutoCAD-Befehlszeile zeichnen, und wie diese gleiche Eingabe als Befehlsmakrozeichenfolge aussieht:

Befehlszeilensequenz Entsprechende Makrozeichenfolgensyntax
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;

Die endgültige Befehlsmakrozeichenfolge könnte folgendermaßen aussehen:



Element Syntax Beschreibung
1 ^C^C ^C^C bedeutet, dass vor dem Ausführen des Makros zweimal die ESC-Taste gedrückt werden muss.
2 ._KREIS; Startet unabhängig vom aktuellen AutoCAD Language Pack den Befehl KREIS.
3 \ Fordert zur Eingabe des Mittelpunkts auf, um den der Kreis gezeichnet werden soll.
4 5; Bestimmt den Radius des Kreises und beendet den Befehl KREIS.

Die vorherige Makrozeichenfolge könnte auch wie folgt ohne Semikolon geschrieben werden, da ein Leerzeichen in einem Makro dem Drücken der LEERTASTE in der AutoCAD-Befehlszeile entspricht:

^C^C_.circle \5
Anmerkung: Durch die Verwendung von Semikolons in einer Makrozeichenfolge ist diese einfacher zu lesen und es ist besser zu erkennen, wann eine EINGABETASTE verwendet werden soll, da ein Leerzeichen auch ein tatsächliches Leerzeichen nach der Eingabe für den vorherigen Befehl oder die vorherige Systemvariable angeben kann.

Hier ist ein weiteres Beispiel für die Verwendung des Befehls MOCORO zum Kopieren und anschließenden Drehen dieser kopierten Objekte an der AutoCAD-Eingabeaufforderung. So würde die Befehlsfolge als Befehlsmakrozeichenfolge aussehen:

Befehlszeilensequenz Entsprechende Makrozeichenfolgensyntax
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;
\
;

Die endgültige Befehlsmakrozeichenfolge könnte folgendermaßen aussehen:



Element Syntax Beschreibung
1 ^C^C ^C^C bedeutet, dass vor dem Ausführen des Makros zweimal die ESC-Taste gedrückt werden muss.
2 ._MOCORO; Startet unabhängig vom aktuellen AutoCAD Language Pack den Befehl MOCORO.
3 \\; Fordert Sie zur Objektauswahl auf. Zwei umgekehrte Schrägstriche ermöglichen hier die Angabe von zwei Punkten für die Fenster- oder Kreuzen-Auswahl.
4 \ Fordert Sie zur Eingabe des Basispunkts auf, der zum Kopieren der ausgewählten Objekte verwendet werden soll.
5 _C; Verwendet die Option Kopieren.
6 \; Fordert Sie zur Eingabe des zweiten Verschiebungspunkts auf.
7 _R; Verwendet die Option Drehen.
8 \ Fordert Sie zur Eingabe des Drehwinkels auf.
9 ; Beendet den Befehl MOCORO.

Aktiven Befehl abbrechen

Wenn Sie auf eine Schaltfläche in der Benutzeroberfläche klicken, wird das ihr zugewiesene Makro im aktuellen Kontext des Programms ausgeführt. Das bedeutet, dass das Makro versucht, Antworten auf die aktuelle Eingabeaufforderung bereitzustellen. Wenn Sie sicherstellen möchten, dass aktuell kein Befehl aktiv ist, wenn das Makro ausgeführt wird, stellen Sie dem Makro die Befehlsfolge ^C voran. Durch die Eingabe von ^C werden die meisten Befehle abgebrochen. Um jedoch von einem Bemaßungsbefehl aus zur Befehlszeile zurückzukehren, müssen Sie je nach aktueller Option des Befehls -LAYER ^C^C bzw. ^C^C^C eingeben. ^C^C ermöglicht den Abbruch der meisten Befehlsfolgen, daher wird die Verwendung dieser Zeichenfolge empfohlen.

Verwenden von Standardbefehlen in Makros

Befehlen, die Bestandteil von AutoCAD oder AutoCAD-basierten Produkten sind, sollte ein Punkt (.) vorangestellt werden. Durch Angabe eines Punkts kann der Standardbefehl auch dann verwendet werden, wenn er mit dem Befehl BFLÖSCH als undefiniert festgelegt wurde. Diese Vorsichtsmaßnahme macht das Ergebnis des Makros vorhersagbar, wenn es auf anderen Computern verwendet wird, die die gleiche Anpassungsdatei (CUI-/CUIx-Datei) verwenden.

Anmerkung: Ab AutoCAD LT 2024 können Befehle undefiniert sein.

Überprüfen der Makrozeichen

Alle Zeichen, einschließlich Leerzeichen, sind in einem Makro von Bedeutung. Ein Leerzeichen wird als Drücken der LEERTASTE interpretiert, wodurch Leerzeichen in der angegebenen Eingabe entstehen können, oder als ob Sie die EINGABETASTE drücken würden. Das Ergebnis entspricht der Verwendung des Befehls oder der Systemvariable in der Befehlszeile.

Anmerkung: Ein Leerzeichen am Ende des Makros wird so interpretiert, als würden Sie die EINGABETASTE zum Abschließen des Befehls drücken.

Internationale Unterstützung für Makros

Wenn Sie ein Makro erstellen, verwenden Sie normalerweise die Befehlsnamen und Optionswerte in der Sprache, die Ihnen vertraut ist. Jeder Befehl und jede Option verfügen über einen lokalen und globalen Namen, mit der Ihre Makros für andere Sprachen des Produkts. Eine nicht englischsprachige Unterstützung erfordert nicht viel zusätzliche Arbeit von Ihrer Seite. Allen Befehlen oder Optionen muss ein Unterstrich (_) vorangestellt werden. Der Unterstrich signalisiert wird, dass der Befehlsname oder der Optionswert should be translated in der lokalen Sprache des Produkts noch vor der Ausführung.

Verwenden des Einzelobjekt-Auswahlmodus

Der Objektwahlmodus Einzeln unterbricht die normale Wiederholung der Eingabeaufforderung Objekte wählen in Bearbeitungsbefehlen. Nachdem Sie ein Objekt ausgewählt und auf andere Eingabeaufforderung reagiert haben, wird der Befehl beendet.

Es folgt ein Beispiel für ein Makro:

^C^C._erase single 

Dieses Makro beendet den aktuellen Befehl und startet den Befehl LÖSCHEN im Einzelobjekt-Auswahlmodus. Nachdem Sie das Makro gestartet haben, können Sie ein einzelnes Objekt auswählen oder auf einen freien Bereich in der Zeichnung klicken und eine Fenster-/Kreuzen-Auswahl angeben. Alle mithilfe dieser Methoden ausgewählten Objekte werden gelöscht.

Wiederholen von Befehlen in Makros

Wenn Sie ein Makro erstellt haben, möchten Sie es vielleicht mehrmals wiederholen, bevor Sie mit einem anderen Befehl fortfahren. Verwenden Sie in Makros ein vorangestelltes Sternchen (*), um anzugeben, dass der Befehl im Makro wiederholt werden soll, bis Sie die ESC-Taste drücken oder ein anderes Makro starten, das mit ^C beginnt.

Die Makros in den folgenden Beispielen wiederholen die Befehle:

*^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 
Anmerkung: Sie können diese Funktion nicht zum Auswählen von Optionen oder für Makros in Bildkachelmenüs verwenden.

Beenden von Makros

Einige Makros benötigen spezielle Abschlusszeichen. Beispielsweise erfordert der Befehl TEXT, dass Sie die EINGABETASTE statt der LEERTASTE drücken, um den Befehl zu beenden, und zum Beenden anderer Befehle müssen Sie die LEERTASTE oder EINGABETASTE mehrmals drücken.

Zwei spezielle Konventionen lösen diese Probleme

Vergleichen Sie die folgenden Makros:

ucs 
ucs ;

Im ersten Beispiel wird der Befehl BKS gestartet, und da die Zeile mit einem Leerzeichen endet, wird das Drücken der Leertaste simuliert. Folgende Eingabeaufforderung erscheint:

Ursprung des neuen BKS angeben oder [FLäche/bENannt/Objekt/VOrher/ANsicht/Welt/X/Y/Z/ZAchse] <Welt>:

Im zweiten Beispiel wird der Befehl BKS gestartet und das Drücken der LEERTASTE und dann das Drücken der EINGABETASTE simuliert, wodurch der Vorgabewert Welt akzeptiert wird.

Unterdrücken von Echos und Eingabeaufforderungen in Makros

Zeichen in einem Makro werden in der Befehlszeile angezeigt, als hätten Sie die Zeichen über die Tastatur eingegeben. Diese Anzeigenduplizierung wird als Echo bezeichnet. Mit der Systemvariablen MENUECHO können Sie das Makroecho unterdrücken. Wenn Echos und Eingabeaufforderungen von der Eingabe aktiviert sind, können Sie sie durch Eingabe des Zeichens ^P vor dem Makro deaktivieren. Sie können auch ^Q in Aktionsmakros verwenden, um die Anzeige von Eingabeaufforderungen und Eingaben aus dem Protokoll der Befehlszeileneingaben zu unterdrücken.