Property editor/pl: Difference between revisions

From FreeCAD Documentation
(Created page with "Niektóre z najczęściej używanych typów właściwości to właśnie:")
No edit summary
 
(84 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==


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


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


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


Most geometrical objects that can be created and displayed in the [[3D view|3D view]] are derived from a [[Part Feature|{{incode|Part::Feature}}]]. See [[Part Feature|Part Feature]] for the most basic properties that these objects have.
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.


For 2D geometry, most objects are derived from [[Part Part2DObject|{{incode|Part::Part2DObject}}]] (itself derived from [[Part Feature|{{incode|Part::Feature}}]]) which is the base of [[Sketcher Workbench|Sketches]], and most [[Draft Workbench|Draft elements]]. See [[Part Part2DObject|Part Part2DObject]] for the most basic properties that these objects have.
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.


==Actions ==
<span id="Actions"></span>
==Działania==


Kliknięcie prawym przyciskiem myszy w pustym miejscu widoku lub z wybraną właściwością powoduje wyświetlenie tylko jednego polecenia:
Actions in the property view were implemented in 0.19.
* {{MenuCommand|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 {{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:
Right clicking in an empty space of the view, or with a property selected, shows only one command:
* {{MenuCommand|Show all}}: dezaktywuje polecenie {{MenuCommand|Show all}}, ukrywając dodatkowe właściwości Dane i Widok.
* {{MenuCommand|Show all}}: if active, in addition to the standard properties that appear already, it shows all the hidden Data and View properties in their respective tabs.
*{{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]].
** Data: "Proxy", "Label2", "Expression Engine", and "Visibility".
* {{MenuCommand|Expression}}: przywołuje edytor formuły, który umożliwia użycie [[Expressions|wyrażenia]] w wartości właściwości.
** View: "Proxy".
* {{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.
When the {{MenuCommand|Show all}} option is active, and one property is selected, more actions are available with a second right click:
* {{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|Show all}}: deactivates the {{MenuCommand|Show all}} command, hiding the additional Data and View properties.
* {{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|Add Property}}: adds a dynamic property to the object; this works with both C++ and Python [[scripted objects|scripted objects]].
* {{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|Expression}}: brings up the formula editor, which allows using [[Expressions|expressions]] in the property value.
*{{MenuCommand|Touched}}: jeżeli opcja jest aktywna, to obiekt zostanie oznaczony do ponownego przeliczenia.
* {{MenuCommand|Hidden}}: if active, sets the property as hidden, meaning that it will only be displayed if {{MenuCommand|Show all}} is active.
* {{MenuCommand|Output}}: if active, sets the property as output.
*{{MenuCommand|EvalOnRestore}}: jeżeli opcja jest aktywna, to obiekt jest przeliczany po przywróceniu dokumentu.
* {{MenuCommand|NoRecompute}}: if active, sets the property as not recomputed when the document is recomputed; this is useful when a property should be kept unaffected by other updates.
* {{MenuCommand|ReadOnly}}: if active, sets the property to be read-only; it won't be editable any more until this switch is turned off.
* {{MenuCommand|Transient}}: if active, sets the property as transient.
* {{MenuCommand|Touched}}: if active, it becomes touched, and ready for recompute.
* {{MenuCommand|EvalOnRestore}}: if active, it is evaluated when the document is restored.


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

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

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

[[File:FreeCAD_Property_editor_View.png|490px|frame|left]]


{{TitleProperty|Podstawa}}
[[File:FreeCAD_Properties_View.png|490px|left]]
{{TitleProperty|Base}}


* {{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|Bounding Box}}: Indicates if a box showing the overall extent of the object is to be displayed. Value False, or True (Default, False).
* {{PropertyView|Bounding Box}}: określa, czy wyświetlana jest ramka pokazująca ogólny obszar obiektu.
* {{PropertyView|Control Point}}: Indicates if the feature control points are to be displayed. Value False, or True (Default, False).
* {{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|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|Styl wyświetlania}}: tryb wyświetlania całej bryły, {{Value|Linie konturu}} ''(domyślnie)'', {{Value|Zacieniony}}, {{Value|Szkielet}}, {{Value|Punkty}}.
* {{PropertyView|Display Mode}}: Display mode of the feature, '''Flat lines, Shaded, Wireframe, Points''' [[IMAGE:Vue_DisplayModePartDesign_fr_00.png|96px]]. (Default, '''Flat lines''').
* {{PropertyView|Tryb wyświetlania - korpusu}}: tryb wyświetlania krawędzi bryły, {{Value|Through}} ''(domyślnie)'', {{Value|Tip}}.
* {{PropertyView|Lighting}}: Lighting '''One side, Two side''' [[IMAGE:Vue_Lighting_fr_00.png|96px]]. (Default, '''Two side''').
* {{PropertyView|Draw Style}}: {{Value|Solid}}, {{Value|Dashed}}, {{Value|Dotted}}, {{Value|Dashdot}}; definiuje styl krawędzi w oknie [[3D view|widoku 3D]].
* {{PropertyView|Line Color}}: Gives the color of the line (edges) (Default, '''25, 25, 25''').
* {{PropertyView|Line Width}}: Gives the thickness of the line (edges) (Default, '''2''').
* {{PropertyView|Lighting}}: {{Value|One side}}, {{Value|Two side}} ''(domyślnie)''.
* {{PropertyView|Point Color}}: Gives the color of the points (ends of the feature) (Default, '''25, 25, 25''').
* {{PropertyView|Line Color}}: składowe koloru RGB dla krawędzi, domyślnie jest to {{value|(25, 25, 25)}}.
* {{PropertyView|Point Size}}: Gives the size of the points (Default, '''2''').
* {{PropertyView|Line Width}}: grubość krawędzi, domyślnie wynosi {{value|2}} piksele.
* {{PropertyView|Selectable}}: Allows selection of the feature. Value False, ou True (Default, True).
* {{PropertyView|On Top When Selected}}: {{value|Disabled}}, {{value|Enabled}}, {{value|Object}}, {{value|Element}}.
* {{PropertyView|Shape Color}}: Give the color shape (default, '''204, 204, 204''').
* {{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|Transparency}}: Sets the degree of transparency in the feature of '''0''' to '''100''' (Default, '''0''').
* {{PropertyView|Selectable}}: określa czy obiekt można zaznaczyć czy nie.
* {{PropertyView|Visibility}}: Determines the visibility of the feature (like the bar {{KEY|SPACE}}). Value False, or True (Default, True).
* {{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)