Definieren von externen Befehlen

Mit externen Befehlen können Sie andere Programme oder Dienstprogramme starten, während AutoCAD bzw. das AutoCAD-basierte Produkt ausgeführt wird.

Während AutoCAD bzw. das AutoCAD-basierte Produkt ausgeführt wird, können Sie beispielsweise die folgenden Programme oder Dienstprogramme aufrufen:

Anmerkung: Externe Befehle werden in AutoCAD nur unter Windows unterstützt. AutoCAD LT unterstützt keine externen Befehle.

Sie können Befehlsdefinitionen durch die Bearbeitung der Datei acad.pgp in einem ASCII-Texteditor hinzufügen. Im ersten Abschnitt der Datei acad.pgp werden externe Befehle definiert. Neben den Befehls-Aliasnamen in der Datei acad.pgp finden Sie auch Kommentarzeilen mit einem vorangestellten Semikolon (;), in die Sie Textinformationen zu der Datei oder einen Befehlsalias einfügen können.

Bei der Definition eines externen Befehls legen Sie den Befehlsnamen fest, der an der Eingabeaufforderung des Betriebssystems verwendet werden soll, sowie eine ausführbare Befehlszeichenfolge, die an das Betriebssystem weitergegeben wird. Jede Zeile besteht aus fünf Feldern, die durch Kommas getrennt sind:

command,[executable/shell request],bit flag[,[*]prompt[,return_code]] 
Befehl

Der Befehl, der in der Befehlszeile des Betriebssystems eingegeben wird. Wenn es sich bei dem Namen um einen internen AutoCAD-Befehlsnamen handelt, wird er ignoriert. Bei der Eingabe wird nicht in Groß- und Kleinschreibung unterschieden.

Ausführbare/Shell-Anforderung

Die konstante Zeichenfolge, die bei Eingabe des Befehlsnamens an das Betriebssystem gesendet wird. Dabei kann es sich um jeden Befehl handeln, der von der Eingabeaufforderung des Betriebssystems aus ausgeführt werden kann. Die Zeichenfolge kann Befehlszeilenoptionen bzw. Parameter enthalten. Ob bei der Zeichenfolge zwischen Groß- und Kleinschreibung unterschieden wird, hängt von der auszuführenden Anwendung ab.

Bit-Markierungen

Erforderlicher, bitcodierter Parameter. Diese Ganzzahlen können in beliebiger Kombination verwendet werden, um das gewünschte Ergebnis zu erreichen.

0 Anwendung starten und Beenden abwarten.

1 Beenden der Anwendung nicht abwarten.

2 Anwendung minimiert ausführen.

4 Anwendung “verdeckt" ausführen.

8 Zeichenfolge für das Argument in Anführungszeichen setzen.

Die Bitwerte 2 und 4 schließen sich gegenseitig aus. Falls Sie beide Bitwerte angeben, wird lediglich der Wert 2 verwendet. Sie sollten die Bitwerte 2 bzw. 4 stets mit dem Wert 1 kombinieren; ansonsten können Sie erst dann wieder auf das Programm zugreifen, wenn die Anwendung beendet wurde.

Mit dem Bitwert 8 können beispielsweise Befehle wie del auch Dateinamen mit Leerzeichen problemlos verarbeiten. Hierdurch ist es allerdings nicht möglich, eine Liste von Dateinamen, die durch Leerschritte voneinander abgetrennt sind, an diese Befehle weiterzugeben. Wenn Sie mehrere Dateien verwenden möchten, kommt der Bitwert 8 für Sie nicht in Frage.

Eingabeaufforderung

Dieser Parameter ist fakultativ. Hierdurch wird die Eingabeaufforderung definiert, die in der Befehlszeile des Programms angezeigt wird. Die Antwort auf diese Eingabeaufforderung wird an die im Parameter Programmdatei angegebene Zeichenfolge angehängt. Wenn der erste Buchstabe im Eingabeaufforderungsfeld ein Sternchen ist (*), kann die Antwort Leerschritte enthalten, und der Benutzer muss die EINGABETASTE drücken, um die Eingabeaufforderung zu beenden. Andernfalls wird die Antwort durch die LEERTASTE oder die EINGABETASTE beendet. Wenn Sie keine Eingabeaufforderung festlegen, ist keine Eingabe erforderlich. Falls Sie einen Rückgabecode benötigen oder der Eingabeaufforderung ein Leerzeichen nachstellen möchten, fügen Sie ein Komma an.

Rückgabecode

Optionaler, bitcodierter Parameter. Diese Ganzzahlen können in beliebiger Kombination verwendet werden, um das gewünschte Ergebnis zu erreichen. Wenn Sie beispielsweise 1 und 2 benötigen, geben Sie 3 als Rückgabecode an. Die Werte sind wie folgt definiert (die Codes 0 und 4 sind in Umgebungen mit Fenstern ohne Bedeutung):

1 Lädt eine DXB-Datei. AutoCAD bzw. das AutoCAD-basierte Produkt lädt die DXB-Datei $cmd.dxb in die Zeichnung, sobald der Befehl beendet wird. Nach dem Laden der DXB-Datei wird die Datei $cmd.dxb gelöscht. Dieser Vorgang führt zu denselben Ergebnissen wie der Befehl DXBIN

2 Erstellt eine Blockdefinition aus einer DXB-Datei. Das Programm erstellt aus der DXB-Datei eine Blockdefinition mit dem Namen $cmd.dxb. Die Antwort auf das Eingabeaufforderungsfeld wird als Blockname verwendet. Dieser Name muss ein gültiger Blockname sein, der noch nicht in der aktuellen Zeichnung vorhanden ist. In diesem Modus kann deshalb ein zuvor definierter Block nicht neu definiert werden. Nach dem Laden der DXB-Datei wird die Datei $cmd.dxb gelöscht. Der Vorgabename für den Befehl EINFÜGE wird auf den neu definierten Block gesetzt.

