Property/pl: Difference between revisions

From FreeCAD Documentation
No edit summary
(Updating to match new version of source page)
Line 1: Line 1:
<languages/>
<languages/>


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


Line 7: Line 8:
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ż [[FeaturePython_Custom_Properties/pl|Właściwości niestandardowe funkcji Python]] oraz [[PropertyLink:_InList_and_OutList/pl|wskaźnik właściwości: InList oraz OutList]].
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ż [[FeaturePython_Custom_Properties/pl|Właściwości niestandardowe funkcji Python]] oraz [[PropertyLink:_InList_and_OutList/pl|wskaźnik właściwości: InList oraz OutList]].


<span id="All_property_types"></span>
==Wszystkie rodzaje właściwości==
==Wszystkie rodzaje właściwości==


<div class="mw-translate-fuzzy">
Niestandardowe [[scripted objects|obiekty skryptowe]] mogą używać dowolnych typów właściwości zdefiniowanych w systemie bazowym:
Niestandardowe [[scripted objects|obiekty skryptowe]] mogą używać dowolnych typów właściwości zdefiniowanych w systemie bazowym:
</div>


{| class="sortable wikitable"
{{Code|code=
|-
Acceleration
! Name !! Unit (if any) !! Remark
Angle
|-
Area
| Acceleration || style="text-align:center;" | m/s^2
Bool
|-
BoolList
| AmountOfSubstance || style="text-align:center;" | mol
Color
|-
ColorList
| Angle || style="text-align:center;" | °
Direction
|-
Distance
| Area || style="text-align:center;" | m^2
ElectricPotential
|-
Enumeration
| Bool ||
ExpressionContainer
|-
ExpressionEngine
| BoolList ||
File
|-
FileIncluded
| Color ||
Float
|-
FloatConstraint
| ColorList ||
FloatList
|-
Font
| CurrentDensity || style="text-align:center;" | A/m^2 || {{Version|1.0}}
Force
|-
Frequency
| Density || style="text-align:center;" | kg/m^3
Geometry
|-
Integer
| Direction ||
IntegerConstraint
|-
IntegerList
| DissipationRate || style="text-align:center;" | m^2/s^3 || {{Version|1.0}}
IntegerSet
|-
Length
| Distance || style="text-align:center;" | m
Link
|-
LinkList
| DynamicViscosity || style="text-align:center;" | Pa*s || {{Version|1.0}}
LinkSubList
|-
Lists
| ElectricalCapacitance || style="text-align:center;" | F || {{Version|1.0}}
Map
|-
Material
| ElectricalConductance || style="text-align:center;" | S || {{Version|1.0}}
MaterialList
|-
Matrix
| ElectricalConductivity || style="text-align:center;" | S/m || {{Version|1.0}}
PartShape
|-
Path
| ElectricalInductance|| style="text-align:center;" | H || {{Version|1.0}}
Percent
|-
Placement
| ElectricalResistance || style="text-align:center;" | Ohm || {{Version|1.0}}
PlacementLink
|-
PlacementList
| ElectricCharge || style="text-align:center;" | C || {{Version|1.0}}
Position
|-
Precision
| ElectricCurrent || style="text-align:center;" | A || {{Version|1.0}}
Pressure
|-
PythonObject
| ElectricPotential || style="text-align:center;" | V || {{Version|0.20}}
Quantity
|-
QuantityConstraint
| Enumeration ||
Rotation
|-
Speed
| ExpressionContainer ||
Stiffness
|-
String
| ExpressionEngine ||
StringList
|-
VacuumPermittivity
| File ||
Vector
|-
VectorDistance
| FileIncluded ||
VectorList
|-
Volume
| Float ||
}}
|-
| FloatConstraint ||
|-
| FloatList ||
|-
| Font ||
|-
| Force || style="text-align:center;" | N
|-
| Frequency || style="text-align:center;" | Hz
|-
| Geometry ||
|-
| HeatFlux || style="text-align:center;" | W/m^2|| {{Version|1.0}}
|-
| Integer ||
|-
| IntegerConstraint ||
|-
| IntegerList ||
|-
| IntegerSet ||
|-
| InverseArea || style="text-align:center;" | 1/m^2 || {{Version|1.0}}
|-
| InverseLength || style="text-align:center;" | 1/m || {{Version|1.0}}
|-
| InverseVolume || style="text-align:center;" | 1/m^3 || {{Version|1.0}}
|-
| KinematicViscosity || style="text-align:center;" | m^2/s || {{Version|1.0}}
|-
| Length || style="text-align:center;" | m
|-
| Link ||
|-
| LinkChild ||
|-
| LinkGlobal ||
|-
| LinkHidden ||
|-
| LinkList ||
|-
| LinkListChild ||
|-
| LinkListGlobal ||
|-
| LinkListHidden ||
|-
| LinkSub ||
|-
| LinkSubChild ||
|-
| LinkSubGlobal ||
|-
| LinkSubHidden ||
|-
| LinkSubList ||
|-
| LinkSubListChild ||
|-
| LinkSubListGlobal ||
|-
| LinkSubListHidden ||
|-
| Lists ||
|-
| LuminousIntensity || style="text-align:center;" | cd || {{Version|1.0}}
|-
| MagneticFieldStrength || style="text-align:center;" | A/m || {{Version|1.0}}
|-
| MagneticFlux || style="text-align:center;" | Wb or V*s || {{Version|1.0}}
|-
| MagneticFluxDensity || style="text-align:center;" | T || {{Version|1.0}}
|-
| Magnetization || style="text-align:center;" | A/m || {{Version|1.0}}
|-
| Map ||
|-
| Mass || style="text-align:center;" | kg || {{Version|1.0}}
|-
| Material ||
|-
| MaterialList ||
|-
| Matrix ||
|-
| PartShape ||
|-
| Path ||
|-
| Percent ||
|-
| PersistentObject ||
|-
| Placement ||
|-
| PlacementLink ||
|-
| PlacementList ||
|-
| Position ||
|-
| Power || style="text-align:center;" | W || {{Version|1.0}}
|-
| Precision ||
|-
| Pressure || style="text-align:center;" | Pa
|-
| PythonObject ||
|-
| Quantity ||
|-
| QuantityConstraint ||
|-
| Rotation ||
|-
| ShearModulus || style="text-align:center;" | Pa || {{Version|1.0}}
|-
| SpecificEnergy || style="text-align:center;" | m^2/s^2 or J/kg || {{Version|1.0}}
|-
| SpecificHeat || style="text-align:center;" | J/kg/K || {{Version|1.0}}
|-
| Speed || style="text-align:center;" | m/s
|-
| Stiffness || style="text-align:center;" | m/s^2 || {{Version|0.19}}
|-
| Stress || style="text-align:center;" | Pa || {{Version|1.0}}
|-
| String ||
|-
| StringList ||
|-
| Temperature || style="text-align:center;" | K || {{Version|1.0}}
|-
| ThermalConductivity || style="text-align:center;" | W/m/K || {{Version|1.0}}
|-
| ThermalExpansionCoefficient || style="text-align:center;" | 1/K || {{Version|1.0}}
|-
| ThermalTransferCoefficient || style="text-align:center;" | W/m^2/K || {{Version|1.0}}
|-
| TimeSpan || style="text-align:center;" | s || {{Version|1.0}}
|-
| UltimateTensileStrength || style="text-align:center;" | Pa || {{Version|1.0}}
|-
| UUID ||
|-
| VacuumPermittivity || style="text-align:center;" | s^4*A^2 / (m^3*kg)
|-
| Vector ||
|-
| VectorDistance ||
|-
| VectorList ||
|-
| Velocity|| style="text-align:center;" | m/s || {{Version|1.0}}
|-
| Volume || style="text-align:center;" | l or m^3
|-
| VolumeFlowRate || style="text-align:center;" | l/s or m^3/s || {{Version|1.0}}
|-
| VolumetricThermalExpansionCoefficient || style="text-align:center;" | 1/K || {{Version|1.0}}
|-
| XLink ||
|-
| XLinkList ||
|-
| XLinkSub ||
|-
| XLinkSubList ||
|}


