Property/pl: Difference between revisions
No edit summary |
(Updating to match new version of source page) |
||
Line 62: | Line 62: | ||
|- |
|- |
||
| Enumeration || |
| Enumeration || |
||
⚫ | |||
| ExpressionContainer || |
|||
|- |
|- |
||
| ExpressionEngine || |
| ExpressionEngine || |
||
Line 82: | Line 80: | ||
|- |
|- |
||
| Frequency || style="text-align:center;" | Hz |
| Frequency || style="text-align:center;" | Hz |
||
⚫ | |||
| Geometry || |
|||
|- |
|- |
||
| HeatFlux || style="text-align:center;" | W/m^2|| {{Version|1.0}} |
| HeatFlux || style="text-align:center;" | W/m^2|| {{Version|1.0}} |
||
Line 136: | Line 132: | ||
|- |
|- |
||
| LinkSubListHidden || |
| LinkSubListHidden || |
||
⚫ | |||
| Lists || |
|||
|- |
|- |
||
| LuminousIntensity || style="text-align:center;" | cd || {{Version|1.0}} |
| LuminousIntensity || style="text-align:center;" | cd || {{Version|1.0}} |
||
Line 158: | Line 152: | ||
|- |
|- |
||
| Matrix || |
| Matrix || |
||
|- |
|||
| PartShape || |
|||
|- |
|- |
||
| Path || |
| Path || |
||
Line 213: | Line 205: | ||
| ThermalTransferCoefficient || style="text-align:center;" | W/m^2/K || {{Version|1.0}} |
| ThermalTransferCoefficient || style="text-align:center;" | W/m^2/K || {{Version|1.0}} |
||
|- |
|- |
||
| |
| Time || style="text-align:center;" | s || {{Version|1.0}} |
||
|- |
|- |
||
| UltimateTensileStrength || style="text-align:center;" | Pa || {{Version|1.0}} |
| UltimateTensileStrength || style="text-align:center;" | Pa || {{Version|1.0}} |
||
Line 226: | Line 218: | ||
|- |
|- |
||
| VectorList || |
| VectorList || |
||
|- |
|||
⚫ | |||
|- |
|- |
||
| Volume || style="text-align:center;" | l or m^3 |
| Volume || style="text-align:center;" | l or m^3 |
||
Line 234: | Line 224: | ||
|- |
|- |
||
| VolumetricThermalExpansionCoefficient || style="text-align:center;" | 1/K || {{Version|1.0}} |
| VolumetricThermalExpansionCoefficient || style="text-align:center;" | 1/K || {{Version|1.0}} |
||
⚫ | |||
⚫ | |||
|- |
|- |
||
| XLink || |
| XLink || |
||
Line 242: | Line 234: | ||
|- |
|- |
||
| XLinkSubList || |
| XLinkSubList || |
||
⚫ | |||
| YieldStrength || style="text-align:center;" | Pa || {{Version|1.0}} |
|||
⚫ | |||
| YoungsModulus || style="text-align:center;" | Pa || {{Version|1.0}} |
|||
|} |
|} |
||
Revision as of 18:22, 19 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 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 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 | ||
ExpressionEngine | ||
File | ||
FileIncluded | ||
Float | ||
FloatConstraint | ||
FloatList | ||
Font | ||
Force | N | |
Frequency | Hz | |
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 | ||
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 | ||
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 |
Time | 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 | ||
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 |
Work | J | introduced in version 1.0 |
XLink | ||
XLinkList | ||
XLinkSub | ||
XLinkSubList | ||
YieldStrength | Pa | introduced in version 1.0 |
YoungsModulus | Pa | introduced in version 1.0 |
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