App FeaturePython/fr

Other languages:

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 positionnement 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 centraux 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 éléments Draft Text, Draft Dimension et Draft Proxy pour plan de travail de l'Atelier Draft sont des objets App::FeaturePython avec une icône personnalisée et des propriétés additionnelles. Ils contiennent des données mais pas une Part TopoShape réelle.

Si l'objet désiré doit avoir un placement, une forme, un attachement 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 Tout afficher dans le menu contextuel de l'éditeur de propriétés.

Données

Base

Vue

Base

Display Options

Selection

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"