App DocumentObject/fr: Difference between revisions

From FreeCAD Documentation
(Created page with "Voir Propriétés pour tous les types de propriétés que les objets crées par script peuvent avoir.")
(suppression d'un espace entre deux crochets (le lien ne fonctionnait donc pas))
 
(36 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{TOCright}}


== Introduction ==
== Introduction ==
Line 5: Line 6:
[[File:Px.svg|32px]]
[[File:Px.svg|32px]]


An [[App_DocumentObject|App DocumentObject]] object, or formally an {{incode|App::DocumentObject}}, is the base class of all object classes handled in the document.
Un objet [[App_DocumentObject/fr|App DocumentObject]], ou officiellement {{incode|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 [[Tree_view/fr|vue en arborescence]] et qui est enregistrée et restaurée lors de l'ouverture d'un document.

[[File:App_DocumentObject_example.png]]

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


[[File:FreeCAD_core_objects.svg|800px]]
[[File:FreeCAD_core_objects.svg|800px]]


{{Caption|Diagramme simplifié des relations entre les objets centraux du programme. La classe {{incode|App::DocumentObject}} est la classe de base de pratiquement tous les objets du logiciel.}}
{{Caption|Diagramme simplifié des relations entre les objets centraux dans Freecad}}


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


[[App_DocumentObject/fr|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.
The [[App_DocumentObject|App DocumentObject]] is an internal object, so it cannot be created from the graphical interface. It is not meant to be used directly; rather, it is meant to be sub-classed by classes that will handle different types of data. Therefore, almost every object in the software, that is, every element that has an icon and that can be listed in the [[tree view|tree view]], is a "DocumentObject".


Certains des DocumentObjects les plus importants sont les suivants:
Some of the most important DocumentObjects are the following:
* The [[App_FeaturePython|App FeaturePython]] class, an empty object that can be used for different purposes, depending on the added properties.
* 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.
* The [[App_GeoFeature|App GeoFeature]] class, the base object of all geometrical objects, that is, of objects that have a [[Placement|Placement]] property that defines their position in the [[3D view|3D view]].
* 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]].
* The [[Part_Feature|Part Feature]] class, derived from App GeoFeature, and the parent class of objects with 2D and 3D [[Part_TopoShape|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]].


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


Voir [[Property/fr|Propriétés]] pour tous les types de propriétés que les objets crées par script peuvent avoir.
Voir [[Property/fr|Propriétés]] pour tous les types de propriétés que les objets crées par script peuvent avoir.


These are the basic properties that essentially all objects have. These properties can be accessed from the [[Python console|Python console]].
Ce sont les propriétés de base que possèdent essentiellement tous les objets. Ces propriétés sont accessibles depuis la [[Python console/fr|console Python]].


* {{PropertyData|Expression Engine|ExpressionEngine}}: a list of expressions.
* {{PropertyData|Expression Engine|ExpressionEngine}} : une liste d'expressions.
* {{PropertyData|Label|String}}: the user editable name of this object, it is an arbitrary UTF8 string.
* {{PropertyData|Label|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 {{incode|Name}}.
* {{PropertyData|Label2|String}}: a longer, user editable description of this object, it is an arbitrary UTF8 string.
* {{PropertyData|Label2|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 {{value|""}}.
* {{PropertyData|Visibility|Bool}}: whether to display the object or not.
* {{PropertyData|Expression Engine|ExpressionEngine}} : une liste d'expressions.
* {{PropertyData|Visibility|Bool}} : afficher ou non l'objet.


For derived objects, only {{PropertyData|Label}} will be listed in the [[property editor|property editor]] by default. The other properties will be hidden.
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 ==


{{Emphasis|Voir aussi:}} [[FreeCAD Scripting Basics/fr|Débuter avec les scripts]] et [[scripted objects/fr|Objets créés par script]].
{{Emphasis|Voir aussi :}} [[FreeCAD_Scripting_Basics/fr|Débuter avec les scripts]] et [[Scripted_objects/fr|Objets créés par script]].


Voir [[Part_Feature/fr|Part Feature]] pour les informations générales sur l'ajout d'objets au programme.
Voir [[Part_Feature/fr|Part Feature]] pour les informations générales sur l'ajout d'objets au document.


A DocumentObject is created with the {{incode|addObject()}} method of the document. However, in general, there is no need to create this object manually. It is usually better to create one of the sub-classes, for example, [[App_FeaturePython|App FeaturePython]], [[Part_Feature|Part Feature]], or [[Part_Part2DObject|Part Part2DObject]].
Un DocumentObject est créé avec la méthode {{incode|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/fr|App FeaturePython]], [[App_GeoFeature/fr|App GeoFeature]], [[Part_Feature/fr||Part Feature]], [[Part_Part2DObject/fr|Part Part2DObject]], etc.


{{Code|code=
{{Code|code=
Line 49: Line 61:
}}
}}



{{Userdocnavi/fr}}
{{Document_objects_navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

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"