Property/fr: Difference between revisions

From FreeCAD Documentation
No edit summary
(Updating to match new version of source page)
 
(4 intermediate revisions by the same user not shown)
Line 32: Line 32:
| ColorList ||
| ColorList ||
|-
|-
| CurrentDensity || style="text-align:center;" | A/m^2 || {{Version|1.0}}
| CurrentDensity || style="text-align:center;" | A/m^2 || {{Version|0.21}}
|-
|-
| Density || style="text-align:center;" | kg/m^3
| Density || style="text-align:center;" | kg/m^3
Line 38: Line 38:
| Direction ||
| Direction ||
|-
|-
| DissipationRate || style="text-align:center;" | m^2/s^3 || {{Version|1.0}}
| DissipationRate || style="text-align:center;" | m^2/s^3 || {{Version|0.21}}
|-
|-
| Distance || style="text-align:center;" | m
| Distance || style="text-align:center;" | m
|-
|-
| DynamicViscosity || style="text-align:center;" | Pa*s || {{Version|1.0}}
| DynamicViscosity || style="text-align:center;" | Pa*s || {{Version|0.21}}
|-
|-
| ElectricalCapacitance || style="text-align:center;" | F || {{Version|1.0}}
| ElectricalCapacitance || style="text-align:center;" | F || {{Version|0.21}}
|-
|-
| ElectricalConductance || style="text-align:center;" | S || {{Version|1.0}}
| ElectricalConductance || style="text-align:center;" | S || {{Version|0.21}}
|-
|-
| ElectricalConductivity || style="text-align:center;" | S/m || {{Version|1.0}}
| ElectricalConductivity || style="text-align:center;" | S/m || {{Version|0.21}}
|-
|-
| ElectricalInductance|| style="text-align:center;" | H || {{Version|1.0}}
| ElectricalInductance|| style="text-align:center;" | H || {{Version|0.21}}
|-
|-
| ElectricalResistance || style="text-align:center;" | Ohm || {{Version|1.0}}
| ElectricalResistance || style="text-align:center;" | Ohm || {{Version|0.21}}
|-
|-
| ElectricCharge || style="text-align:center;" | C || {{Version|1.0}}
| ElectricCharge || style="text-align:center;" | C || {{Version|0.21}}
|-
|-
| ElectricCurrent || style="text-align:center;" | A || {{Version|1.0}}
| ElectricCurrent || style="text-align:center;" | A || {{Version|0.21}}
|-
|-
| ElectricPotential || style="text-align:center;" | V || {{Version|0.20}}
| ElectricPotential || style="text-align:center;" | V || {{Version|0.20}}
|-
|-
| Enumeration ||
| Enumeration ||
|-
| ExpressionContainer ||
|-
|-
| ExpressionEngine ||
| ExpressionEngine ||
Line 82: Line 80:
| Frequency || style="text-align:center;" | Hz
| Frequency || style="text-align:center;" | Hz
|-
|-
| HeatFlux || style="text-align:center;" | W/m^2|| {{Version|0.21}}
| Geometry ||
|-
| HeatFlux || style="text-align:center;" | W/m^2|| {{Version|1.0}}
|-
|-
| Integer ||
| Integer ||
Line 94: Line 90:
| IntegerSet ||
| IntegerSet ||
|-
|-
| InverseArea || style="text-align:center;" | 1/m^2 || {{Version|1.0}}
| InverseArea || style="text-align:center;" | 1/m^2 || {{Version|0.21}}
|-
|-
| InverseLength || style="text-align:center;" | 1/m || {{Version|1.0}}
| InverseLength || style="text-align:center;" | 1/m || {{Version|0.21}}
|-
|-
| InverseVolume || style="text-align:center;" | 1/m^3 || {{Version|1.0}}
| InverseVolume || style="text-align:center;" | 1/m^3 || {{Version|0.21}}
|-
|-
| KinematicViscosity || style="text-align:center;" | m^2/s || {{Version|1.0}}
| KinematicViscosity || style="text-align:center;" | m^2/s || {{Version|0.21}}
|-
|-
| Length || style="text-align:center;" | m
| Length || style="text-align:center;" | m
Line 136: Line 132:
| LinkSubListHidden ||
| LinkSubListHidden ||
|-
|-
| LuminousIntensity || style="text-align:center;" | cd || {{Version|0.21}}
| Lists ||
|-
|-
| LuminousIntensity || style="text-align:center;" | cd || {{Version|1.0}}
| MagneticFieldStrength || style="text-align:center;" | A/m || {{Version|0.21}}
|-
|-
| MagneticFieldStrength || style="text-align:center;" | A/m || {{Version|1.0}}
| MagneticFlux || style="text-align:center;" | Wb or V*s || {{Version|0.21}}
|-
|-
| MagneticFlux || style="text-align:center;" | Wb or V*s || {{Version|1.0}}
| MagneticFluxDensity || style="text-align:center;" | T || {{Version|0.21}}
|-
|-
| MagneticFluxDensity || style="text-align:center;" | T || {{Version|1.0}}
| Magnetization || style="text-align:center;" | A/m || {{Version|0.21}}
|-
| Magnetization || style="text-align:center;" | A/m || {{Version|1.0}}
|-
|-
| Map ||
| Map ||
|-
|-
| Mass || style="text-align:center;" | kg || {{Version|1.0}}
| Mass || style="text-align:center;" | kg || {{Version|0.21}}
|-
|-
| Material ||
| Material ||
Line 158: Line 152:
| Matrix ||
| Matrix ||
|-
|-
| PartShape || || a Part property, is accessed as</br>{{incode|Part::PropertyPartShape}}
| PartShape ||
|-
|-
| Path ||
| Path ||
Line 174: Line 168:
| Position ||
| Position ||
|-
|-
| Power || style="text-align:center;" | W || {{Version|1.0}}
| Power || style="text-align:center;" | W || {{Version|0.21}}
|-
|-
| Precision ||
| Precision ||
Line 188: Line 182:
| Rotation ||
| Rotation ||
|-
|-
| ShearModulus || style="text-align:center;" | Pa || {{Version|1.0}}
| ShearModulus || style="text-align:center;" | Pa || {{Version|0.21}}
|-
|-
| SpecificEnergy || style="text-align:center;" | m^2/s^2 or J/kg || {{Version|1.0}}
| SpecificEnergy || style="text-align:center;" | m^2/s^2 or J/kg || {{Version|0.21}}
|-
|-
| SpecificHeat || style="text-align:center;" | J/kg/K || {{Version|1.0}}
| SpecificHeat || style="text-align:center;" | J/kg/K || {{Version|0.21}}
|-
|-
| Speed || style="text-align:center;" | m/s
| Speed || style="text-align:center;" | m/s
|-
|-
| Stiffness || style="text-align:center;" | m/s^2 || {{Version|0.19}}
| Stiffness || style="text-align:center;" | m/s^2
|-
|-
| Stress || style="text-align:center;" | Pa || {{Version|1.0}}
| Stress || style="text-align:center;" | Pa || {{Version|0.21}}
|-
|-
| String ||
| String ||
Line 204: Line 198:
| StringList ||
| StringList ||
|-
|-
| Temperature || style="text-align:center;" | K || {{Version|1.0}}
| Temperature || style="text-align:center;" | K || {{Version|0.21}}
|-
|-
| ThermalConductivity || style="text-align:center;" | W/m/K || {{Version|1.0}}
| ThermalConductivity || style="text-align:center;" | W/m/K || {{Version|0.21}}
|-
|-
| ThermalExpansionCoefficient || style="text-align:center;" | 1/K || {{Version|1.0}}
| ThermalExpansionCoefficient || style="text-align:center;" | 1/K || {{Version|0.21}}
|-
|-
| ThermalTransferCoefficient || style="text-align:center;" | W/m^2/K || {{Version|1.0}}
| ThermalTransferCoefficient || style="text-align:center;" | W/m^2/K || {{Version|0.21}}
|-
|-
| TimeSpan || style="text-align:center;" | s || {{Version|1.0}}
| Time || style="text-align:center;" | s || {{Version|0.21}}
|-
|-
| UltimateTensileStrength || style="text-align:center;" | Pa || {{Version|1.0}}
| UltimateTensileStrength || style="text-align:center;" | Pa || {{Version|0.21}}
|-
|-
| UUID ||
| UUID ||
Line 226: Line 220:
| VectorList ||
| VectorList ||
|-
|-
| Velocity|| style="text-align:center;" | m/s || {{Version|1.0}}
| Velocity || style="text-align:center;" | m/s || {{Version|0.21}}
|-
|-
| Volume || style="text-align:center;" | l or m^3
| Volume || style="text-align:center;" | l or m^3
|-
|-
| VolumeFlowRate || style="text-align:center;" | l/s or m^3/s || {{Version|1.0}}
| VolumeFlowRate || style="text-align:center;" | l/s or m^3/s || {{Version|0.21}}
|-
|-
| VolumetricThermalExpansionCoefficient || style="text-align:center;" | 1/K || {{Version|1.0}}
| VolumetricThermalExpansionCoefficient || style="text-align:center;" | 1/K || {{Version|0.21}}
|-
| Work || style="text-align:center;" | J || {{Version|0.21}}
|-
|-
| XLink ||
| XLink ||
Line 241: Line 237:
|-
|-
| XLinkSubList ||
| XLinkSubList ||
|-
| YieldStrength || style="text-align:center;" | Pa || {{Version|0.21}}
|-
| YoungsModulus || style="text-align:center;" | Pa || {{Version|0.21}}
|}
|}



