Property editor/fr: Difference between revisions

From FreeCAD Documentation
No edit summary
No edit summary
Tag: Manual revert
 
(30 intermediate revisions by 2 users not shown)
Line 16: Line 16:


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).
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).

{{TOCright}}
{{TOCright}}


Line 23: Line 24:


<span id="Property_types"></span>
<span id="Property_types"></span>
==Types de propriétés==
== Définition d'une propriété ==


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.
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.
Line 30: Line 31:


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

{{Code|code=
{{Code|code=
App::PropertyBool
App::PropertyBool
Line 42: Line 44:
}}
}}


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 [[3D view/fr|Vue 3D]].
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 [[3D view/fr|vue 3D]].


<span id="View_and_Data_properties"></span>
<span id="View_and_Data_properties"></span>
== Vue et Propriétés des données ==
== 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 :
Il existe deux classes de propriétés d'entités accessibles via des onglets dans l'éditeur de propriétés :
Line 56: Line 58:
=== Propriétés de base ===
=== Propriétés de base ===


{{Emphasis|Voir aussi: [[Object_name/fr|Objet name]]}}
{{Emphasis|Voir aussi : [[Object_name/fr|Objet name]]}}


L'objet [[scripted objects/fr|scripté]] le plus élémentaire n'affiche aucune propriété de {{MenuCommand|Données}} dans l'éditeur de propriétés, à l'exception de son attribut {{incode|Label}}. Le {{incode|Label}} est une chaîne éditable par l'utilisateur qui identifie l'objet dans la [[Tree_view/fr|vue en arborescence]]. D'autre part, le {{incode|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.
L'objet [[scripted objects/fr|scripté]] le plus élémentaire n'affiche aucune propriété de {{MenuCommand|Données}} dans l'éditeur de propriétés, à l'exception de son attribut {{incode|Label}}. Le {{incode|Label}} est une chaîne éditable par l'utilisateur qui identifie l'objet dans la [[Tree_view/fr|vue en arborescence]]. D'autre part, le {{incode|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.
Line 71: Line 73:
[[File:FreeCAD_Property_editor_View_basic.png|x264px]] [[File:FreeCAD_Property_editor_Data_basic.png|x264px]]
[[File:FreeCAD_Property_editor_View_basic.png|x264px]] [[File:FreeCAD_Property_editor_Data_basic.png|x264px]]