Betriebssystembefehle

Die Betriebssystembefehle start und cmd sind bei der Definition externer Befehle von großem Nutzen. Wenn Sie eine ausführbare Zeichenfolge festlegen, ohne die Befehle start und cmd zu verwenden, steht das Programm erst dann wieder zur Verfügung, wenn das betreffende Fenster geschlossen wird.

Mit dem Befehl start öffnen Sie ein Fenster, in dem das angegebene Programm oder der angegebene Befehl ausgeführt wird. Wenn Sie den Befehl start ohne Parameter verwenden, wird ein neues Befehlszeilenfenster für das Betriebssystem geöffnet. Für den Befehl start stehen mehrere Befehlszeilenoptionen zur Verfügung, die sich auf die Anzeige des neuen Fensters auswirken. Um eine eigenständige Anwendung aufzurufen, verwenden Sie den Befehl start ohne Befehlszeilenoptionen. Mit dem Befehl start können Sie außerdem Dokumente aufrufen, die mit einer Anwendung verknüpft sind. Sie können beispielsweise Dokumente, die mit einem Textverarbeitungsprogramm erstellt wurden, oder auch HTML-Dateien direkt mit start öffnen.

Mit dem Befehl cmd öffnen Sie ein Befehlszeilenfenster für das Betriebssystem, das als Shell für AutoCAD bzw. das AutoCAD-basierte Produkt dient. Die Steuerung wird erst dann an die Eingabeaufforderung des Betriebssystems zurückgegeben, wenn dieses Fenster geschlossen wird. Zwei Befehlszeilenoptionen, /c und /k, sind für externe Befehle nützlich. Die Befehlszeilenoption /c führt den angegebenen Befehl aus und beendet dann die Bearbeitung (das Fenster wird geschlossen). Die Befehlszeilenoption /k führt den angegebenen Befehl aus und setzt dann die Bearbeitung fort (das Fenster bleibt geöffnet). Wenn Sie die Befehlszeilenoption /k verwenden, muss das Befehlsfenster manuell geschlossen werden (Befehl exit).

Im Allgemeinen verwenden Sie den Befehl start, um ein neues Fenster zu erstellen oder eine Anwendung aufzurufen, die getrennt vom Programm ausgeführt werden soll. Mit dem Befehl cmd führen Sie eine Stapeldatei oder ein Befehlsskript ohne eigenes Fenster aus oder erstellen ein Fenster, das zur Rückgabe der Steuerung an das Programm manuell geschlossen werden muss. Weitere Informationen zu diesen Befehlen und Optionen finden Sie in der Dokumentation zu den Befehlen Ihres Betriebssystems.

Benutzerdefinierte Befehle

Im folgenden Beispiel werden drei neue Befehle definiert: RUN, LISTSET, und DXB2BLK.

RUN, cmd /c,0,*Batch file to run: ,
LISTSET,cmd /k SET,0
DXB2BLK,cmd /c DXBCOPY,0,DXB file: ,2

Der Befehl RUN führt eine Stapeldatei oder ein Befehlsskript aus. Mit dem Befehl cmd und der Befehlszeilenoption /c wird ein Befehlsfenster geöffnet, die Stapeldatei ausgeführt und der Befehl beendet.

Der Befehl LISTSET zeigt die aktuellen Umgebungsvariablen-Einstellungen für das Betriebssystem an. Da in diesem Beispiel cmd /k anstelle von start verwendet wird, muss das Befehlsfenster vor der Rückkehr zum Programm geschlossen werden. Wenn dieses Fenster aktiv bleiben soll, verwenden Sie den Befehl start /realtime. Weitere Informationen zu diesen Befehlen und Optionen finden Sie in der Dokumentation zu den Befehlen Ihres Betriebssystems.

Der Befehl DXB2BLK erstellt eine Blockdefinition aus der angegebenen DXB-Datei. Die DXB-Datei konvertiert alle Objekte in Linien. Ein positiver Nebeneffekt dieses Verfahrens besteht darin, dass es eine einfache Methode zum Auflösen von Textobjekten in Linien bietet.

Der Befehl DXB2BLK übergibt den Namen der angegebenen DXB-Datei an die Stapeldatei dxbcopy, die den Dateinamen in den Dateinamen $cmd.dxb kopiert. Das Programm erstellt dann einen Block aus der angegebenen DXB-Datei. Der Name, der an der Eingabeaufforderung der DXB-Datei angegeben wird, wird als neuer Blockname verwendet. Um die Datei dxbcopy.cmd zu erstellen, geben Sie in der Eingabeaufforderung des Betriebssystems Folgendes ein:

echo copy %1.dxb $cmd.dxb > dxbcopy.cmd

Dadurch wird die Datei dxbcopy.cmd im aktuellen Verzeichnis erstellt. Verschieben Sie diese Datei in ein Verzeichnis, das sich in Ihrem DOS-Pfad befindet, oder geben Sie das Dateiverzeichnis in der Datei acad.pgp vollständig an. Wenn sich die Datei dxbcopy.cmd beispielsweise im Verzeichnis D:\cad befindet, geben Sie im Abschnitt mit den externen Befehlen in der Datei acad.pgp Folgendes ein.

DXB2BLK, cmd /c D:\CAD\DXBCOPY,0,DXB file: ,2