Éditeur de propriétés

From FreeCAD Documentation
Revision as of 12:21, 15 December 2019 by Mario52 (talk | contribs)

Description

L'éditeur de propriétés apparaît lorsque l'onglet Model de la vue combinée est actif dans l'interface; il permet de gérer les propriétés exposées publiquement des objets du document.

Généralement, l'éditeur de propriétés est conçu pour traiter un seul objet à la fois. Les valeurs affichées dans l'éditeur de propriétés appartiennent à l'objet sélectionné du document actif. Malgré cela, certaines propriétés, telles que les couleurs, peuvent être définies pour plusieurs objets sélectionnés. Si aucun élément n'est sélectionné, l'éditeur de propriétés sera vide.

Toutes les propriétés ne peuvent pas toujours être modifiées. en fonction du statut spécifique de la propriété, certains d'entre eux seront invisibles (non répertoriés) ou en lecture seule (non modifiables).

Éditeur de propriétés vide, quand aucun objet n'est sélectionné.

Définition d'une propriété

Une propriété est une information, telle qu'un nombre ou une chaîne de texte, attachée à un document FreeCAD ou à un objet d'un document. Les propriétés peuvent être visualisées et modifiées avec l'éditeur de propriétés.

Les objets scriptés personnalisés peuvent utiliser n'importe quel type de propriété défini dans le système de base. Voir la liste complète dans Propriétés.

Certains des types de propriétés les plus couramment utilisés sont :

App::PropertyBool
App::PropertyFloat
App::PropertyAngle
App::PropertyDistance
App::PropertyInteger
App::PropertyString
App::PropertyMatrix
App::PropertyVector
App::PropertyPlacement

Différents objets peuvent avoir différents types de propriétés. Cependant, de nombreux objets ont les mêmes types car ils sont dérivés de la même classe interne. Par exemple, la plupart des objets décrivant des formes géométriques (lignes, cercles, rectangles, corps solides, pièces importées, etc.) ont la propriété "Placement" qui définit leur position dans la Vue 3D.

Vue et Propriétés des données

Il existe deux classes de propriétés d'entités accessibles via des onglets dans l'éditeur de propriétés :

  • View propriétés liées à l'aspect "visuel" de l'objet. Les propriétés View sont liées à l'attribut ViewProvider (ViewObject) de l'objet et ne sont accessibles que lorsque l'interface graphique est chargée. Ils ne sont pas accessibles lorsque vous utilisez FreeCAD en mode console ou en tant que bibliothèque sans tête.
  • Data propriétés, liées aux paramètres "physiques" de l'objet. Les propriétés Data définissent les caractéristiques essentielles de l'objet. Elles existent à tout moment, même lorsque FreeCAD est utilisé en mode console ou en tant que bibliothèque. Cela signifie que si vous chargez un document en mode console, vous pouvez modifier le rayon d'un cercle ou la longueur d'une ligne, même si vous ne pouvez pas voir le résultat à l'écran.

Pour cette raison, les propriétés Data sont considérées comme plus "importantes", car elles définissent réellement la géométrie d'une forme. D'autre part, les propriétés View sont moins importantes car elles affectent uniquement l'apparence superficielle de la géométrie. Par exemple, un cercle de 10 mm de rayon est différent d'un cercle de 5 mm de rayon ; la couleur des cercles (propriété View) n'affecte pas leurs formes, mais le rayon (propriété Data). Dans de nombreux cas dans cette documentation, le mot "Property" désigne une "propriété de données" et non "View property".

Propriétés de base

L'objet scripté le plus élémentaire n'affiche aucune propriété Data dans l'éditeur de propriétés, à l'exception de son attribut Label. Le Label est une chaîne éditable par l'utilisateur qui identifie l'objet dans la l'arborescence. D'autre part, le Nom d'un objet est un attribut interne qui est affecté à l'objet au moment de sa création. cet attribut est en lecture seule, il ne peut donc pas être modifié et il n'est pas non plus affiché dans l'éditeur de propriétés.

Un objet paramétrique de base est créé comme suit

