Jump to content

App FeaturePython

From FreeCAD Documentation
This page is a translated version of the page App FeaturePython and the translation is 100% complete.

Introduction

Un objet App FeaturePython, ou officiellement App::FeaturePython, est une simple instance de App DocumentObject dans Python.

Il s'agit d'un objet simple qui, par défaut, n'a pas beaucoup de propriétés, par exemple il n'a pas de position ou de forme topologique. En fonction des propriétés qui lui sont attribuées, il peut être utilisé pour gérer différents types de données.

Diagramme simplifié des relations entre les objets principaux dans Freecad

Utilisation

App FeaturePython est un objet interne. Il ne peut donc pas être créé à partir de l'interface graphique. Il est censé être sous-classé par des classes qui géreront différents types de données.

Par exemple, les objets Draft Texte, Draft Dimension et Draft Proxy de plan de travail de l'atelier Draft sont des objets App::FeaturePython avec une icône personnalisée et des propriétés supplémentaires. Ils contiennent des données mais pas de Part TopoShape réelle.

Si l'objet désiré doit avoir une position, une forme, un ancrage ou d'autres propriétés complexes, il est préférable de créer une des classes plus complexes, par exemple, App GeoFeature, Part Feature ou Part Part2DObject.

Propriétés

Voir Propriétés pour tous les types de propriétés que les objets scriptés peuvent avoir.

La classe App FeaturePython (classe App::FeaturePython) est dérivée de la classe de base App DocumentObject. (classe App::DocumentObject) et hérite de toutes ses propriétés. Il possède également plusieurs propriétés supplémentaires.

Ce sont les propriétés disponibles dans l'éditeur de propriétés. Les propriétés masquées peuvent être affichées en utilisant la commande Afficher les propriétés cachées dans le menu contextuel de l'éditeur de propriétés.

Données

Base

  • Données (caché)Proxy (PythonObject) : classe personnalisée associée à cet objet.
  • DonnéesLabel (String) : nom modifiable par l'utilisateur de cet objet, c'est une chaîne UTF8 arbitraire.
  • Données (caché)Label2 (String) : description plus longue et modifiable par l'utilisateur de cet objet. C'est une chaîne UTF8 arbitraire qui peut inclure des retours à la ligne. Par défaut, chaîne vide "".
  • Données (caché)Expression Engine (ExpressionEngine) : liste d'expressions. Par défaut vide [].
  • Données (caché)Visibility (Bool) : affiche ou non l'objet.

Vue

Base

  • Vue (Hidden)Proxy (PythonObject) : classe personnalisée du viewprovider associée à cet objet.

Display Options

  • VueDisplay Mode (Enumeration) : vide par défaut.
  • VueShow In Tree (Bool) : valeur par défaut est true, auquel cas l'objet apparaîtra dans l'arborescence sinon l'objet sera masqué dans l'arborescence. Une fois qu'un objet de l'arborescence est invisible, vous pouvez le revoir en ouvrant le menu contextuel sur le nom du document (clic droit) et en sélectionnant Afficher les éléments cachés dans l'arborescence. Ensuite, l'élément masqué peut être choisi et VueShow In Tree peut être rétabli à true.
  • VueVisibility (Bool) : par défaut true, dans ce cas l'objet sera visible dans la vue 3D s'il a une forme sinon il sera invisible. Par défaut, cette propriété peut être activée et désactivée en sélectionnant l'objet et en appuyant sur la barre Espace du clavier.

Selection

  • VueOn Top When Selected (Enumeration) : contrôle la manière dont la sélection s'effectue dans la vue 3D si l'objet a une forme et s'il y a de nombreux objets partiellement couverts par d'autres. La valeur par défaut est Disabled, ce qui signifie qu'aucune mise en évidence spéciale ne se produira; Enabled signifie que l'objet apparaîtra au-dessus de tout autre objet lorsqu'il est sélectionné; Object signifie que l'objet n'apparaîtra en haut que si l'objet entier est sélectionné dans l'arborescence; Element signifie que l'objet n'apparaîtra en haut que si un sous-élément (sommet, arête, face) est sélectionné dans la vue 3D.
  • VueSelection Style (Enumeration) : contrôle la façon dont l'objet est mis en évidence s'il a une forme. Si c'est Shape, la forme entière (sommets, arêtes et faces) sera mise en surbrillance dans la vue 3D; s'il s'agit de BoundBox, un cadre de délimitation apparaîtra autour de l'objet et sera mis en surbrillance.

Script

Voir aussi : Débuter avec les scripts et Objets créés par script.

Voir Part Feature pour les informations générales sur l'ajout d'objets au document.

Un App FeaturePython est créé avec la méthode addObject() du document.

import FreeCAD as App

doc = App.newDocument()
obj = App.ActiveDocument.addObject("App::FeaturePython", "Name")
obj.Label = "Custom label"