Property/fr: Difference between revisions
(Created page with "== Introduction ==") |
mNo edit summary |
||
(24 intermediate revisions by 4 users not shown) | |||
Line 3: | Line 3: | ||
== Introduction == |
== Introduction == |
||
⚫ | |||
<div class="mw-translate-fuzzy"> |
|||
⚫ | |||
</div> |
|||
Les propriétés jouent un rôle très important dans FreeCAD. Comme les objets dans FreeCAD sont "paramétriques", cela signifie que leur comportement est défini par leurs propriétés et par la manière dont ces propriétés sont utilisées comme entrée pour leurs méthodes de classe. Voir aussi [[PropertyLink:_InList_and_OutList/fr|PropertyLink:_InList_and_OutList]] |
|||
<div class="mw-translate-fuzzy"> |
|||
Les propriétés jouent un rôle très important dans FreeCAD, car il a été conçu pour fonctionner avec des objets paramétriques, qui ne sont définis que par leurs propriétés. |
|||
</div> |
|||
== |
== Tous les types de 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 : |
Les [[scripted objects/fr|Objets créés par script]] personnalisés dans FreeCAD peuvent avoir des propriétés des types suivants : |
||
</div> |
|||
{{Code|code= |
{{Code|code= |
||
Bool |
Bool |
||
Line 53: | Line 47: | ||
}} |
}} |
||
En interne, le nom de la propriété est préfixé par {{incode|App::Property}}: |
|||
{{Code|code= |
{{Code|code= |
||
App::PropertyBool |
App::PropertyBool |
||
Line 61: | Line 55: | ||
}} |
}} |
||
Rappelez-vous qu'il s'agit de propriétés {{Emphasis|types}}. Un même objet peut avoir plusieurs propriétés du même type, mais avec des noms différents. |
|||
par exemple: |
|||
For example: |
|||
{{Code|code= |
{{Code|code= |
||
obj.addProperty("App::PropertyFloat", "Length") |
obj.addProperty("App::PropertyFloat", "Length") |
||
Line 70: | Line 65: | ||
}} |
}} |
||
Cela indique un objet avec trois propriétés de type "Float", nommées respectivement "Length", "Width" et "Height". |
|||
== |
== Scrip == |
||
{{Emphasis|See also:}} [[FreeCAD Scripting Basics|FreeCAD |
{{Emphasis|See also:}} [[FreeCAD Scripting Basics/fr|FreeCAD scrip de base]] |
||
Un [[scripted objects/fr|objet scripté]] est créé en premier, puis les propriétés lui sont attribuées. |
|||
{{Code|code= |
{{Code|code= |
||
obj = App.ActiveDocument.addObject("Part::Feature", "CustomObject") |
obj = App.ActiveDocument.addObject("Part::Feature", "CustomObject") |
||
Line 84: | Line 79: | ||
}} |
}} |
||
En général, les propriétés {{Emphasis|Data}} sont affectées à l'aide de la méthode {{incode|addProperty()}} de l'objet. D'autre part, les propriétés {{Emphasis|View}} sont normalement fournies automatiquement par l'objet parent à partir duquel l'objet scripté est dérivé. |
|||
Par exemple: |
|||
For example: |
|||
* |
* Dériver de {{incode|App::FeaturePython}} fournit uniquement 4 propriétés {{Emphasis|View}}: "Display Mode", "On Top When Selected", "Show In Tree" et "Visibility". |
||
* |
* Dériver de {{incode|Part::Feature}} fournit 17 propriétés {{Emphasis|View}}: les quatre précédentes, plus "Angular Deflection", "Zone de sélection", "Deviation", "Draw Style", "Lighting", "Line Color", "Line Width", "Point Color", "Point Size", "Selectable", "Selection Style", "Shape Color", et "Transparency". |
||
Néanmoins, les propriétés {{Emphasis|View}} peuvent également être affectées à l'aide de la méthode {{incode|addProperty()}} de l'objet fournisseur de vue. |
|||
{{Code|code= |
{{Code|code= |
||
obj.ViewObject.addProperty("App::PropertyBool", " |
obj.ViewObject.addProperty("App::PropertyBool", "SuperVisibility", "Base", "Make the object glow") |
||
}} |
}} |
||
{{docnav/fr|[[Interface_Customization/fr|Personnalisation de l'interface]]|[[Workbenches/fr|Ateliers]]}} |
|||
== Code source == |
|||
<div class="mw-translate-fuzzy"> |
|||
⚫ | |||
</div> |
|||
Dans le code source, les propriétés se trouvent dans divers fichiers {{FileName|src/App/Property*}} . |
|||
[[Category:Base]] |
|||
Ils sont importés et initialisés dans {{incode|[https://github.com/FreeCAD/FreeCAD/blob/9c27f1078e5ec516fe882aac1a27f5c6c6174554/src/App/Application.cpp#L1681-L1758 src/App/Application.cpp]}}. |
|||
{{Code|lang=cpp|code= |
|||
#include "Property.h" |
|||
#include "PropertyContainer.h" |
|||
#include "PropertyUnits.h" |
|||
#include "PropertyFile.h" |
|||
#include "PropertyLinks.h" |
|||
#include "PropertyPythonObject.h" |
|||
#include "PropertyExpressionEngine.h" |
|||
}} |
|||
{{Powerdocnavi{{#translation:}}}} |
|||
⚫ | |||
[[Category:Python Code{{#translation:}}]] |
|||
{{clear}} |
{{clear}} |
Revision as of 09:40, 12 April 2021
Introduction
Une propriété est une information, telle qu'un nombre ou une chaîne de texte, attachée à un document FreeCAD ou à un objet d'un document. Les propriétés peuvent être visualisées et modifiées avec l'éditeur de propriétés.
Les propriétés jouent un rôle très important dans FreeCAD. Comme les objets dans FreeCAD sont "paramétriques", cela signifie que leur comportement est défini par leurs propriétés et par la manière dont ces propriétés sont utilisées comme entrée pour leurs méthodes de classe. Voir aussi PropertyLink:_InList_and_OutList
Tous les types de propriétés
Les Objets créés par script personnalisés dans FreeCAD peuvent avoir des propriétés des types suivants :
Bool
Float
FloatList
FloatConstraint
Angle
Distance
ExpressionEngine
Integer
IntegerConstraint
Percent
Enumeration
IntegerList
String
StringList
Length
Link
LinkList
LinkSubList
Matrix
Vector
VectorList
VectorDistance
Placement
PlacementLink
PythonObject
Color
ColorList
Material
Path
File
FileIncluded
PartShape
FilletContour
Circle
En interne, le nom de la propriété est préfixé par App::Property
:
App::PropertyBool
App::PropertyFloat
App::PropertyFloatList
...
Rappelez-vous qu'il s'agit de propriétés types. Un même objet peut avoir plusieurs propriétés du même type, mais avec des noms différents.
par exemple:
obj.addProperty("App::PropertyFloat", "Length")
obj.addProperty("App::PropertyFloat", "Width")
obj.addProperty("App::PropertyFloat", "Height")
Cela indique un objet avec trois propriétés de type "Float", nommées respectivement "Length", "Width" et "Height".
Scrip
See also: FreeCAD scrip de base
Un objet scripté est créé en premier, puis les propriétés lui sont attribuées.
obj = App.ActiveDocument.addObject("Part::Feature", "CustomObject")
obj.addProperty("App::PropertyFloat", "Velocity", "Parameter", "Body speed")
obj.addProperty("App::PropertyBool", "VelocityEnabled", "Parameter", "Enable body speed")
En général, les propriétés Data sont affectées à l'aide de la méthode addProperty()
de l'objet. D'autre part, les propriétés View sont normalement fournies automatiquement par l'objet parent à partir duquel l'objet scripté est dérivé.
Par exemple:
- Dériver de
App::FeaturePython
fournit uniquement 4 propriétés View: "Display Mode", "On Top When Selected", "Show In Tree" et "Visibility". - Dériver de
Part::Feature
fournit 17 propriétés View: les quatre précédentes, plus "Angular Deflection", "Zone de sélection", "Deviation", "Draw Style", "Lighting", "Line Color", "Line Width", "Point Color", "Point Size", "Selectable", "Selection Style", "Shape Color", et "Transparency".
Néanmoins, les propriétés View peuvent également être affectées à l'aide de la méthode addProperty()
de l'objet fournisseur de vue.
obj.ViewObject.addProperty("App::PropertyBool", "SuperVisibility", "Base", "Make the object glow")
Code source
Dans le code source, les propriétés se trouvent dans divers fichiers src/App/Property* .
Ils sont importés et initialisés dans src/App/Application.cpp
.
#include "Property.h"
#include "PropertyContainer.h"
#include "PropertyUnits.h"
#include "PropertyFile.h"
#include "PropertyLinks.h"
#include "PropertyPythonObject.h"
#include "PropertyExpressionEngine.h"
- Scripts FreeCAD : Python, Introduction à Python, Tutoriel sur les scripts Python, Débuter avec les scripts
- Modules : Modules intégrés, Unités, Quantity
- Ateliers : Création d'atelier, Commands Gui, Les commandes, Installer des ateliers supplémentaires
- Maillages et objets Parts : Scripts Mesh, Script de données topologiques, Conversion objet Mesh en Part, PythonOCC
- Objets paramétriques : Objets créés par script, Viewproviders (Icône personnalisée dans l'arborescence)
- Scénographie : Graphe de scène Coin (Inventor), Pivy
- Interface graphique : Création d'interface, Création d'une boite de dialogue (1, 2, 3, 4, 5), PySide, Exemples PySide débutant, intermédiaire, expérimenté
- Macros : Macros, Comment installer des macros
- Intégration : Intégrer FreeCAD, Intégration de FreeCADGui
- Autre : Expressions, Extraits de codes, Fonction - tracer une ligne, Bibliothèque mathématique vectorielle de FreeCAD (déprécié)