obj = App.ActiveDocument.addObject("App::FeaturePython", "App__FeaturePython")
obj.Label = "Plain_object"
print(obj.Name)
print(obj.Label)

Onglets Vue et Données de l’éditeur de propriétés, pour une basique "App::FeaturePython" d'un objet scripté.

La plupart des objets géométriques pouvant être créés et affichés dans la Vue 3D sont dérivés d'un Part::Feature. Voir Part Feature pour les propriétés les plus élémentaires de ces objets.

Pour la géométrie 2D, la plupart des objets sont dérivés de Part::Part2DObject (itself derived from Part::Feature) qui est la base du Sketchers, et de Draft éléments. Voir Part Part2DObject pour les propriétés les plus élémentaires de ces objets.

Actions

Les actions dans la vue de la propriété ont été implémentées dans 0.19.

Un clic droit dans un espace vide de la vue ou avec une propriété sélectionnée ne montre qu'une seule commande:

  • Show all: s'il est actif, en plus des propriétés standard qui apparaissent déjà, il affiche toutes les propriétés masquées des données et de vues dans leurs onglets respectifs.
    • Données: "Proxy", "Label2", "Expression Engine", and "Visibility".
    • Voir: "Proxy".

Lorsque l'option Show all est active et qu'une propriété est sélectionnée, d'autres actions sont disponibles avec un deuxième clic droit:

  • Show all: désactive la commande Show all, masquant ainsi les propriétés supplémentaires de données et d'affichage.
  • Add Property: ajoute une propriété dynamique à l'objet. cela fonctionne à la fois avec C++ defined objects, et Python objets scriptés.
  • Expression: appelle l'éditeur de formule, qui permet d'utiliser expressions dans la valeur de la propriété.
  • Hidden: si actif, définit la propriété comme masquée, ce qui signifie qu'elle ne sera affichée que si Show all est actif.
  • Output: s'il est actif, définit la propriété comme sortie.
  • NoRecompute: si actif, définit la propriété comme non recalculée lorsque le document est recalculé; Ceci est utile lorsqu'une propriété ne doit pas être affectée par d'autres mises à jour.
  • ReadOnly: si actif, définit la propriété pour être en lecture seule; il ne sera plus éditable jusqu'à ce que ce commutateur soit désactivé.
  • Transient: si actif, définit la propriété sur transitoire.
  • Touched: s'il est actif, il est touché et prêt à être recalculé.
  • EvalOnRestore: s'il est actif, il est évalué lors de la restauration du document.

Exemple de propriétés d'un objet PartDesign

Dans cette section, nous montrons quelques propriétés communes qui sont visibles pour un Corps PartDesign et une Fonction PartDesign. Les propriétés spécifiques d'un objet peuvent être trouvées dans la page de documentation spécifique de cet objet.

Vue

La plupart de ces propriétés sont héritées de l'objet de base Part Feature.

Base

  • VueAngular Deflection: c'est une autre façon de spécifier la finesse de génération du maillage pour le rendu à l'écran ou lors de l'exportation. La valeur par défaut est 28,5 degrés, soit 0,5 radians. Plus la valeur est petite, plus l'apparence sera lisse dans la Vue 3D, et plus le maillage sera exporté sera fin.
  • VueBounding Box: indique si une boîte montrant l'étendue globale de l'objet est affichée.
  • VueDeviation: définit la précision de la représentation polygonale du modèle dans la vue 3D (pavage). Des valeurs plus faibles indiquent une meilleure qualité. La valeur est en pourcentage de la taille de l'objet.
  • VueDisplay Mode: mode d'affichage de l'ensemble du corps, Flat lines (défaut), Shaded, Wireframe, Points.
  • VueDisplay Mode Body: mode d'affichage du Tip du corps, Through (default), Tip.
  • VueDraw Style: Solid, Dashed, Dotted, Dashdot; définit le style des bords dans la vue 3D.
  • VueLighting: One side, Two side (default).
  • VueLine Color: la couleur RVB des bords, elle est par défaut (25, 25, 25).
  • VueLine Width: l'épaisseur des bords, elle est par défaut 2 pixels.
  • VueOn Top When Selected: Disabled, Enabled, Object, Element.
  • VuePoint Color: the RGB color of the vertices, it defaults to (25, 25, 25).
  • VuePoint Size: la taille des sommets, il est par défaut 2 pixels.
  • VueSelectable: si l'objet est sélectionnable ou non.
  • VueSelection Style: Shape, BoundBox.
  • VueShape Color: la couleur RVB de la forme, elle est par défaut (204, 204, 204).
  • VueShow In Tree: s'il est réglé sur true, l'objet apparaît dans l'arborescence. Sinon, il est défini comme invisible.
  • VueTransparency: le degré de transparence de 0 (défaut) à 100.
  • VueVisibility: si l'objet est visible dans la Vue 3D ou non. Basculez avec la barre Espace du clavier.

