Edytor właściwości

From FreeCAD Documentation
Revision as of 17:27, 15 December 2019 by Kaktus (talk | contribs)

Wprowadzenie

Edytor property editor pojawia się, gdy aktywna jest zakładka Model widoku łączonego. Umożliwia zarządzanie publicznie eksponowanymi właściwościami obiektów w dokumencie.

Ogólnie rzecz biorąc, edytor właściwości jest przeznaczony do obsługi tylko jednego obiektu w tym samym czasie. Wartości wyświetlane w edytorze właściwości należą do wybranego obiektu aktywnego dokumentu. Mimo to, niektóre właściwości, takie jak kolory, mogą być ustawione dla wielu zaznaczonych obiektów. Jeśli nie ma zaznaczonych elementów, edytor właściwości będzie pusty.

Nie wszystkie właściwości mogą być zawsze modyfikowane. W zależności od określonego statusu właściwości, niektóre z nich będą niewidoczne (nie wymienione) lub będą tylko do odczytu (nie edytowalne).

Pusty edytor właściwości, gdy żaden obiekt nie jest zaznaczony.

Typy właściwości

Właściwość jest informacją taką jak numer lub ciąg znaków dołączony do dokumentu FreeCAD lub obiektu w dokumencie.

Własny obiekt skryptowy może używać dowolnych typów właściwości zdefiniowanych w systemie bazowym. Zobacz pełną listę Właściwości.

Niektóre z najczęściej używanych typów właściwości to właśnie:

App::PropertyBool
App::PropertyFloat
App::PropertyAngle
App::PropertyDistance
App::PropertyInteger
App::PropertyString
App::PropertyMatrix
App::PropertyVector
App::PropertyPlacement

Różne obiekty mogą mieć różne typy właściwości. Jednak wiele obiektów ma te same typy, ponieważ pochodzą one z tej samej klasy wewnętrznej. Na przykład, większość obiektów opisujących kształty geometryczne (linie, okręgi, prostokąty, bryły, importowane części itp.) ma właściwość Położenie, która określa ich położenie w widoku 3D.

Właściwości widoku i danych

Istnieją dwie klasy właściwości obiektu dostępne poprzez zakładki w edytorze właściwości:

  • View właściwości związane z wizualnym wyglądem obiektu. Właściwości View są związane z ViewProvider (atrybut obiektu ViewObject) i są dostępne tylko wtedy, gdy załadowany jest graficzny interfejs użytkownika (GUI). Nie są one dostępne przy korzystaniu z FreeCAD w trybie konsolowym lub jako biblioteka zasobów własnych.
  • Data właściwości związane z parametrami "fizycznymi" obiektu. Właściwości Data definiują podstawowe właściwości obiektu. Istnieją przez cały czas, nawet gdy FreeCAD jest używany w trybie konsolowym lub jako biblioteka. Oznacza to, że jeśli załadujesz dokument w trybie konsolowym, możesz edytować promień okręgu lub długość linii, nawet jeśli nie widzisz wyniku na ekranie.

Z tego powodu właściwości Data są uważane za bardziej realne, ponieważ naprawdę definiują geometrię kształtu. Z drugiej strony, właściwości View są mniej ważne, ponieważ wpływają jedynie na wygląd geometrii. Na przykład okrąg o promieniu 10mm różni się od okręgu o promieniu 5mm. Kolor okręgu (właściwość widoku) nie ma wpływu na jego kształt, ale promień ma (właściwość danych). W wielu przypadkach w niniejszej dokumentacji słowo właściwość jest rozumiane jako odnoszące się do Właściwości danych.

Własności podstawowe

Najprostszy obiekt skryptowy nie pokaże żadnej właściwości Data w edytorze właściwości, z wyjątkiem atrybutu Label. Label jest edytowalnym łańcuchem użytkownika, który identyfikuje obiekt w widoku drzewa. Z drugiej strony, atrybut Name obiektu jest przypisany w momencie jego utworzenia i nie może być zmieniony. Atrybut ten jest tylko do odczytu i również nie jest wyświetlany w edytorze właściwości.

Podstawowy obiekt parametryczny jest tworzony w następujący sposób.

obj = App.ActiveDocument.addObject("App::FeaturePython", "App__FeaturePython")
obj.Label = "Plain_object"
print(obj.Name)
print(obj.Label)

Zakładki Widok i Dane edytora właściwości, dla podstawowego obiektu skryptowego App::FeaturePython.

