Éditeur de propriétés

From FreeCAD Documentation
Jump to navigation Jump to search
This page is a translated version of the page Property editor and the translation is 100% complete.

Description

L'éditeur de propriétés apparaît lorsque l'onglet Modèle 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).

FreeCAD Property editor empty.png

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

Types de propriétés

Une propriété est une information comme un numéro ou une chaîne de texte qui est rattachée à un document Freecad ou à un objet dans le document.

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.

Propriétés Vue et Données

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

  • Les propriétés de Vue liées à l'aspect "visuel" de l'objet. Les propriétés de Vue 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.
  • Les propriétés de Données, liées aux paramètres "physiques" de l'objet. Les propriétés de Données 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 de Données 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 de Vue 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é de Données). Dans de nombreux cas dans cette documentation, le mot "Property" désigne une "propriété de données" et non "propriété de vue".

Propriétés de base

Voir aussi : Objet name

L'objet scripté le plus élémentaire n'affiche aucune propriété de Données 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 vue en arborescence. D'autre part, le Name 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)

FreeCAD Property editor View basic.png FreeCAD Property editor Data basic.png

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

La plupart des objets géométriques qui peuvent être créés et affichés dans la Vue 3D sont dérivés d'un Part::Feature. Voir Part Feature pour connaître les propriétés de base de ces objets.

Pour la géométrie 2D, la plupart des objets sont dérivés de Part::Part2DObject (lui-même dérivé de Part::Feature) qui est la base des esquisses, et des Draft éléments. Voir Part Part2DObject pour les propriétés les plus élémentaires de ces objets.

Actions

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

  • Tout afficher : si coché, 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", et "Visibility".
    • Vue : "Proxy".

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

  • Tout afficher : désactive la commande Tout afficher, masquant ainsi les propriétés supplémentaires de données et d'affichage.
  • Ajouter une propriété : ajoute une propriété dynamique à l'objet ; cela fonctionne à la fois avec les objets définis en C++ et les objets scriptés en Python.
  • Expression... : lance l'éditeur de formule, qui permet d'utiliser expressions dans la valeur de la propriété.
  • Hidden : si coché, définit la propriété comme masquée, ce qui signifie qu'elle ne sera affichée dans l'éditeur de propriétés que si Show all est actif.
  • Output : si coché, définit la propriété comme sortie.
  • NoRecompute : si coché, 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 coché, définit la propriété en lecture seule. Elle ne sera plus modifiable dans l'éditeur de propriétés jusqu'à ce que ce paramètre soit désactivé. L'entrée de menu Expression... n'est plus disponible. Remarque : il peut encore être possible de modifier la propriété via un dialogue qui met à jour la propriété.
  • Transient : si coché, définit la propriété sur transitoire. La valeur d'une propriété transitoire n'est pas enregistrée dans un fichier. Lors de l'ouverture d'un fichier, elle est instanciée avec sa valeur par défaut.
  • Touched : si coché, il est touché et prêt à être recalculé.
  • EvalOnRestore : si coché, 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 PartDesign Corps et une PartDesign Fonction. 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.

FreeCAD Property editor View.png

Base

  • VueAngular Deflection : 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 englobante 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 de la fonction Tip du corps, Through (défaut), Tip.
  • VueDraw Style : Solid, Dashed, Dotted, Dashdot. Définit le style des arêtes dans la vue 3D.
  • VueLighting : One side, Two side (défaut).
  • VueLine Color : couleur RVB des arêtes, par défaut (25, 25, 25).
  • VueLine Width : l'épaisseur des arêtes, par défaut 2 pixels.
  • VueOn Top When Selected : Disabled, Enabled, Object, Element.
  • VuePoint Color: couleur RGB des sommets, par défaut (25, 25, 25).
  • VuePoint Size : taille des sommets, par défaut 2 pixels.
  • VueSelectable : si l'objet est sélectionnable ou non.
  • VueSelection Style : Shape, BoundBox.
  • VueShape Color : couleur RVB de la forme, par défaut (204, 204, 204).
  • VueShow In Tree : si mis à true, l'objet apparaît dans la vue en arborescence. Sinon, il est défini comme invisible.
  • VueTransparency : 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 Révolution.

FreeCAD Property editor Data.png

Base

  • DonnéesLabel : nom défini par l'utilisateur donné à l'objet, qui peut être modifié à volonté.

Part Design

  • DonnéesRefine : s'il faut affiner l'union faite avec d'autres objets.

Revolution

  • DonnéesBase : 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 : 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 : angle qui spécifie la proportion de rotation de l'élément de base. Par défaut 360 deg mais cela peut être n'importe quelle fraction de cela.

Sketch Based

  • DonnéesMidplane : si l'objet de base est une esquisse, lorsque cette propriété est mise à true, il effectuera la révolution avec l'esquisse servant de plan de symétrie. Cela est visible si DonnéesAngle est différent de 360 deg.
  • DonnéesReversed : par défaut mis à true. Permet d'effectuer la révolution dans une direction ou l'autre.

Script

Voir aussi : 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 (propriétés) sont ajoutés avec la méthode addProperty de l'objet de base. Au minimum, 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)

FreeCAD Property editor Custom.png

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

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)

Toutes les propriétés publiques de l'objet et de son fournisseur de vues, sont contenues dans l'attribut PropertiesList correspondant.

print(obj.PropertiesList)
print(obj.ViewObject.PropertiesList)