Données

Dans ce cas, nous observons les propriétés de la fonction PartDesign Revolution.

Base

  • DonnéesLabel: L'étiquette est le nom donné à l'objet (fonctionnalité) par l'utilisateur. Ce nom peut être modifié à volonté.

Part Design

  • DonnéesRefine: s'il faut affiner la fusion effectuée avec d'autres objets.

Revolution

  • DonnéesBase: le point dans l'espace qui spécifie le centre de la révolution. Il ne peut pas être modifié directement, uniquement lors de la modification de la fonction.
  • DonnéesAxis: l'axe autour duquel la révolution sera effectuée. Il ne peut pas être modifié directement, uniquement lors de la modification de la fonction.
  • DonnéesAngle: l'angle qui spécifie la proportion de rotation de l'élément de base. Par défaut, c'est 360 deg, mais cela peut être n'importe quelle fraction de cela.

Sketch Based

  • DonnéesMidplane: si l'objet de base est un Sketch, lorsque cette propriété est true, il effectuera la révolution avec l'esquisse servant de plan de symétrie. Cela est visible si l'DonnéesAngle est différent de 360 deg.

Script

See also: FreeCAD Script de Base.

Voir la page objets scriptés pour obtenir des informations complètes sur l'ajout de propriétés aux objets définis via un script Python.

La plupart des propriétés visibles dans l'éditeur de propriétés sont accessibles depuis la console Python. Dans la plupart des cas, ces propriétés ne sont que des attributs de la classe qui définit l'objet sélectionné. Par exemple, si l'éditeur de propriétés affiche la propriété DonnéesGroup, cela signifie que l'objet a l'attribut Group.

print(obj.Group)

Ces attributs (properties) sont ajoutés avec la méthode addProperty de l'objet de base. Il est nécessaire de spécifier le type de propriété, et son nom.

obj.addProperty("App::PropertyFloat", "Custom")
print(obj.Custom)

Les propriétés suivent la convention CapitalCamelCase ou PascalCase, ce qui signifie que chaque mot commence par une majuscule et qu'il n'y a pas de soulignement. Lorsque l'éditeur de propriétés affiche ces noms, il laisse un espace entre chaque lettre majuscule, ce qui facilite la lecture.

obj.addProperty("App::PropertyDistance", "CustomCamelProperty")
obj.CustomCamelProperty = 1000
print(obj.CustomCamelProperty)

Éditeur de propriétés affichant les propriétés de données d'un Corps PartDesign, avec deux propriétés supplémentaires, "Personnalisées" et "Propriété Camel personnalisée".

De la même manière, les propriétés View sont ajoutées, non pas à l'objet de base, mais à son ViewObject. Ensuite, il s'ensuit que des propriétés comme VueAngular Deflection, VueBounding Box, VueDisplay Mode, VueDisplay Mode Body, VueLine Color, et d'autres, peuvent être examinés et modifiés à partir de la console Python.

print(obj.ViewObject.AngularDeflection)
print(obj.ViewObject.BoundingBox)
print(obj.ViewObject.DisplayMode)
print(obj.ViewObject.DisplayModeBody)
print(obj.ViewObject.LineColor)

Template:Interface/fr