{{Caption|Onglets Vue et Données de l’éditeur de propriétés, pour une basique "App::FeaturePython" d'un objet scripté.}}
{{Caption|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 pouvant être créés et affichés dans la [[3D view/fr|Vue 3D]] sont dérivés d'un {{incode|Part::Feature}}. Voir [[Part Feature/fr|Part Feature]] pour les propriétés les plus élémentaires de ces objets.
La plupart des objets géométriques qui peuvent être créés et affichés dans la [[3D_view/fr|Vue 3D]] sont dérivés d'un {{incode|Part::Feature}}. Voir [[Part_Feature/fr|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/fr|{{incode|Part::Part2DObject}}]] (lui-même dérivé de [[Part Feature/fr|{{incode|Part::Feature}}]]) qui est la base des [[Sketch/fr|esquisses]], et des [[Draft_Workbench/fr|Draft éléments]]. Voir [[Part_Part2DObject/fr|Part Part2DObject]] 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/fr|{{incode|Part::Part2DObject}}]] (lui-même dérivé de [[Part Feature/fr|{{incode|Part::Feature}}]]) qui est la base des [[Sketch/fr|esquisses]], et des [[Draft_Workbench/fr|Draft éléments]]. Voir [[Part_Part2DObject/fr|Part Part2DObject]] pour les propriétés les plus élémentaires de ces objets.
Line 79: Line 81:
<span id="Actions"></span>
<span id="Actions"></span>
== Actions ==
== Actions ==

{{Version/fr|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 :
Un clic droit dans un espace vide de la vue ou avec une propriété sélectionnée ne montre qu'une seule commande :
Line 87: Line 87:
** Vue : "Proxy".
** Vue : "Proxy".


Lorsque l'option {{MenuCommand|Show all}} est active et qu'une propriété est sélectionnée, d'autres actions sont disponibles avec un deuxième clic droit:
Lorsque l'option {{MenuCommand|Tout afficher}} est active et qu'une propriété est sélectionnée, d'autres actions sont disponibles avec un deuxième clic droit :
* {{MenuCommand|Show all}}: désactive la commande {{MenuCommand|Show all}}, masquant ainsi les propriétés supplémentaires de données et d'affichage.
* {{MenuCommand|Tout afficher}} : désactive la commande {{MenuCommand|Tout afficher}}, masquant ainsi les propriétés supplémentaires de données et d'affichage.
* {{MenuCommand|Add Property}}: ajoute une propriété dynamique à l'objet. cela fonctionne à la fois avec C++ defined objects, et Python [[scripted objects/fr|objets scriptés]].
* {{MenuCommand|Ajouter une propriété}} : ajoute une propriété dynamique à l'objet ; cela fonctionne à la fois avec les objets définis en C++ et les [[Scripted_objects/fr|objets scriptés]] en Python.
* {{MenuCommand|Expression...}}: appelle l'éditeur de formule, qui permet d'utiliser [[Expressions/fr|expressions]] dans la valeur de la propriété.
* {{MenuCommand|Expression...}} : lance l'éditeur de formule, qui permet d'utiliser [[Expressions/fr|expressions]] dans la valeur de la propriété.
* {{MenuCommand|Hidden}}: si actif, 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 {{MenuCommand|Show all}} est actif.
* {{MenuCommand|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 {{MenuCommand|Show all}} est actif.
* {{MenuCommand|Output}}: s'il est actif, définit la propriété comme sortie.
* {{MenuCommand|Output}} : si coché, définit la propriété comme sortie.
* {{MenuCommand|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.
* {{MenuCommand|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.
* {{MenuCommand|ReadOnly}}: si actif, 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 {{MenuCommand|Expression...}} n'est plus disponible. {{Emphasis|Remarque:}} Il peut encore être possible de modifier la propriété via un dialogue qui met à jour la propriété.
* {{MenuCommand|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 {{MenuCommand|Expression...}} n'est plus disponible. {{Emphasis|Remarque :}} il peut encore être possible de modifier la propriété via un dialogue qui met à jour la propriété.
* {{MenuCommand|Transient}}: si actif, 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.
* {{MenuCommand|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.
* {{MenuCommand|Touched}}: s'il est actif, il est touché et prêt à être recalculé.
* {{MenuCommand|Touched}} : si coché, il est touché et prêt à être recalculé.
* {{MenuCommand|EvalOnRestore}}: s'il est actif, il est évalué lors de la restauration du document.
* {{MenuCommand|EvalOnRestore}} : si coché, il est évalué lors de la restauration du document.


<span id="Example_of_the_properties_of_a_PartDesign_object"></span>
<span id="Example_of_the_properties_of_a_PartDesign_object"></span>
Line 109: Line 109:
La plupart de ces propriétés sont héritées de l'objet de base [[Part_Feature/fr|Part Feature]].
La plupart de ces propriétés sont héritées de l'objet de base [[Part_Feature/fr|Part Feature]].


[[File:FreeCAD_Property_editor_View.png|490px|left]]
[[File:FreeCAD_Property_editor_View.png|490px|frame|left]]

{{TitleProperty|Base}}
{{TitleProperty|Base}}


* {{PropertyView/fr|Angular 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 [[3D view/fr|Vue 3D]], et plus le maillage sera exporté sera fin.
* {{PropertyView|Angular 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 [[3D_view/fr|Vue 3D]] et plus le maillage sera exporté sera fin.
* {{PropertyView/fr|Bounding Box}}: indique si une boîte montrant l'étendue globale de l'objet est affichée.
* {{PropertyView|Bounding Box}} : indique si une boîte englobante est affichée.
* {{PropertyView/fr|Deviation}}: définit la précision de la représentation polygonale du modèle dans la [[3D view/fr|vue 3D]] (pavage). Des valeurs plus faibles indiquent une meilleure qualité. La valeur est en pourcentage de la taille de l'objet.
* {{PropertyView|Deviation}} : définit la précision de la représentation polygonale du modèle dans la [[3D_view/fr|vue 3D]] (pavage). Des valeurs plus faibles indiquent une meilleure qualité. La valeur est en pourcentage de la taille de l'objet.
* {{PropertyView/fr|Display Mode}}: mode d'affichage de l'ensemble du corps, {{Value|Flat lines}} (défaut), {{Value|Shaded}}, {{Value|Wireframe}}, {{Value|Points}}.
* {{PropertyView|Display Mode}} : mode d'affichage de l'ensemble du corps, {{Value|Flat lines}} (défaut), {{Value|Shaded}}, {{Value|Wireframe}}, {{Value|Points}}.
* {{PropertyView/fr|Display Mode Body}}: mode d'affichage du Tip du corps, {{Value|Through}} (default), {{Value|Tip}}.
* {{PropertyView|Display Mode Body}} : mode d'affichage de la fonction Tip du corps, {{Value|Through}} (défaut), {{Value|Tip}}.
* {{PropertyView/fr|Draw Style}}: {{Value|Solid}}, {{Value|Dashed}}, {{Value|Dotted}}, {{Value|Dashdot}}; définit le style des bords dans la [[3D view|vue 3D]].
* {{PropertyView/fr|Draw Style}} : {{Value|Solid}}, {{Value|Dashed}}, {{Value|Dotted}}, {{Value|Dashdot}}. Définit le style des arêtes dans la [[3D_view|vue 3D]].
* {{PropertyView/fr|Lighting}}: {{Value|One side}}, {{Value|Two side}} (default).
* {{PropertyView|Lighting}} : {{Value|One side}}, {{Value|Two side}} (défaut).
* {{PropertyView/fr|Line Color}}: la couleur RVB des bords, elle est par défaut {{value|(25, 25, 25)}}.
* {{PropertyView|Line Color}} : couleur RVB des arêtes, par défaut {{value|(25, 25, 25)}}.
* {{PropertyView/fr|Line Width}}: l'épaisseur des bords, elle est par défaut {{value|2}} pixels.
* {{PropertyView|Line Width}} : l'épaisseur des arêtes, par défaut {{value|2}} pixels.
* {{PropertyView/fr|On Top When Selected}}: {{value|Disabled}}, {{value|Enabled}}, {{value|Object}}, {{value|Element}}.
* {{PropertyView|On Top When Selected}} : {{value|Disabled}}, {{value|Enabled}}, {{value|Object}}, {{value|Element}}.
* {{PropertyView/fr|Point Color}}: the RGB color of the vertices, it defaults to {{value|(25, 25, 25)}}.
* {{PropertyView|Point Color}}: couleur RGB des sommets, par défaut {{value|(25, 25, 25)}}.
* {{PropertyView/fr|Point Size}}: la taille des sommets, il est par défaut {{value|2}} pixels.
* {{PropertyView|Point Size}} : taille des sommets, par défaut {{value|2}} pixels.
* {{PropertyView/fr|Selectable}}: si l'objet est sélectionnable ou non.
* {{PropertyView|Selectable}} : si l'objet est sélectionnable ou non.
* {{PropertyView/fr|Selection Style}}: {{value|Shape}}, {{value|BoundBox}}.
* {{PropertyView|Selection Style}} : {{value|Shape}}, {{value|BoundBox}}.
* {{PropertyView/fr|Shape Color}}: la couleur RVB de la forme, elle est par défaut {{value|(204, 204, 204)}}.
* {{PropertyView|Shape Color}} : couleur RVB de la forme, par défaut {{value|(204, 204, 204)}}.
* {{PropertyView/fr|Show In Tree}}: s'il est réglé sur {{TRUE}}, l'objet apparaît dans l'arborescence. Sinon, il est défini comme invisible.
* {{PropertyView|Show In Tree}} : si mis à {{TRUE}}, l'objet apparaît dans la vue en arborescence. Sinon, il est défini comme invisible.
* {{PropertyView/fr|Transparency}}: le degré de transparence de {{value|0}} (défaut) à {{value|100}}.
* {{PropertyView|Transparency}} : degré de transparence de {{value|0}} (défaut) à {{value|100}}.
* {{PropertyView/fr|Visibility}}: si l'objet est visible dans la [[3D view/fr|Vue 3D]] ou non. Basculez avec la barre {{KEY|Espace}} du clavier.
* {{PropertyView|Visibility}} : si l'objet est visible dans la [[3D view/fr|Vue 3D]] ou non. Basculez avec la barre {{KEY|Espace}} du clavier.
{{clear}}

{{clear}}
{{clear}}


<span id="Data"></span>
<span id="Data"></span>
=== Données ===
===Données===


Dans ce cas, nous observons les propriétés de la fonction [[PartDesign_Revolution/fr|PartDesign Révolution]].
Dans ce cas, nous observons les propriétés de la fonction [[PartDesign_Revolution/fr|PartDesign Révolution]].


[[File:FreeCAD_Property_editor_Data.png|490px|left]]
[[File:FreeCAD_Property_editor_Data.png|490px|frame|left]]

{{TitleProperty|Base}}
{{TitleProperty|Base}}


* {{PropertyData/fr|Label}}: L'étiquette est le nom donné à l'objet (fonctionnalité) par l'utilisateur. Ce nom peut être modifié à volonté.
* {{PropertyData|Label}} : nom défini par l'utilisateur donné à l'objet, qui peut être modifié à volonté.


{{TitleProperty|Part Design}}
{{TitleProperty|Part Design}}
* {{PropertyData/fr|Refine}}: s'il faut affiner la fusion effectuée avec d'autres objets.
* {{PropertyData|Refine}} : s'il faut affiner l'union faite avec d'autres objets.


{{TitleProperty|Revolution}}
{{TitleProperty|Revolution}}
* {{PropertyData/fr|Base}}: 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.
* {{PropertyData|Base}} : 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.


* {{PropertyData/fr|Axis}}: 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.
* {{PropertyData|Axis}} : axe autour duquel la révolution sera effectuée. Il ne peut pas être modifié directement, uniquement lors de la modification de la fonction.


* {{PropertyData/fr|Angle}}: l'angle qui spécifie la proportion de rotation de l'élément de base. Par défaut, c'est {{value|360 deg}}, mais cela peut être n'importe quelle fraction de cela.
* {{PropertyData|Angle}} : angle qui spécifie la proportion de rotation de l'élément de base. Par défaut {{value|360 deg}} mais cela peut être n'importe quelle fraction de cela.


{{TitleProperty|Sketch Based}}
{{TitleProperty|Sketch Based}}


* {{PropertyData/fr|Midplane}}: si l'objet de base est une [[Sketch/fr|Esquisse]], 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'{{PropertyData/fr|Angle}} est différent de {{value|360 deg}}.
* {{PropertyData|Midplane}} : si l'objet de base est une [[Sketch/fr|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 {{PropertyData|Angle}} est différent de {{value|360 deg}}.
* {{PropertyData/fr|Reversed}}: Par défaut, mis à {{TRUE}}. Permet d'effectuer la révolution dans une direction ou l'autre.
* {{PropertyData|Reversed}} : par défaut mis à {{TRUE}}. Permet d'effectuer la révolution dans une direction ou l'autre.


{{clear}}
{{clear}}
Line 162: Line 166:
== Script ==
== Script ==


{{Emphasis|See also:}} [[FreeCAD Scripting Basics/fr|FreeCAD Script de Base]].
{{Emphasis|Voir aussi :}} [[FreeCAD_Scripting_Basics/fr|FreeCAD Script de base]].


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


La plupart des propriétés visibles dans l'éditeur de propriétés sont accessibles depuis la [[Python console/fr|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é {{PropertyData/fr|Group}}, cela signifie que l'objet a l'attribut {{incode|Group}}.
La plupart des propriétés visibles dans l'éditeur de propriétés sont accessibles depuis la [[Python_console/fr|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é {{PropertyData|Group}}, cela signifie que l'objet a l'attribut {{incode|Group}}.

{{Code|code=
{{Code|code=
print(obj.Group)
print(obj.Group)
}}
}}


Ces attributs (properties) sont ajoutés avec la méthode {{incode|addProperty}} de l'objet de base. Au minimum, il est nécessaire de spécifier le type de [[property/fr|propriété]] et son nom.
Ces attributs (propriétés) sont ajoutés avec la méthode {{incode|addProperty}} de l'objet de base. Au minimum, il est nécessaire de spécifier le type de [[Property/fr|propriété]] et son nom.

{{Code|code=
{{Code|code=
obj.addProperty("App::PropertyFloat", "Custom")
obj.addProperty("App::PropertyFloat", "Custom")
Line 186: Line 192:


[[File:FreeCAD_Property_editor_Custom.png]]
[[File:FreeCAD_Property_editor_Custom.png]]
{{Caption|Éditeur de propriétés affichant les propriétés de données d'un [[PartDesign_Body/fr|PartDesign Corps]], avec deux propriétés supplémentaires, "Personnalisées" et "Propriété Camel personnalisée".}}
{{Caption|Éditeur de propriétés affichant les propriétés de données d'un [[PartDesign_Body/fr|PartDesign Corps]], avec deux propriétés supplémentaires, "Custom" et "Custom Camel Property".}}


De la même manière, les propriétés {{MenuCommand|View}} sont ajoutées, non pas à l'objet de base, mais à son {{incode|ViewObject}}. Ensuite, il s'ensuit que des propriétés comme {{PropertyView/fr|Angular Deflection}}, {{PropertyView/fr|Bounding Box}}, {{PropertyView/fr|Display Mode}}, {{PropertyView/fr|Display Mode Body}}, {{PropertyView/fr|Line Color}}, et d'autres, peuvent être examinés et modifiés à partir de la [[Python_console/fr|console Python]].
De la même manière, les propriétés {{MenuCommand|View}} sont ajoutées, non pas à l'objet de base, mais à son {{incode|ViewObject}}. Ensuite, il s'ensuit que des propriétés comme {{PropertyView|Angular Deflection}}, {{PropertyView|Bounding Box}}, {{PropertyView|Display Mode}}, {{PropertyView|Display Mode Body}}, {{PropertyView|Line Color}} et d'autres, peuvent être examinés et modifiés à partir de la [[Python_console/fr|console Python]].


{{Code|code=
{{Code|code=
Line 198: Line 204:
}}
}}


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

{{Code|code=
{{Code|code=
print(obj.PropertiesList)
print(obj.PropertiesList)

Latest revision as of 21:52, 27 March 2024

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).

É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)

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.

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.

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)

É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)