Property/pl

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 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.

Wszystkie rodzaje właściwości

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 jako
Part::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ść.

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:

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"