Latest revision as of 16:26, 20 May 2023

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 Propriétés personnalisées de FeaturePython et PropertyLink: InList et 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 :

Name Unit (if any) Remark
Acceleration m/s^2
AmountOfSubstance mol
Angle °
Area m^2
Bool
BoolList
Color
ColorList
CurrentDensity A/m^2 introduced in version 0.21
Density kg/m^3
Direction
DissipationRate m^2/s^3 introduced in version 0.21
Distance m
DynamicViscosity Pa*s introduced in version 0.21
ElectricalCapacitance F introduced in version 0.21
ElectricalConductance S introduced in version 0.21
ElectricalConductivity S/m introduced in version 0.21
ElectricalInductance H introduced in version 0.21
ElectricalResistance Ohm introduced in version 0.21
ElectricCharge C introduced in version 0.21
ElectricCurrent A introduced in version 0.21
ElectricPotential V introduced in version 0.20
Enumeration
ExpressionEngine
File
FileIncluded
Float
FloatConstraint
FloatList
Font
Force N
Frequency Hz
HeatFlux W/m^2 introduced in version 0.21
Integer
IntegerConstraint
IntegerList
IntegerSet
InverseArea 1/m^2 introduced in version 0.21
InverseLength 1/m introduced in version 0.21
InverseVolume 1/m^3 introduced in version 0.21
KinematicViscosity m^2/s introduced in version 0.21
Length m
Link
LinkChild
LinkGlobal
LinkHidden
LinkList
LinkListChild
LinkListGlobal
LinkListHidden
LinkSub
LinkSubChild
LinkSubGlobal
LinkSubHidden
LinkSubList
LinkSubListChild
LinkSubListGlobal
LinkSubListHidden
LuminousIntensity cd introduced in version 0.21
MagneticFieldStrength A/m introduced in version 0.21
MagneticFlux Wb or V*s introduced in version 0.21
MagneticFluxDensity T introduced in version 0.21
Magnetization A/m introduced in version 0.21
Map
Mass kg introduced in version 0.21
Material
MaterialList
Matrix
PartShape a Part property, is accessed as
Part::PropertyPartShape
Path
Percent
PersistentObject
Placement
PlacementLink
PlacementList
Position
Power W introduced in version 0.21
Precision
Pressure Pa
PythonObject
Quantity
QuantityConstraint
Rotation
ShearModulus Pa introduced in version 0.21
SpecificEnergy m^2/s^2 or J/kg introduced in version 0.21
SpecificHeat J/kg/K introduced in version 0.21
Speed m/s
Stiffness m/s^2
Stress Pa introduced in version 0.21
String
StringList
Temperature K introduced in version 0.21
ThermalConductivity W/m/K introduced in version 0.21
ThermalExpansionCoefficient 1/K introduced in version 0.21
ThermalTransferCoefficient W/m^2/K introduced in version 0.21
Time s introduced in version 0.21
UltimateTensileStrength Pa introduced in version 0.21
UUID
VacuumPermittivity s^4*A^2 / (m^3*kg)
Vector
VectorDistance
VectorList
Velocity m/s introduced in version 0.21
Volume l or m^3
VolumeFlowRate l/s or m^3/s introduced in version 0.21
VolumetricThermalExpansionCoefficient 1/K introduced in version 0.21
Work J introduced in version 0.21
XLink
XLinkList
XLinkSub
XLinkSubList
YieldStrength Pa introduced in version 0.21
YoungsModulus Pa introduced in version 0.21

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

Script

Voir aussi : FreeCAD Script 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 viewprovider.

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"