Property editor/fr: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
No edit summary
Tag: Manual revert
 
(157 intermediate revisions by 4 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{docnav/fr|[[Interface_Customization/fr|Personnalisation de l'interface]]|[[Workbenches/fr|Ateliers]]}}


{{Docnav/fr
<div class="mw-translate-fuzzy">
|[[Document_structure/fr|Structure d'un document]]
|[[Workbenches/fr|Ateliers]]
}}

{{TOCright}}

<span id="Introduction"></span>
==Description==
==Description==


L'éditeur de propriétés est l'un des outils les plus importants de FreeCAD et un élément essentiel pour travailler dans FreeCAD. L'éditeur de propriétés permet de gérer les propriétés des objets dans votre document.
L'[[Property editor/fr|éditeur de propriétés]] apparaît lorsque l'onglet {{MenuCommand|Modèle}} de la [[combo_view/fr|vue combinée]] est actif dans l'[[interface/fr|interface]]. Il permet de gérer les propriétés exposées publiquement des objets du document.
</div>


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.
The [[Property editor|property editor]] allows managing the publicly exposed properties of the objects in your document.


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).
<div class="mw-translate-fuzzy">
Généralement, l'éditeur de propriétés est destiné à traiter un seul élément à la fois. Les valeurs indiquées dans l'éditeur de propriété appartient à l'objet actif du document actif (assurez vous de ce qui est actif si vous travaillez sur plusieurs documents). S'il n'y a pas d'élément sélectionné ou si il n'y a aucun document, l'éditeur de propriétés n'affiche pas de propriété ou de paramètre.
</div>


{{TOCright}}
<div class="mw-translate-fuzzy">
Les propriétés indiquées ne sont toutes modifiables à tout moment. Dans quelques états particuliers, certaines propriétés sont affichées en lecture seule.
</div>


[[File:FreeCAD_Properties_empty.png]]
[[File:FreeCAD_Property_editor_empty.png]]


{{Caption|Empty property editor, when no object is selected.}}
{{Caption|Éditeur de propriétés vide, quand aucun objet n'est sélectionné.}}


<span id="Property_types"></span>
<div class="mw-translate-fuzzy">
==Types de propriétés==
== 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'[[Property editor/fr|éditeur de propriétés]].
</div>


A property is a piece of information like a number or a text string that is attached to a FreeCAD document or an object in the 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.


Les [[scripted objects/fr|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 [[Property/fr|Propriétés]].
<div class="mw-translate-fuzzy">

Les [[scripted objects/fr|objets créés par script]] personnalisés dans FreeCAD peuvent avoir des propriétés des types suivants :
Certains des types de propriétés les plus couramment utilisés sont :
</div>


Some of the most commonly used property types are:
{{Code|code=
{{Code|code=
App::PropertyBool
App::PropertyBool
Line 46: 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]].
<div class="mw-translate-fuzzy">
Différents objets peuvent avoir des propriétés différentes. Cependant, certaines propriétés sont communes parmi tous les objets, par exemple, la position et la rotation d'un objet sont des propriétés '''Données''' qui peuvent être manipulées.
</div>


<span id="View_and_Data_properties"></span>
== View and Data properties ==
== 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 :
<div class="mw-translate-fuzzy">
* Les propriétés de {{MenuCommand|Vue}} liées à l'aspect "visuel" de l'objet. Les propriétés de {{MenuCommand|Vue}} sont liées à l'attribut {{Emphasis|ViewProvider}} ({{incode|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.
Il existe deux types de propriétés d'éléments accessibles via les onglets situés en bas de l'éditeur de propriétés :
* Les propriétés de {{MenuCommand|Données}}, liées aux paramètres "physiques" de l'objet. Les propriétés de {{MenuCommand|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.
: {{PropertyView/fr|Vue}} : propriétés liées à l'affichage "visuel" d'un objet.
: {{PropertyData/fr|Données}} : propriétés liées aux paramètres "physiques" d'un objet.
</div>


Pour cette raison, les propriétés de {{MenuCommand|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 {{MenuCommand|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".
For this reason, {{Emphasis|Data}} properties are considered to be more "important", as they truly define the geometry of a shape. On the other hand {{Emphasis|View}} properties are less important because they only affect the appearance of the geometry. For example, a circle of 10 mm radius is different from a circle of 5 mm radius; the color (View property) of the circles doesn't affect their shapes, but the radius does (Data property). In many instances in this documentation, the word "property" is understood to refer to a "Data property".


<span id="Basic_properties"></span>
=== Basic properties ===
=== Propriétés de base ===


{{Emphasis|Voir aussi : [[Object_name/fr|Objet name]]}}
The most basic scripted object won't show any Data property in the property editor, except for its {{incode|Label}} attribute. The {{incode|Label}} is a user editable string that identifies the object in the [[tree view|tree view]]. On the other hand, the {{incode|Name}} of an object is an internal attribute that is assigned to the object at the moment of its creation; this attribute is read-only, so it cannot be changed, and it is not displayed in the property editor either.

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.

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


A basic parametric object is created as follow
{{Code|code=
{{Code|code=
obj = App.ActiveDocument.addObject("App::FeaturePython", "App__FeaturePython")
obj = App.ActiveDocument.addObject("App::FeaturePython", "App__FeaturePython")
obj.Label = "Plain_object"
print(obj.Name)
print(obj.Label)
}}
}}


[[File:FreeCAD_Properties_View_basic.png|x290px]] [[File:FreeCAD_Properties_Data_basic.png|x290px]]
[[File:FreeCAD_Property_editor_View_basic.png|x264px]] [[File:FreeCAD_Property_editor_Data_basic.png|x264px]]


{{Caption|View and Data tabs of the property editor, for a basic "App::FeaturePython" scripted object.}}
{{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 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.
==Actions ==


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.
Actions in the property view were implemented in 0.19.


<span id="Actions"></span>
Right clicking in an empty space of the view, or with a property selected, shows only one command:
== Actions ==
* {{MenuCommand|Show all}}: if active, in addition to the standard properties that appear already, it shows all the hidden Data and View properties in their respective tabs.
** Data: "Proxy", "Label2", "Expression Engine", and "Visibility".
** View: "Proxy".


Un clic droit dans un espace vide de la vue ou avec une propriété sélectionnée ne montre qu'une seule commande :
When the {{MenuCommand|Show all}} option is active, and one property is selected, more actions are available with a second right click:
* {{MenuCommand|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.
* {{MenuCommand|Show all}}: deactivates the {{MenuCommand|Show all}} command, hiding the additional Data and View properties.
** Données : "Proxy", "Label2", "Expression Engine", et "Visibility".
* {{MenuCommand|Add Property}}: adds a dynamic property to the object; this works with both C++ and Python [[scripted objects|scripted objects]].
** Vue : "Proxy".
* {{MenuCommand|Expression}}: brings up the formula editor, which allows using [[Expressions|expressions]] in the property value.
* {{MenuCommand|Hidden}}: if active, sets the property as hidden, meaning that it will only be displayed if {{MenuCommand|Show all}} is active.
* {{MenuCommand|Output}}: if active, sets the property as output.
* {{MenuCommand|NoRecompute}}: if active, sets the property as not recomputed when the document is recomputed; this is useful when a property should be kept unaffected by other updates.
* {{MenuCommand|ReadOnly}}: if active, sets the property to be read-only; it won't be editable any more until this switch is turned off.
* {{MenuCommand|Transient}}: if active, sets the property as transient.
* {{MenuCommand|Touched}}: if active, it becomes touched, and ready for recompute.
* {{MenuCommand|EvalOnRestore}}: if active, it is evaluated when the document is restored.


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 :
<div class="mw-translate-fuzzy">
* {{MenuCommand|Tout afficher}} : désactive la commande {{MenuCommand|Tout afficher}}, masquant ainsi les propriétés supplémentaires de données et d'affichage.
== Exemple de propriétés d'objets Part ==
* {{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.
=== Propriétés ===
* {{MenuCommand|Expression...}} : lance l'éditeur de formule, qui permet d'utiliser [[Expressions/fr|expressions]] dans la valeur de la propriété.
</div>
* {{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}} : si coché, définit la propriété comme sortie.
* {{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 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 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}} : si coché, il est touché et prêt à être recalculé.
* {{MenuCommand|EvalOnRestore}} : si coché, il est évalué lors de la restauration du document.


<span id="Example_of_the_properties_of_a_PartDesign_object"></span>
== 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_Body/fr|PartDesign Corps]] et une [[PartDesign_Feature/fr|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.

<span id="View"></span>
=== Vue ===
=== Vue ===


La plupart de ces propriétés sont héritées de l'objet de base [[Part_Feature/fr|Part Feature]].
<div class="mw-translate-fuzzy">
[[File:FreeCAD_Properties_View.png|490px|left]]
{{TitleProperty/fr|Base}}
</div>


[[File:FreeCAD_Property_editor_View.png|490px|frame|left]]
<div class="mw-translate-fuzzy">

* {{PropertyView|Bounding Box}}: indique si une zone indiquant l'étendue globale de l'objet doit être affichée. Valeur False ou True (par défaut, False).
{{TitleProperty|Base}}
* {{PropertyView|Control Point}}: indique si les points de contrôle des fonctionnalités doivent être affichés. Valeur False ou True (par défaut, False).

* {{PropertyView|Deviation}}: définit la précision de la représentation polygonale du modèle dans la vue 3D (tessellation). Valeurs inférieures = meilleure qualité. La valeur est exprimée en pourcentage de la taille de l'objet (écart en mm = (w+h+d)/3*valueInPercent/100 où w, h, d sont les dimensions du cadre de sélection).
* {{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|Display Mode}}: mode d'affichage de la fonction, '' 'Lignes plates, ombrées, filaire, points''' [[IMAGE:Vue_DisplayModePartDesign_fr_00.png|96px]] (par défaut, '''Flat lines''').
* {{PropertyView|Bounding Box}} : indique si une boîte englobante est affichée.
* {{PropertyView|Lighting}}: éclairage '''Un côté, deux côtés''' [[IMAGE:Vue_Lighting_fr_00.png|96px]] (par défaut, '''Two side''').
* {{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|Line Line}}: donne la couleur de la ligne (bords) (par défaut, '''25, 25, 25''').
* {{PropertyView|Line Width}}: donne l'épaisseur de la ligne (bords) (par défaut, '''2''').
* {{PropertyView|Display Mode}} : mode d'affichage de l'ensemble du corps, {{Value|Flat lines}} (défaut), {{Value|Shaded}}, {{Value|Wireframe}}, {{Value|Points}}.
* {{PropertyView|Point Color}}: donne la couleur des points (extrémités de l'entité) (par défaut, '''25, 25, 25''').
* {{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 arêtes dans la [[3D_view|vue 3D]].
* {{PropertyView|Point Size}}: donne la taille des points (par défaut, '''2''').
* {{PropertyView|Selectable}}: permet la sélection de la fonctionnalité. Valeur False ou True (par défaut, True).
* {{PropertyView|Lighting}} : {{Value|One side}}, {{Value|Two side}} (défaut).
* {{PropertyView|Shape Color}}: donne la forme de la couleur (par défaut, '''204, 204, 204''').
* {{PropertyView|Line Color}} : couleur RVB des arêtes, par défaut {{value|(25, 25, 25)}}.
* {{PropertyView|Transparency}}: définit le degré de transparence de la fonction de '' '0' '' sur '' '100' '' (par défaut, '''0''').
* {{PropertyView|Line Width}} : l'épaisseur des arêtes, par défaut {{value|2}} pixels.
* {{PropertyView|On Top When Selected}} : {{value|Disabled}}, {{value|Enabled}}, {{value|Object}}, {{value|Element}}.
* {{PropertyView|Visibility}}: détermine la visibilité de la fonctionnalité (comme la barre {{KEY | SPACE}}). Valeur False ou True (par défaut, True).
* {{PropertyView|Point Color}}: couleur RGB des sommets, par défaut {{value|(25, 25, 25)}}.
* {{PropertyView|Point Size}} : taille des sommets, par défaut {{value|2}} pixels.
* {{PropertyView|Selectable}} : si l'objet est sélectionnable ou non.
* {{PropertyView|Selection Style}} : {{value|Shape}}, {{value|BoundBox}}.
* {{PropertyView|Shape Color}} : couleur RVB de la forme, par défaut {{value|(204, 204, 204)}}.
* {{PropertyView|Show In Tree}} : si mis à {{TRUE}}, l'objet apparaît dans la vue en arborescence. Sinon, il est défini comme invisible.
* {{PropertyView|Transparency}} : degré de transparence de {{value|0}} (défaut) à {{value|100}}.
* {{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}}
</div>


{{clear}}
=== Données ===


<span id="Data"></span>
<div class="mw-translate-fuzzy">
===Données===
[[File:FreeCAD_Properties_Data.png|490px|left]]
{{TitleProperty/fr|Base}}
</div>


Dans ce cas, nous observons les propriétés de la fonction [[PartDesign_Revolution/fr|PartDesign Révolution]].
<div class="mw-translate-fuzzy">
{{PropertyData|Placement}}:
Résumé des données ci-dessous.
Chaque fonctionnalité a un emplacement qui peut être contrôlé via la table Propriétés de données. Il contrôle le positionnement de la pièce par rapport au système de coordonnées. REMARQUE: les propriétés de placement n'affectent pas les dimensions physiques de la fonction, mais simplement sa position dans l'espace!<br>
Si vous sélectionnez le titre '''Placement''' [[Image:Tache_Placement_01_fr_00.png|256px|Options Placement]], un bouton avec {{KEY|trois petits points}} apparaît à droite. En cliquant sur ce bouton {{KEY| '''...'''}} s'ouvre la fenêtre d'options '''[[Tasks_Placement/fr|Opération de Positionnement]]'''.
</div>


[[File:FreeCAD_Property_editor_Data.png|490px|frame|left]]
<div class="mw-translate-fuzzy">
{{PropertyData|Angle}}:
Spécifie l'angle à utiliser avec la propriété [[#Axis|axis]] (ci-dessous). Un angle est défini ici et l'axe sur lequel agit l'angle est défini avec la propriété axis.
L'entité est pivotée de l'angle spécifié, autour de l'axe spécifié.
Un exemple d'utilisation pourrait être si vous avez créé une fonctionnalité de révolution selon vos besoins, mais que vous deviez ensuite faire pivoter la fonctionnalité dans son ensemble, afin de lui permettre de s'aligner sur une autre fonctionnalité préexistante.
</div>


{{TitleProperty|Base}}
<div class="mw-translate-fuzzy">
{{PropertyData|Axis}}:
Cette propriété spécifie les axes autour desquels l'entité doit être tournée. La valeur exacte de la rotation provient de la propriété angle (ci-dessus).
Cette propriété prend trois arguments qui sont transmis sous forme de nombres dans les zones x, y et z de l'outil. Si vous définissez une valeur pour plusieurs axes, la pièce sera tournée selon chaque axe en multipliant la valeur de l'angle par la valeur de l'axe.
Par exemple, avec un angle de 15 ° défini, les valeurs de 1,0 pour x et de 2,0 pour y donneront une rotation de 15 ° de la pièce finie sur l'axe des x ET de 30 ° sur l'axe des y.
</div>


* {{PropertyData|Label}} : nom défini par l'utilisateur donné à l'objet, qui peut être modifié à volonté.
<div class="mw-translate-fuzzy">
{{PropertyData|Position}}:
Cette propriété spécifie le point de base auquel toutes les dimensions font référence. Cela prend trois arguments, qui sont transmis sous forme de nombres aux zones x, y et z de l'outil. Si vous définissez une valeur pour plusieurs cases, la pièce sera traduite par le nombre d'unités le long de l'axe correspondant.
</div>


{{TitleProperty|Part Design}}
<div class="mw-translate-fuzzy">
{{PropertyData|Label}}:
* {{PropertyData|Refine}} : s'il faut affiner l'union faite avec d'autres objets.
L'étiquette est le nom donné à l'objet (fonctionnalité). Ce nom peut être modifié à volonté.
</div>


{{TitleProperty|Revolution}}
{{docnav/fr|[[Interface_Customization/fr|Personnalisation de l'interface]]|[[Workbenches/fr|Ateliers]]}}
* {{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|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.
<div class="mw-translate-fuzzy">

[[Category:User Documentation/fr]]
* {{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.
</div>

{{TitleProperty|Sketch Based}}

* {{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|Reversed}} : par défaut mis à {{TRUE}}. Permet d'effectuer la révolution dans une direction ou l'autre.

{{clear}}

<span id="Scripting"></span>
== Script ==

{{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]].

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=
print(obj.Group)
}}

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=
obj.addProperty("App::PropertyFloat", "Custom")
print(obj.Custom)
}}

Les propriétés suivent la convention {{incode|CapitalCamelCase}} ou {{incode|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.

{{Code|code=
obj.addProperty("App::PropertyDistance", "CustomCamelProperty")
obj.CustomCamelProperty = 1000
print(obj.CustomCamelProperty)
}}

[[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, "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|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=
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 {{incode|PropertiesList}} correspondant.

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


{{Docnav/fr
|[[Document_structure/fr|Structure d'un document]]
|[[Workbenches/fr|Ateliers]]
}}


{{Interface navi{{#translation:}}}}
[[Category:Base]]
{{Std Base navi{{#translation:}}}}
{{Userdocnavi{{#translation:}}}}

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)