Property editor/pl: Difference between revisions

From FreeCAD Documentation
(Created page with "Gdy opcja {{MenuCommand|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:...")
No edit summary
 
(75 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>

{{docnav/pl
{{Docnav/pl
|[[Interface Customization|Dostosowywanie interfejsu użytkownika do własnych potrzeb]]
|[[Document_structure/pl|Struktura dokumentu]]
|[[Workbenches|Środowiska pracy]]
|[[Workbenches/pl|Środowiska pracy]]
}}
}}


{{TOCright}}

<span id="Introduction"></span>
==Wprowadzenie==
==Wprowadzenie==


Edytor [[property editor|property editor]] pojawia się, gdy aktywna jest zakładka {{MenuCommand|Model}} widoku łączonego. Umożliwia zarządzanie publicznie eksponowanymi właściwościami obiektów w dokumencie.
[[property editor|Edytor właściwości]] pojawia się, gdy aktywna jest zakładka {{MenuCommand|Model}} [[combo_view|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.
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.
Line 13: Line 17:
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)''.
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)''.


{{TOCright}}
[[File:FreeCAD_Properties_empty.png]]

[[File:FreeCAD_Property_editor_empty.png]]


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


<span id="Property_types"></span>
==Typy właściwości==
==Typy właściwości==


Line 24: Line 31:


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

{{Code|code=
{{Code|code=
App::PropertyBool
App::PropertyBool
Line 38: Line 46:
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 view|3D]].
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 view|3D]].


<span id="View_and_Data_properties"></span>
==Właściwości widoku i danych==
==Właściwości widoku i danych==


Line 44: Line 53:
*{{MenuCommand|Data}} właściwości związane z parametrami "fizycznymi" obiektu. Właściwości {{MenuCommand|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.
*{{MenuCommand|Data}} właściwości związane z parametrami "fizycznymi" obiektu. Właściwości {{MenuCommand|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 {{MenuCommand|Data}} są uważane za bardziej '''realne''', ponieważ naprawdę definiują geometrię kształtu. Z drugiej strony, właściwości {{MenuCommand|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'''.
Z tego powodu właściwości {{MenuCommand|Data}} są uważane za bardziej '''realne''', ponieważ naprawdę definiują geometrię kształtu. Z drugiej strony, właściwości {{MenuCommand|View}} są mniej ważne, ponieważ wpływają jedynie na wygląd powierzchni 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''', a nie do '''Właściwości widoku'''.


<span id="Basic_properties"></span>
===Własności podstawowe===
===Własności podstawowe===

{{Emphasis|Zobacz również: [[Object_name|Object name]]}}


Najprostszy [[scripted objects|obiekt skryptowy]] nie pokaże żadnej właściwości {{MenuCommand|Data}} w edytorze właściwości, z wyjątkiem atrybutu {{incode|Label}}. {{incode|Label}} jest edytowalnym łańcuchem użytkownika, który identyfikuje obiekt w [[tree view|widoku drzewa]]. Z drugiej strony, atrybut {{incode|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.
Najprostszy [[scripted objects|obiekt skryptowy]] nie pokaże żadnej właściwości {{MenuCommand|Data}} w edytorze właściwości, z wyjątkiem atrybutu {{incode|Label}}. {{incode|Label}} jest edytowalnym łańcuchem użytkownika, który identyfikuje obiekt w [[tree view|widoku drzewa]]. Z drugiej strony, atrybut {{incode|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.
Line 53: Line 65:


{{Code|code=
{{Code|code=
obj = App.ActiveDocument.addObject("App::FeaturePython")
obj = App.ActiveDocument.addObject("App::FeaturePython", "App__FeaturePython")
obj.Label = "Plain_object"
obj.Label = "Plain_object"
print(obj.Name)
print(obj.Name)
print(obj.Label)
}}
}}


[[File:FreeCAD_Properties_View_basic.png|x264px]] [[File:FreeCAD_Properties_Data_basic.png|x264px]]
[[File:FreeCAD_Property_editor_View_basic.png|x264px]] [[File:FreeCAD_Property_editor_Data_basic.png|x264px]]


{{Caption|Zakładki Widok i Dane edytora właściwości, dla podstawowego obiektu skryptowego '''App::FeaturePython'''.}}
{{Caption|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 [[3D view|widoku 3D]] pochodzi z [[Part Feature|{{incode|Part::Feature}}]]. Zobacz [[Part Feature|Właściwości części]], aby dowiedzieć się, jakie podstawowe właściwości mają te obiekty.
Większość obiektów geometrycznych, które mogą być tworzone i wyświetlane w [[3D view|widoku 3D]] pochodzi z {{incode|Part::Feature}}. Zobacz [[Part Feature|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|{{incode|Part::Part2DObject}}]] (wywodzi się z [[Part Feature|{{incode|Part::Feature}}]]), która jest podstawą Środowiska pracy [[Sketcher Workbench|Sketches]], i większości [[Draft Workbench|Elementy Draft]]. Zobacz [[Part Part2DObject|Część2DObject]], aby zapoznać się z najbardziej podstawowymi właściwościami tych obiektów.
Dla geometrii 2D większość obiektów pochodzi z [[Part Part2DObject|{{incode|Part::Part2DObject}}]] ''(wywodzi się z [[Part Feature|{{incode|Part::Feature}}]])'', która jest podstawą Środowiska pracy [[Sketch|Sketches]], i większości [[Draft Workbench|Elementy Draft]]. Zobacz [[Part Part2DObject|Część2DObject]], aby zapoznać się z najbardziej podstawowymi właściwościami tych obiektów.


<span id="Actions"></span>
==Działania==
==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:
Kliknięcie prawym przyciskiem myszy w pustym miejscu widoku lub z wybraną właściwością powoduje wyświetlenie tylko jednego polecenia:
Line 77: Line 89:
Gdy opcja {{MenuCommand|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:
Gdy opcja {{MenuCommand|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:
* {{MenuCommand|Show all}}: dezaktywuje polecenie {{MenuCommand|Show all}}, ukrywając dodatkowe właściwości Dane i Widok.
* {{MenuCommand|Show all}}: dezaktywuje polecenie {{MenuCommand|Show all}}, ukrywając dodatkowe właściwości Dane i Widok.
*{{MenuCommand|Add Property}}: dodaje dynamiczną właściwość do obiektu; działa to zarówno z obiektami C+++ jak i Python [[scripted objects|objekty skryptowane]].
*{{MenuCommand|Add Property}}: dodaje dynamiczną właściwość do obiektu; działa to zarówno z obiektami zdefiniowanymi w C++ jak i Python [[scripted objects|objekty skryptowane]].
* {{MenuCommand|Expression}}: przywołuje edytor formuły, który umożliwia użycie [[Expressions|wyrażenia]] w wartości właściwości.
* {{MenuCommand|Expression}}: przywołuje edytor formuły, który umożliwia użycie [[Expressions|wyrażenia]] w wartości właściwości.
* {{MenuCommand|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 {{MenuCommand|Show all}}.
* {{MenuCommand|Hidden}}: jeżeli opcja jest aktywna, ustawia właściwość jako ukrytą, co oznacza, że będzie wyświetlana w edytorze właściwości tylko wtedy, gdy aktywna jest opcja {{MenuCommand|Show all}}.
* {{MenuCommand|Output}}: jeżeli opcja jest aktywna, ustawia właściwość jako wyjście.
* {{MenuCommand|Output}}: jeżeli opcja jest aktywna, ustawia właściwość jako wyjście.
* {{MenuCommand|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.
* {{MenuCommand|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.
* {{MenuCommand|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.
* {{MenuCommand|ReadOnly}}: jeśli opcja ta jest aktywna, ustawia daną cechę jako tylko do odczytu. Nie będzie można jej edytować w edytorze właściwości, dopóki przełącznik ten nie zostanie wyłączony. Pozycja menu {{MenuCommand|Wyrażenia...}} nie jest już dostępna. {{Emphasis|Uwaga:}} Zmiana atrybutu może być nadal możliwa poprzez okno dialogowe, które aktualizuje daną cechę.
* {{MenuCommand|Transient}}: jeżeli opcja jest aktywna, ustawia właściwość jako przejściową.
* {{MenuCommand|Transient}}: jeżeli opcja jest aktywna, ustawia właściwość jako przejściową. Wartość właściwości przejściowej nie jest zapisywana do pliku. Podczas otwierania pliku jest ona inicjowana wartością domyślną.
*{{MenuCommand|Touched}}: jeżeli opcja jest aktywna, to obiekt zostanie oznaczony do ponownego przeliczenia.
*{{MenuCommand|Touched}}: jeżeli opcja jest aktywna, to obiekt zostanie oznaczony do ponownego przeliczenia.
*{{MenuCommand|EvalOnRestore}}: jeżeli opcja jest aktywna, to obiekt jest przeliczany po przywróceniu dokumentu.
*{{MenuCommand|EvalOnRestore}}: jeżeli opcja jest aktywna, to obiekt jest przeliczany po przywróceniu dokumentu.


<span id="Example_of_the_properties_of_a_PartDesign_object"></span>
==Przykładowe właściwości obiektu z PartDesign==
==Przykładowe właściwości obiektu z PartDesign==


W tej sekcji pokazujemy kilka wspólnych właściwości, które są widoczne dla [[PartDesign Body|PartDesign Body]], oraz jedną cechę [[PartDesign Feature|PartDesign Feature]]. Specyficzne właściwości obiektu można znaleźć na stronie poświęconej dokumentacji tego obiektu.

<span id="View"></span>
===Widok===
===Widok===


Większość z tych właściwości jest dziedziczona z obiektu podstawowego [[Part_Feature|Part Feature]].
[[File:FreeCAD_Properties_View.png|490px|left]]
{{TitleProperty|Base}}


[[File:FreeCAD_Property_editor_View.png|490px|frame|left]]
* {{PropertyView|Bounding Box}}: Indicates if a box showing the overall extent of the object is to be displayed. Value False, or True (Default, False).

* {{PropertyView|Control Point}}: Indicates if the feature control points are to be displayed. Value False, or True (Default, False).
{{TitleProperty|Podstawa}}
* {{PropertyView|Deviation}}: Sets the accuracy of the polygonal representation of the model in the 3d view (tessellation). Lower values = better quality. The value is in percent of object's size (deviation in mm = (w+h+d)/3*valueInPercent/100, where w,h,d are the bounding box dimensions).

* {{PropertyView|Display Mode}}: Display mode of the feature, '''Flat lines, Shaded, Wireframe, Points''' [[IMAGE:Vue_DisplayModePartDesign_fr_00.png|96px]]. (Default, '''Flat lines''').
* {{PropertyView|Angular Deflection}}: jest to sposób na określenie, jak dokładnie wygenerować siatkę do renderowania na ekranie lub przy eksporcie. Domyślną wartość stanowi 28,5 stopnia lub 0,5 radiana. Im mniejsza wartość, tym gładszy będzie wygląd w [[3D_view|widok 3D]], oraz tym gęstsza siatka będzie eksportowana.
* {{PropertyView|Lighting}}: Lighting '''One side, Two side''' [[IMAGE:Vue_Lighting_fr_00.png|96px]]. (Default, '''Two side''').
* {{PropertyView|Line Color}}: Gives the color of the line (edges) (Default, '''25, 25, 25''').
* {{PropertyView|Bounding Box}}: określa, czy wyświetlana jest ramka pokazująca ogólny obszar obiektu.
* {{PropertyView|Deviation}}: ustawia precyzję reprezentacji wielokątnej modelu w oknie [[3D view|widoku 3D]] ''(teselacja)''. Niższe wartości wskazują na lepszą jakość. Wartość jest wyrażona w procentach wielkości obiektu.
* {{PropertyView|Line Width}}: Gives the thickness of the line (edges) (Default, '''2''').
* {{PropertyView|Styl wyświetlania}}: tryb wyświetlania całej bryły, {{Value|Linie konturu}} ''(domyślnie)'', {{Value|Zacieniony}}, {{Value|Szkielet}}, {{Value|Punkty}}.
* {{PropertyView|Point Color}}: Gives the color of the points (ends of the feature) (Default, '''25, 25, 25''').
* {{PropertyView|Point Size}}: Gives the size of the points (Default, '''2''').
* {{PropertyView|Tryb wyświetlania - korpusu}}: tryb wyświetlania krawędzi bryły, {{Value|Through}} ''(domyślnie)'', {{Value|Tip}}.
* {{PropertyView|Draw Style}}: {{Value|Solid}}, {{Value|Dashed}}, {{Value|Dotted}}, {{Value|Dashdot}}; definiuje styl krawędzi w oknie [[3D view|widoku 3D]].
* {{PropertyView|Selectable}}: Allows selection of the feature. Value False, ou True (Default, True).
* {{PropertyView|Shape Color}}: Give the color shape (default, '''204, 204, 204''').
* {{PropertyView|Lighting}}: {{Value|One side}}, {{Value|Two side}} ''(domyślnie)''.
* {{PropertyView|Transparency}}: Sets the degree of transparency in the feature of '''0''' to '''100''' (Default, '''0''').
* {{PropertyView|Line Color}}: składowe koloru RGB dla krawędzi, domyślnie jest to {{value|(25, 25, 25)}}.
* {{PropertyView|Visibility}}: Determines the visibility of the feature (like the bar {{KEY|SPACE}}). Value False, or True (Default, True).
* {{PropertyView|Line Width}}: grubość krawędzi, domyślnie wynosi {{value|2}} piksele.
* {{PropertyView|On Top When Selected}}: {{value|Disabled}}, {{value|Enabled}}, {{value|Object}}, {{value|Element}}.
* {{PropertyView|Point Color}}: składowe koloru RGB dla wierzchołków, domyślnie ustawia się na {{value|(25, 25, 25)}}.
* {{PropertyView|Point Size}}: rozmiar wierzchołków, domyślnie ustawia się na {{value|2}} piksele.
* {{PropertyView|Selectable}}: określa czy obiekt można zaznaczyć czy nie.
* {{PropertyView|Selection Style}}: {{value|Shape}}, {{value|BoundBox}}.
* {{PropertyView|Shape Color}}: składowe koloru RGB dla kształtu, domyślnie ustawia się na {{value|(204, 204, 204)}}.
* {{PropertyView|Show In Tree}}: jeżeli posiada wartość {{TRUE}}, obiekt pojawia się w widoku drzewa. W przeciwnym razie jest definiowany jako niewidzialny.
* {{PropertyView|Transparency}}: stopień przejrzystości, zakres od {{value|0}} ''(domyślnie)'' do {{value|100}}.
* {{PropertyView|Visibility}}: określa czy dany obiekt jest widoczny w oknie [[3D view|widoku 3D]]. Przełacznikiem jest klawisz {{KEY|Spacja}} z klawiatury komputera.
{{clear}}
{{clear}}


{{clear}}
===Data===


<span id="Data"></span>
[[File:FreeCAD_Properties_Data.png|490px|left]]
===Dane===
{{TitleProperty|Base}}


W tym przypadku obserwujemy właściwości [[PartDesign Revolution|PartDesign Wyciągnij przez obrót]].
* {{PropertyData|Placement}}:
Summary of the data below.
Every feature has a placement that can be controlled through the Data Properties table. It controls the placement of the part with respect to the coordinate system. NOTE: The placement properties do not affect the physical dimensions of the feature, but merely its position in space!<br>If you select the title '''Placement''' [[Image:Tache_Placement_01_fr_00.png|256px|Options Placement]], a button with {{KEY|three small points}} appears to the right. Clicking this button {{KEY| '''...'''}}, opens the '''[[Tasks_Placement|Tasks_Placement]]''' options window.


[[File:FreeCAD_Property_editor_Data.png|490px|frame|left]]
* {{PropertyData|Angle}}:
Specifies the angle to be used with the [[#Axis|axis]] property (below). An angle is set here, and the axis that the angle acts upon is set with the axis property.
The feature is rotated by the specified angle, about the specified axis.
A usage example might be if you created a revolution feature as required, but then needed to rotate the whole feature by some amount, in order to allow it to line-up with another pre-existing feature.


{{TitleProperty|Podstawa}}
* {{PropertyData|Axis}}:
This property specifies the axis/axes about which the feature is to be rotated. The exact value of rotation comes from the angle property (above).
This property takes three arguments, which are passed as numbers in the x, y, and z boxes in the tool. Setting a value for more than one of the axes will cause the part to be rotated in each axis, by the angle value multiplied by the value for the axis.
For example, with an angle of 15° set, specifying a value of 1.0 for x, and 2.0 for y will cause the finished part to be rotated 15° in the x-axis AND 30° in the y-axis.


* {{propertyData|Label}}: Zdefiniowana przez użytkownika nazwa nadana obiektowi, którą można dowolnie zmieniać.
* {{PropertyData|Position}}:
This property specifies the base point to which all dimensions refer. This takes three arguments, which are passed as numbers to the x, y, and z boxes in the tool. Setting a value for more than one of the boxes will cause the part to be translated by the number of units along the corresponding axis.


{{TitleProperty|Part Design}}
* {{PropertyData|Label}}:
* {{PropertyData|Refine}}: Udoskonalenie procesu scalania z innymi przedmiotami.
The Label is the name given to the object (feature), this name can be changed as desired.


{{TitleProperty|Revolution}}
{{docnav/pl
* {{PropertyData|Base}}: Punkt w przestrzeni, który określa, gdzie odbywa się wyciągnięcie przez obrót. Nie można go modyfikować bezpośrednio, tylko podczas edycji elementu.
|[[Interface Customization|Dostosowywanie interfejsu użytkownika do własnych potrzeb]]

|[[Workbenches|Środowiska pracy]]
* {{PropertyData|Axis}}: Oś, wokół której będzie przeprowadzane wyciągnięcie przez obrót. Nie można go modyfikować bezpośrednio, tylko podczas edycji elementu.

* {{propertyData|Angle}}: Kąt określający, o ile element bazowy jest obracany. Domyślnie jest to wartość {{value|360 stopni}}, jednakże możliwe jest wprowadzanie wartości dla dowolnego kąta.

{{TitleProperty|Sketch Based}}

* {{PropertyData|Midplane}}: Jeśli obiektem bazowym jest [[Sketch|Szkic]], funkcja zwróci wartość {{TRUE}}, i wykonany zostanie obrót przy użyciu szkicu służącego jako płaszczyzna symetrii. Jest to zauważalne, jeśli wartość {{PropertyData|kąta}} będzie inna niż {{value|360 stopni}}.
* {{PropertyData|Reversed}}: wartość domyślna to {{TRUE}}. Decyduje o kierunku obrotu podczas wykonywania wyciągnięcia.

{{clear}}

<span id="Scripting"></span>
==Tworzenie skryptów==

{{Emphasis|Zobacz również:}} [[FreeCAD_Scripting_Basics/pl|FreeCAD podstawy tworzenia skryptów]].

Zobacz dział [[scripted objects|obiekty skryptowe]], aby uzyskać pełne informacje na temat dodawania właściwości do obiektów zdefiniowanych przez [[Python|Python]].

Do większości właściwości widocznych w edytorze właściwości można uzyskać dostęp z [[Python console|Konsola Pythona]]. Właściwości te są tylko atrybutami klasy definiującej wybrany obiekt. Na przykład, jeżeli edytor właściwości pokazuje właściwość {{PropertyData|Group}}, oznacza to, że obiekt posiada atrybut {{incode|Group}}.

{{Code|code=
print(obj.Group)
}}
}}


Te atrybuty ''(właściwości)'' są dodawane metodą {{incode|addProperty}} obiektu bazowego. Niezbędne jest podanie przynajmniej typu [[property|property]], oraz jego nazwy.

{{Code|code=
obj.addProperty("App::PropertyFloat", "Custom")
print(obj.Custom)
}}

Właściwości są zgodne z konwencją {{incode|CapitalCamelCase}} lub {{incode|PascalCase}}, co oznacza, że każde słowo zaczyna się od dużej litery i nie ma żadnych podkreśleń. Gdy edytor właściwości wyświetla takie nazwy, pozostawia miejsce pomiędzy każdą wielką literą, ułatwiając jej odczytanie.

{{Code|code=
obj.addProperty("App::PropertyDistance", "CustomCamelProperty")
obj.CustomCamelProperty = 1000
print(obj.CustomCamelProperty)
}}

[[File:FreeCAD_Property_editor_Custom.png]]
{{Caption|Edytor właściwości obiektu pokazujący właściwości danych [[PartDesign Body|PartDesign Body]], z dwiema dodatkowymi właściwościami, ''Custom'' oraz ''Custom Camel Property''.}}

W podobny sposób dodawane są właściwości {{MenuCommand|widoku}}, nie do obiektu bazowego, ale do jego reprezentacji {{incode|ViewObject}}. Wynika z tego, że właściwości takie jak {{PropertyView|Angular Deflection}}, {{PropertyView|Bounding Box}}, {{PropertyView|Display Mode Mode Body}}, {{PropertyView|Line Color}} i inne mogą być badane i zmieniane z konsoli [[Python console|Python]].

{{Code|code=
print(obj.ViewObject.AngularDeflection)
print(obj.ViewObject.BoundingBox)
print(obj.ViewObject.DisplayMode)
print(obj.ViewObject.DisplayModeBody)
print(obj.ViewObject.LineColor)
}}

Wszystkie publiczne właściwości obiektu i jego widoku dostawcy są zawarte w odpowiednim atrybucie {{incode|PropertiesList}}.

{{Code|code=
print(obj.PropertiesList)
print(obj.ViewObject.PropertiesList)
}}


{{Docnav/pl
|[[Document_structure/pl|Struktura dokumentu]]
|[[Workbenches/pl|Środowiska pracy]]
}}


{{Interface}}
{{Interface navi{{#translation:}}}}
{{Std Base navi{{#translation:}}}}
{{Userdocnavi/pl}}
{{Userdocnavi{{#translation:}}}}

Latest revision as of 13:30, 28 March 2024

Wprowadzenie

Edytor właściwości 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 powierzchni 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, a nie do Właściwości widoku.

Własności podstawowe

Zobacz również: Object name

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

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 zdefiniowanymi w 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 w edytorze właściwości 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śli opcja ta jest aktywna, ustawia daną cechę jako tylko do odczytu. Nie będzie można jej edytować w edytorze właściwości, dopóki przełącznik ten nie zostanie wyłączony. Pozycja menu Wyrażenia... nie jest już dostępna. Uwaga: Zmiana atrybutu może być nadal możliwa poprzez okno dialogowe, które aktualizuje daną cechę.
  • Transient: jeżeli opcja jest aktywna, ustawia właściwość jako przejściową. Wartość właściwości przejściowej nie jest zapisywana do pliku. Podczas otwierania pliku jest ona inicjowana wartością domyślną.
  • 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

W tej sekcji pokazujemy kilka wspólnych właściwości, które są widoczne dla PartDesign Body, oraz jedną cechę PartDesign Feature. Specyficzne właściwości obiektu można znaleźć na stronie poświęconej dokumentacji tego obiektu.

Widok

Większość z tych właściwości jest dziedziczona z obiektu podstawowego Part Feature.

Podstawa

  • WIDOKAngular Deflection: jest to sposób na określenie, jak dokładnie wygenerować siatkę do renderowania na ekranie lub przy eksporcie. Domyślną wartość stanowi 28,5 stopnia lub 0,5 radiana. Im mniejsza wartość, tym gładszy będzie wygląd w widok 3D, oraz tym gęstsza siatka będzie eksportowana.
  • WIDOKBounding Box: określa, czy wyświetlana jest ramka pokazująca ogólny obszar obiektu.
  • WIDOKDeviation: ustawia precyzję reprezentacji wielokątnej modelu w oknie widoku 3D (teselacja). Niższe wartości wskazują na lepszą jakość. Wartość jest wyrażona w procentach wielkości obiektu.
  • WIDOKStyl wyświetlania: tryb wyświetlania całej bryły, Linie konturu (domyślnie), Zacieniony, Szkielet, Punkty.
  • WIDOKTryb wyświetlania - korpusu: tryb wyświetlania krawędzi bryły, Through (domyślnie), Tip.
  • WIDOKDraw Style: Solid, Dashed, Dotted, Dashdot; definiuje styl krawędzi w oknie widoku 3D.
  • WIDOKLighting: One side, Two side (domyślnie).
  • WIDOKLine Color: składowe koloru RGB dla krawędzi, domyślnie jest to (25, 25, 25).
  • WIDOKLine Width: grubość krawędzi, domyślnie wynosi 2 piksele.
  • WIDOKOn Top When Selected: Disabled, Enabled, Object, Element.
  • WIDOKPoint Color: składowe koloru RGB dla wierzchołków, domyślnie ustawia się na (25, 25, 25).
  • WIDOKPoint Size: rozmiar wierzchołków, domyślnie ustawia się na 2 piksele.
  • WIDOKSelectable: określa czy obiekt można zaznaczyć czy nie.
  • WIDOKSelection Style: Shape, BoundBox.
  • WIDOKShape Color: składowe koloru RGB dla kształtu, domyślnie ustawia się na (204, 204, 204).
  • WIDOKShow In Tree: jeżeli posiada wartość true, obiekt pojawia się w widoku drzewa. W przeciwnym razie jest definiowany jako niewidzialny.
  • WIDOKTransparency: stopień przejrzystości, zakres od 0 (domyślnie) do 100.
  • WIDOKVisibility: określa czy dany obiekt jest widoczny w oknie widoku 3D. Przełacznikiem jest klawisz Spacja z klawiatury komputera.

Dane

W tym przypadku obserwujemy właściwości PartDesign Wyciągnij przez obrót.

Podstawa

  • DANELabel: Zdefiniowana przez użytkownika nazwa nadana obiektowi, którą można dowolnie zmieniać.

Part Design

  • DANERefine: Udoskonalenie procesu scalania z innymi przedmiotami.

Revolution

  • DANEBase: Punkt w przestrzeni, który określa, gdzie odbywa się wyciągnięcie przez obrót. Nie można go modyfikować bezpośrednio, tylko podczas edycji elementu.
  • DANEAxis: Oś, wokół której będzie przeprowadzane wyciągnięcie przez obrót. Nie można go modyfikować bezpośrednio, tylko podczas edycji elementu.
  • DANEAngle: Kąt określający, o ile element bazowy jest obracany. Domyślnie jest to wartość 360 stopni, jednakże możliwe jest wprowadzanie wartości dla dowolnego kąta.

Sketch Based

  • DANEMidplane: Jeśli obiektem bazowym jest Szkic, funkcja zwróci wartość true, i wykonany zostanie obrót przy użyciu szkicu służącego jako płaszczyzna symetrii. Jest to zauważalne, jeśli wartość DANEkąta będzie inna niż 360 stopni.
  • DANEReversed: wartość domyślna to true. Decyduje o kierunku obrotu podczas wykonywania wyciągnięcia.

Tworzenie skryptów

Zobacz również: FreeCAD podstawy tworzenia skryptów.

Zobacz dział obiekty skryptowe, aby uzyskać pełne informacje na temat dodawania właściwości do obiektów zdefiniowanych przez Python.

Do większości właściwości widocznych w edytorze właściwości można uzyskać dostęp z Konsola Pythona. Właściwości te są tylko atrybutami klasy definiującej wybrany obiekt. Na przykład, jeżeli edytor właściwości pokazuje właściwość DANEGroup, oznacza to, że obiekt posiada atrybut Group.

print(obj.Group)

Te atrybuty (właściwości) są dodawane metodą addProperty obiektu bazowego. Niezbędne jest podanie przynajmniej typu property, oraz jego nazwy.

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

Właściwości są zgodne z konwencją CapitalCamelCase lub PascalCase, co oznacza, że każde słowo zaczyna się od dużej litery i nie ma żadnych podkreśleń. Gdy edytor właściwości wyświetla takie nazwy, pozostawia miejsce pomiędzy każdą wielką literą, ułatwiając jej odczytanie.

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

Edytor właściwości obiektu pokazujący właściwości danych PartDesign Body, z dwiema dodatkowymi właściwościami, Custom oraz Custom Camel Property.

W podobny sposób dodawane są właściwości widoku, nie do obiektu bazowego, ale do jego reprezentacji ViewObject. Wynika z tego, że właściwości takie jak WIDOKAngular Deflection, WIDOKBounding Box, WIDOKDisplay Mode Mode Body, WIDOKLine Color i inne mogą być badane i zmieniane z konsoli Python.

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

Wszystkie publiczne właściwości obiektu i jego widoku dostawcy są zawarte w odpowiednim atrybucie PropertiesList.

print(obj.PropertiesList)
print(obj.ViewObject.PropertiesList)