Większość obiektów geometrycznych, które mogą być tworzone i wyświetlane w widoku 3D pochodzi z Part::Feature. Zobacz Właściwości części, aby dowiedzieć się, jakie podstawowe właściwości mają te obiekty.

Dla geometrii 2D większość obiektów pochodzi z Part::Part2DObject (wywodzi się z Part::Feature), która jest podstawą Środowiska pracy Sketches, i większości Elementy Draft. Zobacz Część2DObject, aby zapoznać się z najbardziej podstawowymi właściwościami tych obiektów.

Działania

Działania w zakresie widoku właściwości zostały wdrożone w wersji 0.19.

Kliknięcie prawym przyciskiem myszy w pustym miejscu widoku lub z wybraną właściwością powoduje wyświetlenie tylko jednego polecenia:

  • Show all: jeśli jest aktywny, oprócz standardowych właściwości, które już się pojawiają, pokazuje wszystkie ukryte właściwości danych i widoku w odpowiednich zakładkach.
    • Dane: "Proxy", "Label2", "Expression Engine", oraz "Visibility".
    • Widok: "Proxy".

Gdy opcja Show all jest aktywna, a wybrana jest jedna właściwość, dostępnych jest więcej akcji za pomocą drugiego kliknięcia prawym przyciskiem myszy:

  • Show all: dezaktywuje polecenie Show all, ukrywając dodatkowe właściwości Dane i Widok.
  • Add Property: dodaje dynamiczną właściwość do obiektu; działa to zarówno z obiektami C+++ jak i Python objekty skryptowane.
  • Expression: przywołuje edytor formuły, który umożliwia użycie wyrażenia w wartości właściwości.
  • Hidden: jeżeli opcja jest aktywna, ustawia właściwość jako ukrytą, co oznacza, że będzie wyświetlana tylko wtedy, gdy aktywna jest opcja Show all.
  • Output: jeżeli opcja jest aktywna, ustawia właściwość jako wyjście.
  • NoRecompute: jeżeli opcja jest aktywna, ustawia właściwość jako nieprzeliczaną, gdy dokument jest ponownie obliczany. Jest to przydatne, gdy właściwość powinna być utrzymywana bez wpływu innych aktualizacji.
  • ReadOnly: jeżeli opcja jest aktywna, ustawia właściwość jako tylko do odczytu; nie będzie już edytowalna, dopóki ten przełącznik nie zostanie wyłączony.
  • Transient: jeżeli opcja jest aktywna, ustawia właściwość jako przejściową.
  • Touched: jeżeli opcja jest aktywna, to obiekt zostanie oznaczony do ponownego przeliczenia.
  • EvalOnRestore: jeżeli opcja jest aktywna, to obiekt jest przeliczany po przywróceniu dokumentu.

Przykładowe właściwości obiektu z PartDesign

In this section we show some common properties that are visible for a PartDesign Body, and one PartDesign Feature. The specific properties of an object can found in the specific documentation page of that object.

Widok

Most of these properties are inherited from the Part Feature basic object.

Base

  • WIDOKBounding Box: Wskazuje, czy ma być wyświetlana ramka pokazująca ogólną rozpiętość obiektu. Wartość False lub True (domyślnie, False).
  • WIDOKControl Point: Wskazuje, czy mają być wyświetlane punkty sterowania funkcjami. Wartość False lub True (domyślnie, False).
  • WIDOKDeviation: Ustawia dokładność wielobocznych reprezentacji modelu w widoku 3d (teselacja). Niższe wartości = lepsza jakość. Wartość jest wyrażona w procentach wielkości obiektu (odchylenie w mm = (w+h+d)/3*valueInPercent/100, gdzie w, h, d są wymiarami obwiedni).
  • WIDOKDisplay Mode: Tryb wyświetlania funkcji, Linie płaskie, zacienione, Szkielet, Punkty. . (domyślnie, Flat lines).
  • WIDOKLighting: Oświetlenie "Z jednej strony, z dwóch stron". . (domyślnie, z dwóch stron).
  • WIDOKLine Color: Nadaje kolor linii (krawędzi) (domyślnie, 25, 25, 25, 25).
  • WIDOKLine Width: Podaje grubość linii (krawędzi) (wartość domyślna, 2).
  • WIDOKPoint Color: Nadaje kolor punktów (zakończenia elementu) (domyślnie, 25, 25, 25, 25).
  • WIDOKPoint Size: Podaje wielkość punktów (domyślnie 2).
  • WIDOKSelectable: Umożliwia wybór funkcji. Wartość False, lub True (domyślnie, True).
  • WIDOKShape Color: Nadaj kolor kształtowi (domyślnie 204, 204, 204, 204).
  • WIDOKTransparency: Ustawia stopień przejrzystości obiektu od 0 do 100 (domyślnie 0).
  • WIDOKVisibility: Określa widoczność funkcji (np. pasek SPACJA). Wartość False, lub True (domyślnie, True).

