Jump to content

Python-Konsole

From FreeCAD Documentation
This is the approved revision of this page, as well as being the most recent.

Einleitung

Die Python-Konsole ist ein Feld, das Teil der FreeCAD-Benutzerschnittstelle ist. Es führt eine Instanz des Python-Interpreters aus, mit dem FreeCAD-Prozesse gesteuert sowie Objekte und deren Eigenschaften erstellt und geändert werden können.

Sie kann über den Menüeintrag Ansicht → Fenster → Python-Konsole eingeblendet werden.

Die Python-Konsole in FreeCAD verfügt über eine grundlegende Syntaxhervorhebung, die es ermöglicht, mit verschiedenen Stilen und Farben, Kommentaren, Zeichenketten, numerischen Werten, eingebauten Funktionen, gedruckter Textausgabe und Trennzeichen wie Klammern und Kommata zu unterscheiden. Diese Eigenschaften der Konsole können im Voreinstellungseditor konfiguriert werden.

Die Python Konsole zeigt Meldungen an, wenn FreeCAD gerade gestartet wurde.

Skripten

Für absolute Anfänger, siehe: Einführung in Python, und Python Tutorium Skripten.

Siehe auch: Grundlagen der Skripterstellung in FreeCAD und Geskriptete Objekte.

Die Python Konsole kann grundlegende Code Vervollständigung durchführen, wenn ein Punkt nach einem Objekt steht; sie zeigt öffentliche Methoden und Attribute (Variablen) des aktuellen Objekts (Klasse), zum Beispiel obj.

Die Konsole ist auch in der Lage, den Dokumentationsstring einer bestimmten Funktion anzuzeigen, wenn die öffnende Klammer geschrieben wird, z.B. function(

Beispiel Python-Code, der Objekte in der 3D-Ansicht erzeugt.

Die FreeCAD Initialisierungsskripte laden automatisch einige Module und definieren einige Aliase. In der Python Konsole stehen diese daher zur Verfügung

App = FreeCAD
Gui = FreeCADGui

Daher sind diese gleichwertig

App.newDocument()
FreeCAD.newDocument()

Hinweis: diese vorinstallierten Module und Aliase sind nur über die in das FreeCAD Programm eingebettete Python Konsole verfügbar. Wenn Du FreeCAD als Bibliothek in einem externen Programm verwendest, musst Du daran denken, die Module FreeCAD und FreeCADGui zu laden und die notwendigen Aliase zu definieren, wenn Du möchtest.

Kontextmenü

Ein Rechtsklick auf die Python-Konsole öffnet ein Kontextmenü mit den folgenden Befehlen:

  • Kopieren: Speichert den markierten Text in der Zwischenablage zum späteren Einfügen; er ist deaktiviert, wenn nichts markiert ist.
  • Befehle kopieren: Speichert den markierten Befehl in der Zwischenablage zum späteren Einfügen; er ist deaktiviert, wenn nichts markiert ist.
  • Verlauf kopieren: Kopiert den gesamten Verlauf der in dieser Sitzung eingegebenen Python-Befehle.
  • Verlauf speichern unter…: Speichert den gesamten Verlauf der in dieser Sitzung eingegebenen Python Befehle in eine Textdatei.
  • Verlauf speichern: 'in Arbeit'.
  • Einfügen: Fügt zuvor kopierten Text aus der Zwischenablage in die Python-Konsole ein.
  • Alles auswählen: Wählt den gesamten Text in der Python-Konsole aus.
  • Konsole leeren: Löscht alle in der Python Konsole eingegebenen Befehle. Dies ist nützlich, wenn die Python-Konsole voll von Meldungen und zuvor eingegebenen Befehlen ist, die beim Testen einer neuen Funktion ablenken könnten. Dies dient nur der Übersicht, da dieser Befehl weder vorhandene Variablen noch die importierten Module in der Sitzung löscht.
  • Dateinamen einfügen…: Öffnet einen Dialog, um nach einer Datei im System zu suchen, dann fügt es den vollständigen Pfad der Datei ein. Dies ist nützlich, um Funktionen zu testen, die eine Eingabedatei verarbeiten, ohne den gesamten Namen in die Konsole schreiben zu müssen, was fehleranfällig ist. Dieser Befehl führt die Datei nicht aus und importiert sie nicht als Python-Modul, sondern gibt nur den vollständigen Pfad der Datei zurück.
  • Zeilenumbruch: Umbricht sehr lange Zeilen, die die Breite der Python-Konsole überschreiten.

Hinweise

  • Es ist möglich in der Python-Konsole durch die API zu scrollen. Beispiel:
    1. In der Konsole tippt man: FreeCAD.
    2. Ein Dialogfenster zur Auswahl optionaler Klassen oder Funktionen erscheint.
    3. Beim Scrollen durch die Liste können die Beschreibungen jeder Klasse bzw. Funktion gelesen werden.
    4. Wird eine Funktion ausgewählt und mit einem . ergänzt, können die Schritte 2 und 3 wiederholt werden, um tiefer in die API vorzudringen.
  • Tab-/Wortergänzung wird unterstützt, wenn das Tastaturkürzel Ctrl+Space verwendet wird.