App GeoFeature/fr: Difference between revisions

From FreeCAD Documentation
No edit summary
(Updating to match new version of source page)
Line 1: Line 1:
<languages/>
<languages/>
{{TOCright}}


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


<div class="mw-translate-fuzzy">
Un objet [[App_GeoFeature/fr|App GeoFeature]], ou officiellement {{incode|App::GeoFeature}}, est la classe de base de la plupart des objets qui afficheront des éléments géométriques dans la [[3D_view/fr|Vue 3D]] car il inclut la propriété {{PropertyData/fr|Placement}}.
Un objet [[App_GeoFeature/fr|App GeoFeature]], ou officiellement {{incode|App::GeoFeature}}, est la classe de base de la plupart des objets qui afficheront des éléments géométriques dans la [[3D_view/fr|Vue 3D]] car il inclut la propriété {{PropertyData/fr|Placement}}.
</div>


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


<div class="mw-translate-fuzzy">
{{Caption|Diagramme simplifié des relations entre les objets centraux du programme. La classe {{incode|App::GeoFeature}} est la classe de base de pratiquement tous les objets du logiciel qui affichera la géométrie dans le [[3D_view/fr|Vue 3D]].}}
{{Caption|Diagramme simplifié des relations entre les objets centraux du programme. La classe {{incode|App::GeoFeature}} est la classe de base de pratiquement tous les objets du logiciel qui affichera la géométrie dans le [[3D_view/fr|Vue 3D]].}}
</div>


==Utilisation==
==Utilisation==
Line 24: Line 29:
Lorsque vous créez cet objet dans [[Python/fr|Python]], au lieu de sous-classer {{incode|App::GeoFeature}}, vous devez sous-classer {{incode|App::GeometryPython}} car ce dernier inclut une valeur par défaut fournisseur de vues et attributs {{incode|Proxy}} pour l'objet lui-même et son fournisseur de vues. Voir [[App_GeoFeature/fr#Script|Script]].
Lorsque vous créez cet objet dans [[Python/fr|Python]], au lieu de sous-classer {{incode|App::GeoFeature}}, vous devez sous-classer {{incode|App::GeometryPython}} car ce dernier inclut une valeur par défaut fournisseur de vues et attributs {{incode|Proxy}} pour l'objet lui-même et son fournisseur de vues. Voir [[App_GeoFeature/fr#Script|Script]].


== Properties App GeoFeature ==
== 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.

<div class="mw-translate-fuzzy">
[[App_FeaturePython/fr|App FeaturePython]] (classe {{incode|App::FeaturePython}}) est dérivée de la classe de base [[App_DocumentObject/fr|App DocumentObject]] (classe {{incode|App::DocumentObject}}). Elle partage toutes les propriétés de cette dernière.
[[App_FeaturePython/fr|App FeaturePython]] (classe {{incode|App::FeaturePython}}) est dérivée de la classe de base [[App_DocumentObject/fr|App DocumentObject]] (classe {{incode|App::DocumentObject}}). Elle partage toutes les propriétés de cette dernière.
</div>


== Properties App GeometryPython ==
En plus des propriétés décrites dans [[App_DocumentObject/fr|App DocumentObject]], la GeoFeature possède la propriété {{PropertyData|Placement}} qui contrôle sa position dans la [[3D view/fr|vue 3D]].


Voir [[Property/fr|Propriétés]] pour tous les types de propriétés que les objets crées par script peuvent avoir.
See [[Property|Property]] for all property types that scripted objects can have.


The [[App_GeoFeature|App GeometryPython]] ({{incode|App::GeometryPython}} class) is derived from the basic [[App_GeoFeature|App GeoFeature]] ({{incode|App::GeoFeature}} class) and inherits all its properties. It also has several additional properties.

