Property editor/fr: Difference between revisions

From FreeCAD Documentation
(Created page with "== Exemple de propriétés d'objets Part == === Propriétés ===")
No edit summary
Tag: Manual revert
 
(176 intermediate revisions by 5 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
{{docnav/fr|[[Interface_Customization/fr|Personnalisation de l'interface]]|[[Workbenches/fr|Ateliers]]}}


{{Docnav/fr
|[[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.


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


{{TOCright}}
Les propriétés d'un objet sont rassemblés dans les propriétés '''Vue''' et les propriétés '''Données''' et montrées sous les différents onglets.


[[File:FreeCAD_Property_editor_empty.png]]
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.


{{Caption|Éditeur de propriétés vide, quand aucun objet n'est sélectionné.}}
<div class="mw-translate-fuzzy">
==Propriété définition==
{{Property/fr|Propriétés}}
</div>


<span id="Property_types"></span>
Properties play a very important part in FreeCAD, since it has been designed to work with parametric objects, which are objects defined only by their properties.
==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 [[scripted objects/fr|objets créés par script]] personnalisés dans FreeCAD peuvent avoir des propriétés des types suivants :

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

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


{{Code|code=
{{Code|code=
App::PropertyBool
Boolean
App::PropertyFloat
Float
App::PropertyAngle
FloatList
App::PropertyDistance
FloatConstraint
App::PropertyInteger
Angle
App::PropertyString
Distance
App::PropertyMatrix
Integer
App::PropertyVector
IntegerConstraint
App::PropertyPlacement
Percent
Enumeration
IntegerList
String
StringList
Link
LinkList
Matrix
Vector
VectorList
Placement
PlacementLink
Color
ColorList
Material
Path
File
FileIncluded
PartShape
FilletContour
Circle
}}
}}


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]].
== Exemple de propriétés d'objets Part ==
=== Propriétés ===


<span id="View_and_Data_properties"></span>
== 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 :
There are two types of feature properties accessible through tabs at the bottom of the property editor:
* 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.
: {{PropertyView|View}} : properties related to the "visual" display of an object.
* 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.
: {{PropertyData|Data}} : properties related to the "physical" parameters of an object.


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".
===View===


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

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

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

{{Code|code=
obj = App.ActiveDocument.addObject("App::FeaturePython", "App__FeaturePython")
obj.Label = "Plain_object"
print(obj.Name)
print(obj.Label)
}}

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

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.

<span id="Actions"></span>
== 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 :
* {{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.
** Données : "Proxy", "Label2", "Expression Engine", et "Visibility".
** Vue : "Proxy".

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|Tout afficher}} : désactive la commande {{MenuCommand|Tout afficher}}, masquant ainsi les propriétés supplémentaires de données et d'affichage.
* {{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...}} : lance l'éditeur de formule, qui permet d'utiliser [[Expressions/fr|expressions]] dans la valeur de la propriété.
* {{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 ===

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|frame|left]]


[[Image:PartDesign_Revolution_en_03.png|300px|left]]
{{TitleProperty|Base}}
{{TitleProperty|Base}}


* {{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|Bounding Box}} : Indicates if a box showing the overall extent of the object is to be displayed. Value False, or True (Default, False).
* {{PropertyView|Control Point}} : Indicates if the feature control points are to be displayed. Value False, or True (Default, False).
* {{PropertyView|Bounding Box}} : indique si une boîte englobante est affichée.
* {{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|Deviation}} : Sets the accuracy of the polygonal representation of the model in the 3d view (tessellation). Lower values = better quality. The value is in percent of object's size (deviation in mm = (w+h+d)/3*valueInPercent/100, where w,h,d are the bounding box dimensions).
* {{PropertyView|Display Mode}} :Display mode of the feature, '''Flat lines, Shaded, Wireframe, Points''' [[IMAGE:Vue_DisplayModePartDesign_fr_00.png|96px]]. (Default, '''Flat lines''').
* {{PropertyView|Display Mode}} : mode d'affichage de l'ensemble du corps, {{Value|Flat lines}} (défaut), {{Value|Shaded}}, {{Value|Wireframe}}, {{Value|Points}}.
* {{PropertyView|Lighting}} : Lighting '''One side, Two side''' [[IMAGE:Vue_Lighting_fr_00.png|96px]]. (Default, '''Two side''').
* {{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|Line Color}} : Gives the color of the line (edges) (Default, '''25, 25, 25''').
* {{PropertyView|Line Width}} : Gives the thickness of the line (edges) (Default, '''2''').
* {{PropertyView|Lighting}} : {{Value|One side}}, {{Value|Two side}} (défaut).
* {{PropertyView|Point Color}} : Gives the color of the points (ends of the feature) (Default, '''25, 25, 25''').
* {{PropertyView|Line Color}} : couleur RVB des arêtes, par défaut {{value|(25, 25, 25)}}.
* {{PropertyView|Point Size}} : Gives the size of the points (Default, '''2''').
* {{PropertyView|Line Width}} : l'épaisseur des arêtes, par défaut {{value|2}} pixels.
* {{PropertyView|Selectable}} : Allows selection of the feature. Value False, ou True (Default, True).
* {{PropertyView|On Top When Selected}} : {{value|Disabled}}, {{value|Enabled}}, {{value|Object}}, {{value|Element}}.
* {{PropertyView|Shape Color}} : Give the color shape (default, '''204, 204, 204''').
* {{PropertyView|Point Color}}: couleur RGB des sommets, par défaut {{value|(25, 25, 25)}}.
* {{PropertyView|Transparency}} : Sets the degree of transparency in the feature of '''0''' to '''100''' (Default, '''0''').
* {{PropertyView|Point Size}} : taille des sommets, par défaut {{value|2}} pixels.
* {{PropertyView|Selectable}} : si l'objet est sélectionnable ou non.
* {{PropertyView|Visibility}} : Determines the visibility of the feature (like the bar {{KEY|SPACE}}). Value False, or True (Default, True).
* {{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}}


{{clear}}

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


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


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


[[Image:PartDesign_Revolution_en_04.png|300px|left]]
{{TitleProperty|Base}}
{{TitleProperty|Base}}


* {{PropertyData|Label}} : nom défini par l'utilisateur donné à l'objet, qui peut être modifié à volonté.


{{TitleProperty|Part Design}}
{{PropertyData|Placement}} :
* {{PropertyData|Refine}} : s'il faut affiner l'union faite avec d'autres objets.
Summary of the data below.
Every feature has a placement that can be controlled through the Data Properties table. It controls the placement of the part with respect to the coordinate system. NOTE: The placement properties do not affect the physical dimensions of the feature, but merely its position in space!<br>If you select the title '''Placement''' [[Image:Tache_Placement_01_fr_00.png|256px|Options Placement]], a button with {{KEY|three small points}} appears to the right. Clicking this button {{KEY| '''...'''}}, opens the '''[[Tasks_Placement|Tasks_Placement]]''' options window.


{{TitleProperty|Revolution}}
* {{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.
{{PropertyData|Angle}} :
Specifies the angle to be used with the [[#Axis|axis]] property (below). An angle is set here, and the axis that the angle acts upon is set with the axis property.
The feature is rotated by the specified angle, about the specified axis.
A usage example might be if you created a revolution feature as required, but then needed to rotate the whole feature by some amount, in order to allow it to line-up with another pre-existing feature.


* {{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}}
{{PropertyData|Axis}} :
This property specifies the axis/axes about which the feature is to be rotated. The exact value of rotation comes from the angle property (above).
This property takes three arguments, which are passed as numbers in the x, y, and z boxes in the tool. Setting a value for more than one of the axes will cause the part to be rotated in each axis, by the angle value multiplied by the value for the axis.
For example, with an angle of 15° set, specifying a value of 1.0 for x, and 2.0 for y will cause the finished part to be rotated 15° in the x-axis AND 30° in the y-axis.


* {{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}}
{{PropertyData|Position}} :
This property specifies the base point to which all dimensions refer. This takes three arguments, which are passed as numbers to the x, y, and z boxes in the tool. Setting a value for more than one of the boxes will cause the part to be translated by the number of units along the corresponding axis.


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


{{Emphasis|Voir aussi :}} [[FreeCAD_Scripting_Basics/fr|FreeCAD Script de base]].
{{PropertyData|Label}} :
The Label is the name given to the object (feature), this name can be changed as desired.


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}}.
{{clear}}
'''PS: The displayed properties can vary, depending on the tool used.'''


{{Code|code=
{{docnav/fr|[[Interface_Customization/fr|Personnalisation de l'interface]]|[[Workbenches/fr|Ateliers]]}}
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.
[[Category:User Documentation/fr]]

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