Dane

In this case we observe the properties of the PartDesign Revolution feature.

Base

  • DANELabel:

Etykieta jest nazwą nadawaną obiektowi (cecha), nazwę tę można dowolnie zmieniać.

Part Design

  • DANERefine: whether to refine the fusion done with other objects.
  • DANEPlacement:

Podsumowanie danych poniżej. Każda funkcja ma miejsce, które może być kontrolowane przez tabelę właściwości danych. Kontroluje położenie elementów w stosunku do układu współrzędnych. UWAGA: Właściwości rozmieszczenia nie mają wpływu na fizyczne wymiary elementu, a jedynie jego położenie w przestrzeni!
Jeśli wybierzesz tytuł Pozycja Options Placement, po prawej stronie pojawi się przycisk z trzy małe punkty. Kliknięcie tego przycisku ... otwiera okno opcji Tasks_Placement.

  • DANEAxis:

Ta właściwość określa oś/osie, wokół których ma być obracany element. Dokładna wartość obrotu pochodzi z właściwości kąta (powyżej). Właściwość ta przyjmuje trzy argumenty, które są przekazywane jako liczby w polach x, y i z w narzędziu. Ustawienie wartości dla więcej niż jednej osi spowoduje obrócenie części w każdej osi o wartość kąta pomnożoną przez wartość dla osi. Na przykład, przy ustawionym kącie 15°, określenie wartości 1,0 dla x i 2,0 dla y spowoduje obrócenie gotowej części o 15° w osi x i 30° w osi y.

  • DANEAngle:

Określa kąt, który ma być użyty z właściwością axis (poniżej). Tutaj ustawiany jest kąt, a oś, na którą działa kąt, jest ustawiana z właściwością osi. Właściwość jest obracana o określony kąt wokół zadanej osi. Przykładem użycia może być sytuacja, gdy utworzyłeś element wyciągniemy przez obrót zgodnie z wymaganiami, ale potem musiałeś obrócić cały element o pewną wartość, aby umożliwić mu połączenie z innym wcześniej istniejącym elementem.

Sketch Based

  • DANEPosition:

Ta właściwość określa punkt bazowy, do którego odnoszą się wszystkie wymiary. Wymaga to podania trzech argumentów, które są przekazywane jako liczby do pól x, y i z w narzędziu. Ustawienie wartości dla więcej niż jednego pola spowoduje, że część zostanie przetłumaczona przez liczbę jednostek wzdłuż odpowiedniej osi.

Scripting

See also: FreeCAD Scripting Basics.

See scripted objects for the full information on adding properties to objects defined through Python.

Most properties that are visible in the property editor can be accessed from the Python console. These properties are just attributes of the class that defines the selected object. For example, if the property editor shows the DANEGroup property, this means that the object has the Group attribute.

print(obj.Group)

These attributes (properties) are added with the addProperty method of the base object. At least it is necessary to specify the type of property, and its name.

obj.addProperty("App::PropertyFloat", "Custom")
print(obj.Custom)

Properties follow the CapitalCamelCase or PascalCase convention, meaning that each word starts with a capital letter, and there are no underscores. When the property editor displays such names, it leaves a space between each capital letter, making it easier to read.

obj.addProperty("App::PropertyDistance", "CustomCamelProperty")
obj.CustomCamelProperty = 1000
print(obj.CustomCamelProperty)

Property editor showing the Data properties of a PartDesign Body, with two additional properties, "Custom" and "Custom Camel Property".

In similar way the View properties are added, not to the base object, but to its ViewObject. Then, it follows that properties like WIDOKAngular Deflection, WIDOKBounding Box, WIDOKDisplay Mode, WIDOKDisplay Mode Body, WIDOKLine Color, and others, can be examined and changed from the Python console.

print(obj.ViewObject.AngularDeflection)
print(obj.ViewObject.BoundingBox)
print(obj.ViewObject.DisplayMode)
print(obj.ViewObject.DisplayModeBody)
print(obj.ViewObject.LineColor)

Template:Interface