Property/pl: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Updating to match new version of source page)
Line 33: Line 33:
| 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 39: Line 39:
| 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}}
Line 81: Line 81:
| Frequency || style="text-align:center;" | Hz
| Frequency || style="text-align:center;" | Hz
|-
|-
| HeatFlux || style="text-align:center;" | W/m^2|| {{Version|1.0}}
| HeatFlux || style="text-align:center;" | W/m^2|| {{Version|0.21}}
|-
|-
| Integer ||
| Integer ||
Line 91: Line 91:
| 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 133: Line 133:
| LinkSubListHidden ||
| LinkSubListHidden ||
|-
|-
| LuminousIntensity || style="text-align:center;" | cd || {{Version|1.0}}
| LuminousIntensity || style="text-align:center;" | cd || {{Version|0.21}}
|-
|-
| MagneticFieldStrength || style="text-align:center;" | A/m || {{Version|1.0}}
| MagneticFieldStrength || style="text-align:center;" | A/m || {{Version|0.21}}
|-
|-
| MagneticFlux || style="text-align:center;" | Wb or V*s || {{Version|1.0}}
| MagneticFlux || style="text-align:center;" | Wb or V*s || {{Version|0.21}}
|-
|-
| MagneticFluxDensity || style="text-align:center;" | T || {{Version|1.0}}
| MagneticFluxDensity || style="text-align:center;" | T || {{Version|0.21}}
|-
|-
| Magnetization || style="text-align:center;" | A/m || {{Version|1.0}}
| Magnetization || style="text-align:center;" | A/m || {{Version|0.21}}
|-
|-
| Map ||
| Map ||
|-
|-
| Mass || style="text-align:center;" | kg || {{Version|1.0}}
| Mass || style="text-align:center;" | kg || {{Version|0.21}}
|-
|-
| Material ||
| Material ||
Line 169: Line 169:
| Position ||
| Position ||
|-
|-
| Power || style="text-align:center;" | W || {{Version|1.0}}
| Power || style="text-align:center;" | W || {{Version|0.21}}
|-
|-
| Precision ||
| Precision ||
Line 183: Line 183:
| 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
Line 193: Line 193:
| Stiffness || style="text-align:center;" | m/s^2 || {{Version|0.19}}
| Stiffness || style="text-align:center;" | m/s^2 || {{Version|0.19}}
|-
|-
| Stress || style="text-align:center;" | Pa || {{Version|1.0}}
| Stress || style="text-align:center;" | Pa || {{Version|0.21}}
|-
|-
| String ||
| String ||
Line 199: Line 199:
| 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}}
|-
|-
| Time || 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 221: Line 221:
| 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|1.0}}
| Work || style="text-align:center;" | J || {{Version|0.21}}
|-
|-
| XLink ||
| XLink ||
Line 239: Line 239:
| XLinkSubList ||
| XLinkSubList ||
|-
|-
| YieldStrength || style="text-align:center;" | Pa || {{Version|1.0}}
| YieldStrength || style="text-align:center;" | Pa || {{Version|0.21}}
|-
|-
| YoungsModulus || style="text-align:center;" | Pa || {{Version|1.0}}
| YoungsModulus || style="text-align:center;" | Pa || {{Version|0.21}}
|}
|}



Revision as of 19:54, 29 April 2023

Wprowadzenie

Właściwości to informacje takie jak liczba lub łańcuch tekstowy, który jest dołączony do dokumentu FreeCAD, lub obiektu w dokumencie. Właściwości ogólnodostępne można przeglądać i modyfikować w Edytorze właściwości.

Właściwości odgrywają bardzo ważną rolę w FreeCAD. Ponieważ obiekty w FreeCAD są parametryczne, oznacza to, że ich zachowanie jest definiowane przez ich właściwości, i jak te właściwości są wykorzystywane jako dane wejściowe dla ich metod klasowych. Zobacz również Właściwości niestandardowe funkcji Python oraz wskaźnik właściwości: InList oraz OutList.

Wszystkie rodzaje właściwości

Niestandardowe obiekty tworzone skryptami mogą używać dowolnych typów właściwości zdefiniowanych w systemie bazowym:

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 introduced in version 0.19
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

Wewnętrzne, nazwa właściwości jest poprzedzona przez App::Property:

App::PropertyBool
App::PropertyFloat
App::PropertyFloatList
...

Pamiętajcie, że to są właściwości typów. Pojedynczy obiekt może mieć wiele właściwości tego samego typu, ale o różnych nazwach.

Dla przykładu:

obj.addProperty("App::PropertyFloat", "Length")
obj.addProperty("App::PropertyFloat", "Width")
obj.addProperty("App::PropertyFloat", "Height")

Wskazuje to obiekt o trzech właściwościach typu Float, nazwanych odpowiednio Długość, Szerokość i Wysokość.

Tworzenie skryptów

Zobacz również: FreeCAD podstawy tworzenia skryptów.

Obiekty tworzone skryptami jest generowany w pierwszej kolejności, a następnie przypisywane są mu właściwości.

obj = App.ActiveDocument.addObject("Part::Feature", "CustomObject")

obj.addProperty("App::PropertyFloat", "Velocity", "Parameter", "Body speed")
obj.addProperty("App::PropertyBool", "VelocityEnabled", "Parameter", "Enable body speed")

Ogólnie rzecz biorąc, właściwości Dane są przypisywane za pomocą metody obiektu addProperty(). Z drugiej strony, właściwości Widok są zazwyczaj dostarczane automatycznie przez obiekt nadrzędny, z którego pochodzi skrypt.

Na przykład:

  • Pochodzący z App::FeaturePython dostarcza tylko 4 właściwości widoku: Tryb wyświetlania, Na górze po wybraniu, Pokaż w drzewie, i Widoczność.
  • Pochodzący z Part::Feature dostarcza 17 właściwości widoku: poprzednie cztery, plus Odchylenie kątowe, Ramka wiążąca, Odchylenie, Styl rysowania, Oświetlenie, Kolor linii, Szerokość linii, Kolor punktu, Rozmiar punktu, Wybór, Styl wyboru, Kolor kształtu i Przezroczystość.

Niemniej jednak, właściwości widoku można również przypisać za pomocą metody obiektu dostawcy widoku addProperty().

obj.ViewObject.addProperty("App::PropertyBool", "SuperVisibility", "Base", "Make the object glow")

Kod źródłowy

W kodzie źródłowym właściwości znajdują się w różnych plikach src/App/Property*.

Są one importowane i inicjowane w 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"