Property/pl: Difference between revisions
No edit summary |
(Updating to match new version of source page) |
||
(29 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
<languages/> |
<languages/> |
||
<span id="Introduction"></span> |
|||
==Wprowadzenie== |
==Wprowadzenie== |
||
[[Property|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 [[Property editor|Edytorze właściwości]]. |
[[Property|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 [[Property editor|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. |
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== |
||
Niestandardowe [[ |
Niestandardowe [[Scripted_objects/pl|obiekty tworzone skryptami]] mogą używać dowolnych typów właściwości zdefiniowanych w systemie bazowym: |
||
{{Code|code= |
|||
{| class="sortable wikitable" |
|||
Bool |
|||
|- |
|||
Float |
|||
! Name !! Unit (if any) !! Remark |
|||
FloatList |
|||
|- |
|||
FloatConstraint |
|||
| Acceleration || style="text-align:center;" | m/s^2 |
|||
Angle |
|||
|- |
|||
Distance |
|||
| AmountOfSubstance || style="text-align:center;" | mol |
|||
ExpressionEngine |
|||
|- |
|||
Integer |
|||
| Angle || style="text-align:center;" | ° |
|||
IntegerConstraint |
|||
|- |
|||
Percent |
|||
| Area || style="text-align:center;" | m^2 |
|||
Enumeration |
|||
|- |
|||
IntegerList |
|||
| Bool || |
|||
String |
|||
|- |
|||
StringList |
|||
| BoolList || |
|||
Length |
|||
|- |
|||
Link |
|||
| Color || |
|||
LinkList |
|||
|- |
|||
LinkSubList |
|||
| ColorList || |
|||
Matrix |
|||
|- |
|||
Vector |
|||
| CurrentDensity || style="text-align:center;" | A/m^2 || {{Version|0.21}} |
|||
VectorList |
|||
|- |
|||
VectorDistance |
|||
| Density || style="text-align:center;" | kg/m^3 |
|||
Placement |
|||
|- |
|||
PlacementLink |
|||
| Direction || |
|||
PythonObject |
|||
|- |
|||
Color |
|||
| DissipationRate || style="text-align:center;" | m^2/s^3 || {{Version|0.21}} |
|||
ColorList |
|||
|- |
|||
Material |
|||
| Distance || style="text-align:center;" | m |
|||
Path |
|||
|- |
|||
File |
|||
| DynamicViscosity || style="text-align:center;" | Pa*s || {{Version|0.21}} |
|||
FileIncluded |
|||
|- |
|||
PartShape |
|||
| ElectricalCapacitance || style="text-align:center;" | F || {{Version|0.21}} |
|||
FilletContour |
|||
|- |
|||
Circle |
|||
| ElectricalConductance || style="text-align:center;" | S || {{Version|0.21}} |
|||
}} |
|||
|- |
|||
| ElectricalConductivity || style="text-align:center;" | S/m || {{Version|0.21}} |
|||
|- |
|||
| ElectricalInductance|| style="text-align:center;" | H || {{Version|0.21}} |
|||
|- |
|||
| ElectricalResistance || style="text-align:center;" | Ohm || {{Version|0.21}} |
|||
|- |
|||
| ElectricCharge || style="text-align:center;" | C || {{Version|0.21}} |
|||
|- |
|||
| ElectricCurrent || style="text-align:center;" | A || {{Version|0.21}} |
|||
|- |
|||
| ElectricPotential || style="text-align:center;" | V || {{Version|0.20}} |
|||
|- |
|||
| Enumeration || |
|||
|- |
|||
| ExpressionEngine || |
|||
|- |
|||
| File || |
|||
|- |
|||
| FileIncluded || |
|||
|- |
|||
| Float || |
|||
|- |
|||
| FloatConstraint || |
|||
|- |
|||
| FloatList || |
|||
|- |
|||
| Font || |
|||
|- |
|||
| Force || style="text-align:center;" | N |
|||
|- |
|||
| Frequency || style="text-align:center;" | Hz |
|||
|- |
|||
| HeatFlux || style="text-align:center;" | W/m^2|| {{Version|0.21}} |
|||
|- |
|||
| Integer || |
|||
|- |
|||
| IntegerConstraint || |
|||
|- |
|||
| IntegerList || |
|||
|- |
|||
| IntegerSet || |
|||
|- |
|||
| InverseArea || style="text-align:center;" | 1/m^2 || {{Version|0.21}} |
|||
|- |
|||
| InverseLength || style="text-align:center;" | 1/m || {{Version|0.21}} |
|||
|- |
|||
| InverseVolume || style="text-align:center;" | 1/m^3 || {{Version|0.21}} |
|||
|- |
|||
| KinematicViscosity || style="text-align:center;" | m^2/s || {{Version|0.21}} |
|||
|- |
|||
| Length || style="text-align:center;" | m |
|||
|- |
|||
| Link || |
|||
|- |
|||
| LinkChild || |
|||
|- |
|||
| LinkGlobal || |
|||
|- |
|||
| LinkHidden || |
|||
|- |
|||
| LinkList || |
|||
|- |
|||
| LinkListChild || |
|||
|- |
|||
| LinkListGlobal || |
|||
|- |
|||
| LinkListHidden || |
|||
|- |
|||
| LinkSub || |
|||
|- |
|||
| LinkSubChild || |
|||
|- |
|||
| LinkSubGlobal || |
|||
|- |
|||
| LinkSubHidden || |
|||
|- |
|||
| LinkSubList || |
|||
|- |
|||
| LinkSubListChild || |
|||
|- |
|||
| LinkSubListGlobal || |
|||
|- |
|||
| LinkSubListHidden || |
|||
|- |
|||
| LuminousIntensity || style="text-align:center;" | cd || {{Version|0.21}} |
|||
|- |
|||
| MagneticFieldStrength || style="text-align:center;" | A/m || {{Version|0.21}} |
|||
|- |
|||
| MagneticFlux || style="text-align:center;" | Wb or V*s || {{Version|0.21}} |
|||
|- |
|||
| MagneticFluxDensity || style="text-align:center;" | T || {{Version|0.21}} |
|||
|- |
|||
| Magnetization || style="text-align:center;" | A/m || {{Version|0.21}} |
|||
|- |
|||
| Map || |
|||
|- |
|||
| Mass || style="text-align:center;" | kg || {{Version|0.21}} |
|||
|- |
|||
| Material || |
|||
|- |
|||
| MaterialList || |
|||
|- |
|||
| Matrix || |
|||
|- |
|||
| PartShape || || a Part property, is accessed as</br>{{incode|Part::PropertyPartShape}} |
|||
|- |
|||
| Path || |
|||
|- |
|||
| Percent || |
|||
|- |
|||
| PersistentObject || |
|||
|- |
|||
| Placement || |
|||
|- |
|||
| PlacementLink || |
|||
|- |
|||
| PlacementList || |
|||
|- |
|||
| Position || |
|||
|- |
|||
| Power || style="text-align:center;" | W || {{Version|0.21}} |
|||
|- |
|||
| Precision || |
|||
|- |
|||
| Pressure || style="text-align:center;" | Pa |
|||
|- |
|||
| PythonObject || |
|||
|- |
|||
| Quantity || |
|||
|- |
|||
| QuantityConstraint || |
|||
|- |
|||
| Rotation || |
|||
|- |
|||
| ShearModulus || style="text-align:center;" | Pa || {{Version|0.21}} |
|||
|- |
|||
| SpecificEnergy || style="text-align:center;" | m^2/s^2 or J/kg || {{Version|0.21}} |
|||
|- |
|||
| SpecificHeat || style="text-align:center;" | J/kg/K || {{Version|0.21}} |
|||
|- |
|||
| Speed || style="text-align:center;" | m/s |
|||
|- |
|||
| Stiffness || style="text-align:center;" | m/s^2 |
|||
|- |
|||
| Stress || style="text-align:center;" | Pa || {{Version|0.21}} |
|||
|- |
|||
| String || |
|||
|- |
|||
| StringList || |
|||
|- |
|||
| Temperature || style="text-align:center;" | K || {{Version|0.21}} |
|||
|- |
|||
| ThermalConductivity || style="text-align:center;" | W/m/K || {{Version|0.21}} |
|||
|- |
|||
| ThermalExpansionCoefficient || style="text-align:center;" | 1/K || {{Version|0.21}} |
|||
|- |
|||
| ThermalTransferCoefficient || style="text-align:center;" | W/m^2/K || {{Version|0.21}} |
|||
|- |
|||
| Time || style="text-align:center;" | s || {{Version|0.21}} |
|||
|- |
|||
| UltimateTensileStrength || style="text-align:center;" | Pa || {{Version|0.21}} |
|||
|- |
|||
| UUID || |
|||
|- |
|||
| VacuumPermittivity || style="text-align:center;" | s^4*A^2 / (m^3*kg) |
|||
|- |
|||
| Vector || |
|||
|- |
|||
| VectorDistance || |
|||
|- |
|||
| VectorList || |
|||
|- |
|||
| Velocity || style="text-align:center;" | m/s || {{Version|0.21}} |
|||
|- |
|||
| Volume || style="text-align:center;" | l or m^3 |
|||
|- |
|||
| VolumeFlowRate || style="text-align:center;" | l/s or m^3/s || {{Version|0.21}} |
|||
|- |
|||
| VolumetricThermalExpansionCoefficient || style="text-align:center;" | 1/K || {{Version|0.21}} |
|||
|- |
|||
| Work || style="text-align:center;" | J || {{Version|0.21}} |
|||
|- |
|||
| XLink || |
|||
|- |
|||
| XLinkList || |
|||
|- |
|||
| XLinkSub || |
|||
|- |
|||
| XLinkSubList || |
|||
|- |
|||
| YieldStrength || style="text-align:center;" | Pa || {{Version|0.21}} |
|||
|- |
|||
| YoungsModulus || style="text-align:center;" | Pa || {{Version|0.21}} |
|||
|} |
|||
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 67: | Line 264: | ||
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== |
||
{{Emphasis|Zobacz również:}} [[ |
{{Emphasis|Zobacz również:}} [[FreeCAD_Scripting_Basics/pl|FreeCAD podstawy tworzenia skryptów]]. |
||
[[ |
[[Scripted_objects/pl|Obiekty tworzone skryptami]] jest generowany w pierwszej kolejności, a następnie przypisywane są mu właściwości. |
||
{{Code|code= |
{{Code|code= |
||
obj = App.ActiveDocument.addObject("Part::Feature", "CustomObject") |
obj = App.ActiveDocument.addObject("Part::Feature", "CustomObject") |
||
Line 86: | Line 284: | ||
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") |
||
}} |
|||
{{docnav/pl |
|||
|[[Interface Customization/pl|Dostosowywanie interfejsu użytkownika do własnych potrzeb]] |
|||
|[[Workbenches/pl|Środowiska pracy]] |
|||
}} |
}} |
||
<span id="Source_code"></span> |
|||
{{[[Userdocnavi/pl|Dokumentacja użytkownika]]}} |
|||
==Kod źródłowy== |
|||
W kodzie źródłowym właściwości znajdują się w różnych plikach {{FileName|src/App/Property*}}. |
|||
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= |
|||
#include "Property.h" |
|||
#include "PropertyContainer.h" |
|||
#include "PropertyUnits.h" |
|||
#include "PropertyFile.h" |
|||
#include "PropertyLinks.h" |
|||
#include "PropertyPythonObject.h" |
|||
#include "PropertyExpressionEngine.h" |
|||
}} |
|||
[[Category:Base]] |
|||
{{Powerdocnavi{{#translation:}}}} |
|||
{{clear}} |
|||
[[Category:Developer Documentation{{#translation:}}]] |
|||
[[Category:Python Code{{#translation:}}]] |
Latest revision as of 16:27, 20 May 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 asPart::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 |
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"
- Tworzenie skryptów FreeCAD: Python, Wprowadzenie do środowiska Python, Poradnik: Tworzenie skryptów Python, Podstawy tworzenia skryptów FreeCAD
- Moduły: Moduły wbudowane, Jednostki miar, Ilość
- Środowiska pracy: Tworzenie Środowiska pracy, Polecenia Gui, Polecenia, Instalacja większej liczby Środowisk pracy
- Siatki i elementy: Skrytpy w Środowisku Siatek, v, Konwerska Mesh na Part, PythonOCC
- Obiekty parametryczne: Obiekty tworzone skryptami, Obsługa obrazu (Ikonka niestandardowa w widoku drzewa)
- Scenegraph: Coin (Inventor) scenegraph, Pivy
- Interfejs graficzny: Stworzenie interfejsu, Kompletne stworzenie interfejsu w środowisku Python (1, 2, 3, 4, 5), PySide, PySide examples początkujący, średniozaawansowany, zaawansowany
- Makrodefinicje: Makrodefinicje, Instalacja makrodefinicji
- Osadzanie programu: Osadzanie programu FreeCAD, Osadzanie GUI FreeCAD
- Pozostałe: Wyrażenia, Wycinki kodu, Funkcja kreślenia linii, Biblioteka matematyczna FreeCAD dla wektorów (deprecated)
- Węzły użytkowników: Centrum użytkownika, Centrum Power użytkowników, Centrum programisty