Wewnętrzne, nazwa właściwości jest poprzedzona przez {{incode|App::Property}}:
Wewnętrzne, nazwa właściwości jest poprzedzona przez {{incode|App::Property}}:
Line 91: Line 266:
Wskazuje to obiekt o trzech właściwościach typu '''Float''', nazwanych odpowiednio Długość, Szerokość i Wysokość.
Wskazuje to obiekt o trzech właściwościach typu '''Float''', nazwanych odpowiednio Długość, Szerokość i Wysokość.


<span id="Scripting"></span>
==Tworzenie skryptów==
==Tworzenie skryptów==


<div class="mw-translate-fuzzy">
{{Emphasis|Zobacz również:}} [[FreeCAD_Scripting_Basics/pl|FreeCAD podstawy tworzenia skryptów]].
{{Emphasis|Zobacz również:}} [[FreeCAD_Scripting_Basics/pl|FreeCAD podstawy tworzenia skryptów]].
</div>


<div class="mw-translate-fuzzy">
[[scripted objects|Obiekt skryptowy]] jest tworzony najpierw, a następnie przypisywane są mu właściwości.
[[scripted objects|Obiekt skryptowy]] jest tworzony najpierw, a następnie przypisywane są mu właściwości.
</div>
{{Code|code=
{{Code|code=
obj = App.ActiveDocument.addObject("Part::Feature", "CustomObject")
obj = App.ActiveDocument.addObject("Part::Feature", "CustomObject")
Line 110: Line 290:


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

{{Code|code=
{{Code|code=
obj.ViewObject.addProperty("App::PropertyBool", "SuperVisibility", "Base", "Make the object glow")
obj.ViewObject.addProperty("App::PropertyBool", "SuperVisibility", "Base", "Make the object glow")
}}
}}


<span id="Source_code"></span>
==Kod źródłowy==
==Kod źródłowy==


Line 119: Line 301:


Są one importowane i inicjowane w {{incode|[https://github.com/FreeCAD/FreeCAD/blob/9c27f1078e5ec516fe882aac1a27f5c6c6174554/src/App/Application.cpp#L1681-L1758 src/App/Application.cpp]}}.
Są one importowane i inicjowane w {{incode|[https://github.com/FreeCAD/FreeCAD/blob/9c27f1078e5ec516fe882aac1a27f5c6c6174554/src/App/Application.cpp#L1681-L1758 src/App/Application.cpp]}}.

{{Code|lang=cpp|code=
{{Code|lang=cpp|code=
#include "Property.h"
#include "Property.h"
Line 128: Line 311:
#include "PropertyExpressionEngine.h"
#include "PropertyExpressionEngine.h"
}}
}}



{{Powerdocnavi{{#translation:}}}}
{{Powerdocnavi{{#translation:}}}}
[[Category:Developer Documentation{{#translation:}}]]
[[Category:Developer Documentation{{#translation:}}]]
[[Category:Python Code{{#translation:}}]]
[[Category:Python Code{{#translation:}}]]
{{clear}}

Revision as of 17:29, 17 March 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 skryptowe 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 1.0
Density kg/m^3
Direction
DissipationRate m^2/s^3 introduced in version 1.0
Distance m
DynamicViscosity Pa*s introduced in version 1.0
ElectricalCapacitance F introduced in version 1.0
ElectricalConductance S introduced in version 1.0
ElectricalConductivity S/m introduced in version 1.0
ElectricalInductance H introduced in version 1.0
ElectricalResistance Ohm introduced in version 1.0
ElectricCharge C introduced in version 1.0
ElectricCurrent A introduced in version 1.0
ElectricPotential V introduced in version 0.20
Enumeration
ExpressionContainer
ExpressionEngine
File
FileIncluded
Float
FloatConstraint
FloatList
Font
Force N
Frequency Hz
Geometry
HeatFlux W/m^2 introduced in version 1.0
Integer
IntegerConstraint
IntegerList
IntegerSet
InverseArea 1/m^2 introduced in version 1.0
InverseLength 1/m introduced in version 1.0
InverseVolume 1/m^3 introduced in version 1.0
KinematicViscosity m^2/s introduced in version 1.0
Length m
Link
LinkChild
LinkGlobal
LinkHidden
LinkList
LinkListChild
LinkListGlobal
LinkListHidden
LinkSub
LinkSubChild
LinkSubGlobal
LinkSubHidden
LinkSubList
LinkSubListChild
LinkSubListGlobal
LinkSubListHidden
Lists
LuminousIntensity cd introduced in version 1.0
MagneticFieldStrength A/m introduced in version 1.0
MagneticFlux Wb or V*s introduced in version 1.0
MagneticFluxDensity T introduced in version 1.0
Magnetization A/m introduced in version 1.0
Map
Mass kg introduced in version 1.0
Material
MaterialList
Matrix
PartShape
Path
Percent
PersistentObject
Placement
PlacementLink
PlacementList
Position
Power W introduced in version 1.0
Precision
Pressure Pa
PythonObject
Quantity
QuantityConstraint
Rotation
ShearModulus Pa introduced in version 1.0
SpecificEnergy m^2/s^2 or J/kg introduced in version 1.0
SpecificHeat J/kg/K introduced in version 1.0
Speed m/s
Stiffness m/s^2 introduced in version 0.19
Stress Pa introduced in version 1.0
String
StringList
Temperature K introduced in version 1.0
ThermalConductivity W/m/K introduced in version 1.0
ThermalExpansionCoefficient 1/K introduced in version 1.0
ThermalTransferCoefficient W/m^2/K introduced in version 1.0
TimeSpan s introduced in version 1.0
UltimateTensileStrength Pa introduced in version 1.0
UUID
VacuumPermittivity s^4*A^2 / (m^3*kg)
Vector
VectorDistance
VectorList
Velocity m/s introduced in version 1.0
Volume l or m^3
VolumeFlowRate l/s or m^3/s introduced in version 1.0
VolumetricThermalExpansionCoefficient 1/K introduced in version 1.0
XLink
XLinkList
XLinkSub
XLinkSubList

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

Obiekt skryptowy jest tworzony najpierw, 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"