Zum Inhalt springen

Die Skriptshell

QCAD verfügt über eine sehr leistungsfähige und vollständige Skriptschnittstelle, die Ihnen über ECMAScript (JavaScript) Zugriff auf nahezu die gesamte QCAD-API sowie die Qt-API bietet. Eine gute Möglichkeit, mit Skripten zu experimentieren, ist die QCAD Skriptshell.

Die Skriptshell kann über das Menü Diverses > Entwicklung > Skriptshell angezeigt werden.

Die Skriptshell erscheint als Widget mit einer Befehlszeile am unteren Rand und einer Befehlszeilen-Historie, welche die zuvor eingegebenen Befehle und deren Ausgabe anzeigt.

Rufen Sie die Funktion zum Hinzufügen einer Linie auf, indem Sie dies in die Befehlszeile am unteren Rand eingeben:

addLine(0,0, 100,100)
Eingabe eines Befehls in die Befehlszeile der Skriptshell

Drücken Sie die Eingabetaste, um den Befehl abzuschicken.

Die nach dem Ausführen des Befehls zur Zeichnung hinzugefügte Linie

QCAD fügt der aktuellen Zeichnung eine Linie von 0,0 nach 100,100 hinzu.

Die Funktion addLine ist Teil der QCAD Simple API, einer vereinfachten Möglichkeit, auf einen begrenzten Teil der QCAD-API zuzugreifen. Eine Liste aller Funktionen der QCAD Simple API finden Sie auf der Dokumentationsseite der QCAD Simple API.

Schleifen (if, for, while, …) werden üblicherweise über mehrere Zeilen eingegeben. Sie können dies in der Skriptkonsole auf dieselbe Weise tun, indem Sie diese Zeilen einzeln eingeben und jeweils die Eingabetaste drücken:

for (i=0; i<=10; i++) {
addLine(i*10,0, i*10,100);
}

Einrückungen sind nicht erforderlich.

Dieses Skript fügt 11 parallele Linien von x=0 bis x=100 mit einem Abstand von 10 Einheiten hinzu.

Komplexere Skripte mit mehreren Zeilen können in einem externen Texteditor geschrieben und dann in die Skriptkonsole kopiert / eingefügt werden. Das Skript wird ausgeführt, sobald es eingefügt wird.

Verwenden Sie die Pfeiltasten nach oben und unten, um durch die zuvor eingegebenen Befehle zu blättern und sie zu ändern oder erneut auszuführen.

Verwenden Sie Strg-L (⌘L), um die Befehlszeilen-Historie zu leeren.