App GeoFeature/fr: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
Line 56: Line 56:
* {{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]].


{{TitleProperty|Display Options}}
<div class="mw-translate-fuzzy">
* {{PropertyView/fr|Bounding Box|Bool}}: s'il s'agit de {{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]].
* {{PropertyView/fr|Display Mode|Enumeration}}: il est vide par défaut.
* {{PropertyView/fr|Display Mode|Enumeration}}: voir les informations dans [[App_FeaturePython/fr|App FeaturePython]].
* {{PropertyView/fr|On Top When Selected|Enumeration}}: {{value|Disabled}} (par défaut), {{value|Enabled}}, {{value|Object}}, {{value|Element}}.
* {{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|Selectable|Bool}}: s'il s'agit de {{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}}: {{value|Shape}} (par défaut), {{value|BoundBox}}. Si l'option est {{value|Shape}}, la forme entière (sommets, arêtes et faces) sera mise en surbrillance dans la [[3D view/fr|Vue 3D]]; s'il s'agit de {{value|BoundBox}}, seul le cadre de sélection sera mis en surbrillance.
* {{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;"> gris clair </span>.
* {{PropertyView/fr|Show In Tree|Bool}}: s'il s'agit de {{TRUE}}, l'objet apparaît dans la [[tree view/fr|vue arborescente]]. Sinon, il est défini comme invisible.
* {{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 peuvent toujours être sélectionnées tant que {{PropertyView|Selectable}} est {{TRUE}}.
* {{PropertyView/fr|Visibility|Bool}}: s'il s'agit de {{TRUE}}, l'objet apparaît dans la [[3D view/fr|Vue 3D]] sinon invisible. Par défaut, cette propriété peut être activée et désactivée en appuyant sur la barre {{KEY|Espace}} du clavier.
</div>


{{TitleProperty|Object Style}}
{{TitleProperty|Object Style}}

Revision as of 07:51, 17 September 2020

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.

Propriétés

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.

En plus des propriétés décrites dans App DocumentObject, la GeoFeature possède la propriété DonnéesPlacement qui contrôle sa position dans la vue 3D.

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 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.
Propriétés cachées de Données
  • Données (caché)Proxy (PythonObject): une classe personnalisée associée à cet objet. Cela n'existe que pour la version Python. Voir Script.
  • Données (caché)Label2 (String): 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 "".
  • Données (caché)Expression Engine (ExpressionEngine): une liste d'expressions. Par défaut, il est vide [].
  • Données (caché)Visibility (Bool): afficher ou non l'objet.

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): a tuple of three floating point RGB values (r,g,b) to define the color of the faces in the 3D view; by default it is (0.8, 0.8, 0.8), which is displayed as [204, 204, 204] on base 255, a light gray .
  • Vue (Hidden)Shape Material (Material): an App Material associated with this object. By default it is empty.
  • VueTransparency (Percent): an integer from 0 to 100 that determines the level of transparency of the faces in the 3D view. A value of 100 indicates completely invisible faces; the faces are invisible but they can still be picked as long as VueSelectable is true.

Selection

  • VueOn Top When Selected (Enumeration): see the information in App FeaturePython.
  • VueSelectable (Bool): if it is true, the object can be picked with the pointer in the 3D view. Otherwise, the object cannot be selected until this option is set to true.
  • VueSelection Style (Enumeration): see the information in App FeaturePython.

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 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"

Par exemple, l'élément Arch Partie de bâtiment de Atelier Arch est un objet App::GeometryPython avec une icône personnalisée.