App DocumentObject/fr: Difference between revisions

From FreeCAD Documentation
No edit summary
(suppression d'un espace entre deux crochets (le lien ne fonctionnait donc pas))
 
Line 18: Line 18:
{{Caption|Diagramme simplifié des relations entre les objets centraux dans Freecad}}
{{Caption|Diagramme simplifié des relations entre les objets centraux dans Freecad}}


<span id="Usage"></span>
==Utilisation==
==Utilisation==


Line 24: Line 25:
Certains des DocumentObjects les plus importants sont les suivants:
Certains des DocumentObjects les plus importants sont les suivants:
* La classe [[App_FeaturePython/fr|App FeaturePython]], un objet vide qui peut être utilisé à différentes fins, en fonction des propriétés ajoutées.
* La classe [[App_FeaturePython/fr|App FeaturePython]], un objet vide qui peut être utilisé à différentes fins, en fonction des propriétés ajoutées.
* La classe [[App_GeoFeature/fr|App GeoFeature]] , l'objet de base de tous les objets géométriques, c'est-à-dire des objets qui ont une propriété [[Placement/fr|Placement]] qui définit leur position dans la [[3D_view/fr|vue 3D] ].
* La classe [[App_GeoFeature/fr|App GeoFeature]] , l'objet de base de tous les objets géométriques, c'est-à-dire des objets qui ont une propriété [[Placement/fr|Placement]] qui définit leur position dans la [[3D_view/fr|vue 3D]].
* La classe [[Part_Feature/fr|Part Feature]], dérivée d'App GeoFeature, et la classe parent d'objets avec 2D et 3D [[Part_TopoShape/fr|topological shapes]].
* La classe [[Part_Feature/fr|Part Feature]], dérivée d'App GeoFeature, et la classe parent d'objets avec 2D et 3D [[Part_TopoShape/fr|topological shapes]].
* La classe [[Mesh_Feature/fr|Mesh Feature]], dérivée d'App GeoFeature, et la classe parent d'objets avec 2D et 3D [[Mesh_MeshObject/fr|maillages]].
* La classe [[Mesh_Feature/fr|Mesh Feature]], dérivée d'App GeoFeature, et la classe parent d'objets avec 2D et 3D [[Mesh_MeshObject/fr|maillages]].


<span id="Properties"></span>
== Propriétés ==
== Propriétés ==


Line 42: Line 44:
Pour les objets dérivés, seul {{PropertyData/fr|Label}} sera répertoriée par défaut dans l'[[property editor/fr| éditeur de propriété]]. Les autres propriétés seront masquées.
Pour les objets dérivés, seul {{PropertyData/fr|Label}} sera répertoriée par défaut dans l'[[property editor/fr| éditeur de propriété]]. Les autres propriétés seront masquées.


<span id="Scripting"></span>
== Script ==
== Script ==



Latest revision as of 00:01, 9 January 2024

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"