<div class="mw-translate-fuzzy">
Ce sont les propriétés disponibles dans l'[[property editor/fr|éditeur de propriétés]]. Les propriétés masquées peuvent être affichées en utilisant la commande {{MenuCommand|Show all}} dans le menu contextuel de l'[[property editor/fr|éditeur de propriétés]].
Ce sont les propriétés disponibles dans l'[[property editor/fr|éditeur de propriétés]]. Les propriétés masquées peuvent être affichées en utilisant la commande {{MenuCommand|Show all}} dans le menu contextuel de l'[[property editor/fr|éditeur de propriétés]].
</div>


=== Données ===
=== Données ===
Line 38: Line 51:
{{TitleProperty|Base}}
{{TitleProperty|Base}}


<div class="mw-translate-fuzzy">
* {{PropertyData/fr|Placement|Placement}}: la position de l'objet dans la [[3D view/fr|Vue 3D]]. Le placement est défini par un point {{incode|Base}} (vecteur) et un {{incode|Rotation}} (axe et angle). Voir [[Placement/fr|Positionnement]].
* {{PropertyData/fr|Placement|Placement}}: la position de l'objet dans la [[3D view/fr|Vue 3D]]. Le placement est défini par un point {{incode|Base}} (vecteur) et un {{incode|Rotation}} (axe et angle). Voir [[Placement/fr|Positionnement]].
** {{PropertyData/fr|Angle}}: l'angle de rotation autour de {{PropertyData|Axis}}. Par défaut {{value|0°}} (zéro degré).
** {{PropertyData/fr|Angle}}: l'angle de rotation autour de {{PropertyData|Axis}}. Par défaut {{value|0°}} (zéro degré).
Line 43: Line 57:
** {{PropertyData/fr|Position}}: un vecteur avec les coordonnées 3D du point de base. Par défaut, c'est l'origine {{value|(0, 0, 0)}}.
** {{PropertyData/fr|Position}}: un vecteur avec les coordonnées 3D du point de base. Par défaut, c'est l'origine {{value|(0, 0, 0)}}.
* {{PropertyData/fr|Label|String}}: le nom modifiable par l'utilisateur de cet objet, il s'agit d'une chaîne UTF8 arbitraire.
* {{PropertyData/fr|Label|String}}: le nom modifiable par l'utilisateur de cet objet, il s'agit d'une chaîne UTF8 arbitraire.
</div>

===== Propriétés cachées de Données =====

* {{PropertyData/fr|Proxy|PythonObject|Hidden}}: une classe personnalisée associée à cet objet. Cela n'existe que pour la version [[Python/fr|Python]]. Voir [[App_GeoFeature/fr#Script|Script]].
* {{PropertyData/fr|Label2|String|Hidden}}: une 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, c'est une chaîne vide {{value|""}}.
* {{PropertyData/fr|Expression Engine|ExpressionEngine|Hidden}}: une liste d'expressions. Par défaut, il est vide {{value|[]}}.
* {{PropertyData/fr|Visibility|Bool|Hidden}}: afficher ou non l'objet.


=== Vue ===
=== Vue ===


<div class="mw-translate-fuzzy">
{{TitleProperty|Base}}
{{TitleProperty|Base}}
* {{PropertyView/fr|Proxy|PythonObject|hidden}}: une classe [[viewprovider/fr|viewprovider]] personnalisée associée à cet objet. Cela n'existe que pour la version [[Python/fr|Python]]. Voir [[App_GeoFeature/fr#Script|Script]].
* {{PropertyView/fr|Proxy|PythonObject|hidden}}: une classe [[viewprovider/fr|viewprovider]] personnalisée associée à cet objet. Cela n'existe que pour la version [[Python/fr|Python]]. Voir [[App_GeoFeature/fr#Script|Script]].
</div>


