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 Widoku 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.
Niestandardowe obiekty tworzone skryptami mogą używać dowolnych typów właściwości zdefiniowanych w systemie bazowym:
| Nazwa | Jednostka (jeśli jest) | Uwaga | |
|---|---|---|---|
| Przyspieszenie | m/s^2 | ||
| Liczność materii | mol | ||
| Kąt | ° | ||
| Pole powierzchni | m^2 | ||
| Logiczne | |||
| Lista logiczna | |||
| Kolor | |||
| Lista kolorów | |||
| Gęstość prądu | A/m^2 | ||
| Gęstość | kg/m^3 | ||
| Kierunek | |||
| Szybkość dysypacji | m^2/s^3 | ||
| Odległość | m | ||
| Lepkość dynamiczna | Pa*s | ||
| Pojemność elektryczna | F | ||
| Przewodność elektryczna | S | ||
| Przewodność elektryczna właściwa | S/m | ||
| Indukcyjność elektryczna | H | ||
| Rezystancja elektryczna | Ohm | ||
| Ładunek elektryczny | C | ||
| Prąd elektryczny | A | ||
| Potencjał elektryczny | V | ||
| Wyliczenie | |||
| Silnik wyrażeń | |||
| Plik | |||
| FileIncluded | |||
| Zmiennoprzecinkowe | |||
| Zmiennoprzecinkowa stała | |||
| Lista zmiennoprzecinkowa | |||
| Czcionka | |||
| Siła | N | ||
| Częstotliwość | Hz | ||
| Strumień ciepła | W/m^2 | ||
| Liczba całkowita | |||
| Wiązanie liczby całkowitej | |||
| Lista liczby całkowitej | |||
| Zestaw liczby całkowitej | |||
| Odwrotność pola powierzchni | 1/m^2 | ||
| Odwrotność długości | 1/m | ||
| Odwrotność objętości | 1/m^3 | ||
| Lepkość kinematyczna | m^2/s | ||
| Długość | m | ||
| Łącze | |||
| Łącze podrzędne | |||
| Łącze globalne | |||
| Łącze ukryte | |||
| Lista łączy | |||
| Lista łączy podrzędnych | |||
| Lista łączy globalnych | |||
| Lista łączy ukrytych | |||
| Subłącze | |||
| Subłącze podrzędne | |||
| Subłącze globalne | |||
| Subłącze ukryte | |||
| Lista subłączy | |||
| Lista subłączy podrzędnych | |||
| Lista subłączy globalnych | |||
| Lista subłączy ukrytych | |||
| Światłość | cd | ||
| Natężenie pola magnetycznego | A/m | ||
| Strumień magnetyczny | Wb lub V*s | ||
| Indukcja magnetyczna | T | ||
| Magnetyzacja | A/m | ||
| Mapa | |||
| Masa | kg | ||
| Materiał | |||
| Lista materiałów | |||
| Macierz | |||
| Kształt części | właściwość Części, dostępna jakoPart::PropertyPartShape |
||
| Ścieżka | |||
| Procent | |||
| Trwały obiekt | |||
| Umiejscowienie | |||
| Łącze umiejscowienia | |||
| Lista umiejscowienia | |||
| Położenie | |||
| Moc | W | ||
| Precyzja | |||
| Ciśnienie | Pa | ||
| Obiekt Pythona | |||
| Wielkość | |||
| Wiązanie wielkości | |||
| Obrót | |||
| Moduł Kirchhoffa | Pa | ||
| Energia właściwa | m^2/s^2 lub J/kg | ||
| Ciepło właściwe | J/kg/K | ||
| Szybkość | m/s | ||
| Sztywność | m/s^2 | ||
| Naprężenie | Pa | ||
| Ciąg znaków | |||
| Lista ciągu znaków | |||
| Temperatura | K | ||
| Przewodność cieplna | W/m/K | ||
| Współczynnik rozszerzalności cieplnej | 1/K | ||
| Współczynnik wymiany ciepła | W/m^2/K | ||
| Czas | s | ||
| Wytrzymałość na rozciąganie | Pa | ||
| UUID | |||
| Przenikalność elektryczna próżni | s^4*A^2 / (m^3*kg) | ||
| Wektor | |||
| Odległość wektorowa | |||
| Lista wektorowa | |||
| Prędkość | m/s | ||
| Objętość | l lub m^3 | ||
| Strumień objętości | l/s lub m^3/s | ||
| Objętościowy współczynnik rozszerzalności cieplnej | 1/K | ||
| Praca | J | ||
| Łącze X | |||
| Lista łączy X | |||
| Łącze X sub | |||
| Lista łączy X sub | |||
| Granica plastyczności | Pa | ||
| Moduł Younga | Pa |
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ść.
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:
App::FeaturePython dostarcza tylko 4 właściwości widoku: Tryb wyświetlania, Na górze po wybraniu, Pokaż w drzewie, i Widoczność.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")
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"