App DocumentObject

From FreeCAD Documentation
This page is a translated version of the page App DocumentObject and the translation is 100% complete.
Other languages:

Introduction

Un objet App DocumentObject, ou officiellement App::DocumentObject, est la classe de base de toutes les classes d'objets gérées dans le document.

De manière générale, un "DocumentObject" est toute "chose" qui peut apparaître dans la vue en arborescence et qui est enregistrée et restaurée lors de l'ouverture d'un document.

Vue arborescente montrant différents objets dans le document. Chacun d'eux est un "document object", finalement dérivé de la classe App::DocumentObject base.

Diagramme simplifié des relations entre les objets centraux dans Freecad

Utilisation

App DocumentObject est une classe interne, elle ne peut donc pas être créée à partir de l'interface graphique, ni destinée à être utilisée seule. Il définit simplement le comportement de base et les propriétés des objets dans le programme.

Certains des DocumentObjects les plus importants sont les suivants:

  • La classe App FeaturePython, un objet vide qui peut être utilisé à différentes fins, en fonction des propriétés ajoutées.
  • La classe App GeoFeature , l'objet de base de tous les objets géométriques, c'est-à-dire des objets qui ont une propriété Placement qui définit leur position dans la vue 3D.
  • La classe Part Feature, dérivée d'App GeoFeature, et la classe parent d'objets avec 2D et 3D topological shapes.
  • La classe Mesh Feature, dérivée d'App GeoFeature, et la classe parent d'objets avec 2D et 3D maillages.

Propriétés

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

Ce sont les propriétés de base que possèdent essentiellement tous les objets. Ces propriétés sont accessibles depuis la console Python.

  • DonnéesExpression Engine (ExpressionEngine) : une liste d'expressions.
  • DonnéesLabel (String) : le nom modifiable par l'utilisateur de cet objet, il s'agit d'une chaîne UTF8 arbitraire. Par défaut, c'est la même chose que Name.
  • DonnéesLabel2 (String) : description plus longue et modifiable par l'utilisateur de cet objet, il s'agit d'une chaîne UTF8 arbitraire qui peut inclure des retours à la ligne. Par défaut, il s'agit d'une chaîne vide "".
  • DonnéesExpression Engine (ExpressionEngine) : une liste d'expressions.
  • DonnéesVisibility (Bool) : afficher ou non l'objet.

Pour les objets dérivés, seul DonnéesLabel sera répertoriée par défaut dans l' éditeur de propriété. Les autres propriétés seront masquées.

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 DocumentObject est créé avec la méthode addObject() du document. Cependant, en général, il n'est pas nécessaire de créer cet objet manuellement. Il est généralement préférable de sous-classer l'une des sous-classes les plus complexes, par exemple, App FeaturePython, App GeoFeature, |Part Feature, Part Part2DObject, etc.

import FreeCAD as App

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