<div class="mw-translate-fuzzy">
{{TitleProperty|Display Options}}
{{TitleProperty|Display Options}}
* {{PropertyView/fr|Bounding Box|Bool}}: mis à {{TRUE}}, l'objet affichera le cadre de délimitation dans la [[3D_view/fr|Vue 3D]].
* {{PropertyView/fr|Bounding Box|Bool}}: mis à {{TRUE}}, l'objet affichera le cadre de délimitation dans la [[3D_view/fr|Vue 3D]].
Line 61: Line 72:
* {{PropertyView/fr|Show In Tree|Bool}}: voir les informations dans [[App_FeaturePython/fr|App FeaturePython]].
* {{PropertyView/fr|Show In Tree|Bool}}: voir les informations dans [[App_FeaturePython/fr|App FeaturePython]].
* {{PropertyView/fr|Visibility|Bool}}: voir les informations dans [[App_FeaturePython/fr|App FeaturePython]].
* {{PropertyView/fr|Visibility|Bool}}: voir les informations dans [[App_FeaturePython/fr|App FeaturePython]].
</div>


<div class="mw-translate-fuzzy">
{{TitleProperty|Object Style}}
{{TitleProperty|Object Style}}
* {{PropertyView/fr|Shape Color|Color}}: un tuple de trois valeurs RVB à virgule flottante {{value|(r,g,b)}} pour définir la couleur des faces dans la [[3D_view/fr|Vue 3D]]. Par défaut, il s'agit de {{value|(0.8, 0.8, 0.8)}}, qui s'affiche sous la forme {{value|[204, 204, 204]}} sur la base 255, un <span style="background-color:#ccc; width:3em; height:12pt; padding: 2px 1em 2px;"> light gray </span>.
* {{PropertyView/fr|Shape Color|Color}}: un tuple de trois valeurs RVB à virgule flottante {{value|(r,g,b)}} pour définir la couleur des faces dans la [[3D_view/fr|Vue 3D]]. Par défaut, il s'agit de {{value|(0.8, 0.8, 0.8)}}, qui s'affiche sous la forme {{value|[204, 204, 204]}} sur la base 255, un <span style="background-color:#ccc; width:3em; height:12pt; padding: 2px 1em 2px;"> light gray </span>.
* {{PropertyView/fr|Shape Material|Material|Hidden}}: un [[App_Material/fr|App Material]] associé à cet objet. Par defaut, vide.
* {{PropertyView/fr|Shape Material|Material|Hidden}}: un [[App_Material/fr|App Material]] associé à cet objet. Par defaut, vide.
* {{PropertyView/fr|Transparency|Percent}}: un entier de {{value|0}} à {{value|100}} qui détermine le niveau de transparence des faces dans la [[3D_view/fr|Vue 3D]]. Une valeur de {{value|100}} indique des faces complètement invisibles. Les faces sont invisibles mais elles peuvent toujours être sélectionnées tant que {{PropertyView|Selectable}} est {{TRUE}}.
* {{PropertyView/fr|Transparency|Percent}}: un entier de {{value|0}} à {{value|100}} qui détermine le niveau de transparence des faces dans la [[3D_view/fr|Vue 3D]]. Une valeur de {{value|100}} indique des faces complètement invisibles. Les faces sont invisibles mais elles peuvent toujours être sélectionnées tant que {{PropertyView|Selectable}} est {{TRUE}}.
</div>


<div class="mw-translate-fuzzy">
{{TitleProperty|Selection}}
{{TitleProperty|Selection}}
* {{PropertyView/fr|On Top When Selected|Enumeration}}: voir les informations dans [[App_FeaturePython/fr|App FeaturePython]].
* {{PropertyView/fr|On Top When Selected|Enumeration}}: voir les informations dans [[App_FeaturePython/fr|App FeaturePython]].
* {{PropertyView/fr|Selectable|Bool}}: s'il est {{TRUE}}, l'objet peut être sélectionné avec le pointeur dans la [[3D_view/fr|Vue 3D]]. Sinon, l'objet ne peut pas être sélectionné tant que cette option n'est pas définie sur {{TRUE}}.
* {{PropertyView/fr|Selectable|Bool}}: s'il est {{TRUE}}, l'objet peut être sélectionné avec le pointeur dans la [[3D_view/fr|Vue 3D]]. Sinon, l'objet ne peut pas être sélectionné tant que cette option n'est pas définie sur {{TRUE}}.
* {{PropertyView/fr|Selection Style|Enumeration}}: voir les informations dans [[App_FeaturePython/fr|App FeaturePython]].
* {{PropertyView/fr|Selection Style|Enumeration}}: voir les informations dans [[App_FeaturePython/fr|App FeaturePython]].
</div>


