Console Python

From FreeCAD Documentation
Jump to: navigation, search
This page is a translated version of the page Python console and the translation is 100% complete.

Other languages:
Deutsch • ‎English • ‎français • ‎italiano
(Janvier 2020) FreeCAD a été initialement conçu pour fonctionner avec Python 2. Étant donné que Python 2 est en fin de vie, son développement futur se fera exclusivement avec Python 3, et la compatibilité avec les versions antérieures ne sera pas prise en charge.


Introduction

La console Python est un panneau qui exécute une instance de l'interpréteur Python qui peut être utilisée pour contrôler les processus FreeCAD, ainsi que pour créer et modifier des objets et leurs propriétés.

La console Python de FreeCAD a une coloration syntaxique de base, capable de différencier avec différents styles et couleurs, commentaires, chaînes, valeurs numériques, fonctions intégrées, sortie texte imprimée et délimiteurs tels que des parenthèses et des virgules. Ces propriétés de la console peuvent être configurées dans l’éditeur de préférences.

FreeCAD Python console.png

La console Python affichant des messages lorsque FreeCAD vient de démarrer.


Création de scripts

Pour les débutants complets, voir : Introduction à Python et Didacticiel de création de scripts Python.

Voir aussi : Notions de base sur les scripts FreeCAD, et Objets scriptés.

La console Python peut effectuer l'achèvement du code de base lorsqu'un point est écrit après un objet. il montrera les méthodes publiques et les attributs (variables) de l'objet actuel (classe), par exemple obj.

La console peut également afficher la chaîne de documentation d’une fonction particulière lors de l’écriture de la parenthèse ouvrante, par exemple function(

FreeCAD Python console example.png

Exemple de code Python produisant des objets dans la vue 3D.


Les scripts d'initialisation FreeCAD chargent automatiquement certains modules et définissent certains alias. De fait, ceux-ci sont disponibles dans la console Python.

App = FreeCAD
Gui = FreeCADGui

Par conséquent, ils sont égaux à

App.newDocument()
FreeCAD.newDocument()

Remarque: ces modules et alias pré-chargés ne sont disponibles qu'à partir de la console Python intégrée au programme FreeCAD. Si vous utilisez FreeCAD en tant que bibliothèque dans un programme externe, n'oubliez pas de charger les modules FreeCAD et FreeCADGui et de définir les alias nécessaires, si vous le souhaitez.

Actions

Un clic droit sur la console Python affiche certaines commandes:

  • Copy: stocke le texte sélectionné dans le presse-papiers pour un collage ultérieur; il est désactivé si rien n'est sélectionné.
  • Copy command: stocke la commande sélectionnée dans le presse-papiers pour le coller ultérieurement; il est désactivé si rien n'est sélectionné.
  • Copy history: copie l'intégralité de l'historique des commandes Python entrées dans cette session.
  • Save history as: enregistre l'intégralité de l'historique des commandes Python entrées dans cette session dans un fichier texte.
  • Paste: colle le texte précédemment copié dans le presse-papiers dans la console Python.
  • Select all: sélectionne tout le texte de la console Python.
  • Clear console: efface toutes les commandes entrées dans la console Python. Ceci est utile si la console Python est pleine de messages et de commandes entrées précédemment qui pourraient gêner lors du test d’une nouvelle fonction. Ceci est simplement esthétique, car cette commande ne supprime pas les variables existantes ni les modules importés dans la session.
  • Insert file name: ouvre une boîte de dialogue pour rechercher un fichier dans le système, puis insère le chemin complet du fichier. Ceci est utile pour tester les fonctions qui traitent un fichier d'entrée sans avoir à écrire le nom complet dans la console, ce qui est sujet aux erreurs. Cette commande n'exécute pas le fichier et ne l'importe pas en tant que module Python. Elle renvoie simplement le chemin complet de ce fichier.
  • Word wrap: enveloppe les très longues lignes qui dépassent la dimension horizontale de la console Python.