Python Konsole

From FreeCAD Documentation
Revision as of 13:18, 31 October 2020 by Maker (talk | contribs)
(Januar 2020) FreeCAD wurde ursprünglich für die Arbeit mit Python 2 entwickelt. Da Python 2 im Jahr 2020 das Ende seiner Lebensdauer erreicht hat, wird die zukünftige Entwicklung von FreeCAD ausschließlich mit Python 3 erfolgen und die Abwärtskompatibilität wird nicht unterstützt.

Einleitung

Die Python Konsole ist ein Feld, das eine Instanz des Python Interpreters ausführt, mit dem FreeCAD Prozesse gesteuert, Objekte und deren Eigenschaften erstellt und geändert werden können.

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: FreeCAD Grundlagen Skripten, 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.

Maßnahmen

Ein Rechtsklick auf die Python Konsole zeigt einige Befehle an:

  • Template:MenuCommand/de: speichert den markierten Text in der Zwischenablage zum späteren Einfügen; er ist deaktiviert, wenn nichts markiert ist.
  • Template:MenuCommand/de: speichert den markierten Befehl in der Zwischenablage zum späteren Einfügen; er ist deaktiviert, wenn nichts markiert ist.
  • Template:MenuCommand/de: die gesamte Historie der in dieser Sitzung eingegebenen Python-Befehle kopieren.
  • Template:MenuCommand/de: die gesamte Historie der in dieser Sitzung eingegebenen Python Befehle in eine Textdatei speichern.
  • Template:MenuCommand/de: zuvor kopierten Text aus der Zwischenablage in die Python-Konsole einfügen.
  • Template:MenuCommand/de: wählt den gesamten Text in der Python-Konsole aus.
  • Template:MenuCommand/de: 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 ist nur ästhetisch, da dieser Befehl weder vorhandene Variablen löscht noch die importierten Module in der Sitzung löscht.
  • Template:MenuCommand/de: öffnet einen Dialog zum Suchen einer Datei im System, 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.
  • Template:MenuCommand/de: sehr lange Zeilen umbrechen, die die horizontale Dimension der Python-Konsole überschreiten.