== Script ==
== Script ==


<div class="mw-translate-fuzzy">
{{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]].
</div>


<div class="mw-translate-fuzzy">
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 programme.
</div>


<div class="mw-translate-fuzzy">
Un GeoFeature est créé avec la méthode {{incode|addObject()}} du document. Si vous souhaitez créer un objet avec une 2D ou 3D [[Part_TopoShape/fr|forme topologique]], il peut être préférable de créer l'une des sous-classes spécialisées pour la manipulation des formes, par exemple, [[Part_Feature/fr|Part Feature]] ou [[Part_Part2DObject/fr|Part Part2DObject]].
Un GeoFeature est créé avec la méthode {{incode|addObject()}} du document. Si vous souhaitez créer un objet avec une 2D ou 3D [[Part_TopoShape/fr|forme topologique]], il peut être préférable de créer l'une des sous-classes spécialisées pour la manipulation des formes, par exemple, [[Part_Feature/fr|Part Feature]] ou [[Part_Part2DObject/fr|Part Part2DObject]].
</div>


{{Code|code=
{{Code|code=
Line 88: Line 110:
}}
}}


<div class="mw-translate-fuzzy">
Cette {{incode|App::GeoFeature}} de base n'a pas de fournisseur de vue par défaut donc aucune icône ne sera affichée dans la [[tree view/fr|vue arborescente]] et aucune propriété {{MenuCommand|View}} ne sera disponible.
Cette {{incode|App::GeoFeature}} de base n'a pas de fournisseur de vue par défaut donc aucune icône ne sera affichée dans la [[tree view/fr|vue arborescente]] et aucune propriété {{MenuCommand|View}} ne sera disponible.
</div>


<div class="mw-translate-fuzzy">
Par conséquent, pour les scripts [[Python/fr|Python]], sous-classe, vous devriez créer l'objet {{incode|Part::GeometryPython}}.
Par conséquent, pour les scripts [[Python/fr|Python]], sous-classe, vous devriez créer l'objet {{incode|Part::GeometryPython}}.
</div>


{{Code|code=
{{Code|code=
Line 100: Line 126:
}}
}}


Par exemple, l'élément [[Arch_BuildingPart/fr|Arch Partie de bâtiment]] de [[Arch_Workbench/fr|Atelier Arch]] est un objet {{incode|App::GeometryPython}} avec une icône personnalisée.


{{Document objects navi{{#translation:}}}}
{{Document_objects_navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

Revision as of 07:22, 22 February 2022

Introduction

Un objet App GeoFeature, ou officiellement App::GeoFeature, est la classe de base de la plupart des objets qui afficheront des éléments géométriques dans la Vue 3D car il inclut la propriété DonnéesPlacement.

Diagramme simplifié des relations entre les objets centraux du programme. La classe App::GeoFeature est la classe de base de pratiquement tous les objets du logiciel qui affichera la géométrie dans le Vue 3D.

Utilisation

App GeoFeature est un objet interne, il ne peut donc pas être créé à partir de l'interface graphique. Il n'est généralement pas destiné à être utilisé directement, mais il peut plutôt être sous-classé pour obtenir un objet nu qui n'a qu'une propriété DonnéesPlacement de base pour définir sa position dans la vue 3D.

Certains des objets dérivés les plus importants sont les suivants:

Lorsque vous créez cet objet dans Python, au lieu de sous-classer App::GeoFeature, vous devez sous-classer App::GeometryPython car ce dernier inclut une valeur par défaut fournisseur de vues et attributs Proxy pour l'objet lui-même et son fournisseur de vues. Voir Script.

Properties App GeoFeature

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

App FeaturePython (classe App::FeaturePython) est dérivée de la classe de base App DocumentObject (classe App::DocumentObject). Elle partage toutes les propriétés de cette dernière.

Properties App GeometryPython

See Property for all property types that scripted objects can have.

The App GeometryPython (App::GeometryPython class) is derived from the basic App GeoFeature (App::GeoFeature class) and inherits all its properties. It also has several additional properties.

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 Show all dans le menu contextuel de l'éditeur de propriétés.

Données

Base

  • DonnéesPlacement (Placement): la position de l'objet dans la Vue 3D. Le placement est défini par un point Base (vecteur) et un Rotation (axe et angle). Voir Positionnement.
    • DonnéesAngle: l'angle de rotation autour de DonnéesAxis. Par défaut (zéro degré).
    • DonnéesAxis: le vecteur unitaire qui définit l'axe de rotation pour le placement. Chaque composant est une valeur à virgule flottante entre 0 et 1. Si une valeur est supérieure à 1, le vecteur est normalisé de sorte que l'amplitude du vecteur est 1. Par défaut, il s'agit de l'axe Z positif, (0, 0, 1).
    • DonnéesPosition: un vecteur avec les coordonnées 3D du point de base. Par défaut, c'est l'origine (0, 0, 0).
  • DonnéesLabel (String): le nom modifiable par l'utilisateur de cet objet, il s'agit d'une chaîne UTF8 arbitraire.

Vue

Base

  • Vue (caché)Proxy (PythonObject): une classe viewprovider personnalisée associée à cet objet. Cela n'existe que pour la version Python. Voir Script.

Display Options

  • VueBounding Box (Bool): mis à true, l'objet affichera le cadre de délimitation dans la Vue 3D.
  • VueDisplay Mode (Enumeration): voir les informations dans App FeaturePython.
  • VueShow In Tree (Bool): voir les informations dans App FeaturePython.
  • VueVisibility (Bool): voir les informations dans App FeaturePython.

Object Style

  • VueShape Color (Color): un tuple de trois valeurs RVB à virgule flottante (r,g,b) pour définir la couleur des faces dans la Vue 3D. Par défaut, il s'agit de (0.8, 0.8, 0.8), qui s'affiche sous la forme [204, 204, 204] sur la base 255, un light gray .
  • Vue (caché)Shape Material (Material): un App Material associé à cet objet. Par defaut, vide.
  • VueTransparency (Percent): un entier de 0 à 100 qui détermine le niveau de transparence des faces dans la Vue 3D. Une valeur de 100 indique des faces complètement invisibles. Les faces sont invisibles mais elles peuvent toujours être sélectionnées tant que VueSelectable est true.

Selection

  • VueOn Top When Selected (Enumeration): voir les informations dans App FeaturePython.
  • VueSelectable (Bool): s'il est true, l'objet peut être sélectionné avec le pointeur dans la Vue 3D. Sinon, l'objet ne peut pas être sélectionné tant que cette option n'est pas définie sur true.
  • VueSelection Style (Enumeration): voir les informations dans App FeaturePython.

Script

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

Un GeoFeature est créé avec la méthode addObject() du document. Si vous souhaitez créer un objet avec une 2D ou 3D forme topologique, il peut être préférable de créer l'une des sous-classes spécialisées pour la manipulation des formes, par exemple, Part Feature ou Part Part2DObject.

import FreeCAD as App

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

Cette App::GeoFeature de base n'a pas de fournisseur de vue par défaut donc aucune icône ne sera affichée dans la vue arborescente et aucune propriété View ne sera disponible.

Par conséquent, pour les scripts Python, sous-classe, vous devriez créer l'objet Part::GeometryPython.

import FreeCAD as App

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