Property/pl: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
No edit summary
(37 intermediate revisions by 3 users not shown)
Line 1: Line 1:
<languages/>
<languages/>
<div class="mw-translate-fuzzy">
{{Property/pl}}
</div>


==Wprowadzenie==
Properties play a very important part in FreeCAD, since it has been designed to work with parametric objects, which are objects defined only by their properties.


[[Property|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 [[Property editor|Edytorze właściwości]].
Custom [[scripted objects]] in FreeCAD can have properties of the following types:


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ż [[PropertyLink:_InList_and_OutList/pl|wskaźnik właściwości:_InList_ oraz_OutList]]

==Wszystkie rodzaje właściwości==

Niestandardowe [[scripted objects|obiekty skryptowe]] mogą używać dowolnych typów właściwości zdefiniowanych w systemie bazowym:
{{Code|code=
{{Code|code=
Bool
Boolean
Float
Float
FloatList
FloatList
FloatConstraint
FloatConstraint
Angle
Angle
Distance
Distance
ExpressionEngine
Integer
Integer
IntegerConstraint
IntegerConstraint
Percent
Percent
Enumeration
Enumeration
IntegerList
IntegerList
String
String
StringList
StringList
Link
Length
LinkList
Link
Matrix
LinkList
Vector
LinkSubList
VectorList
Matrix
Placement
Vector
PlacementLink
VectorList
Color
VectorDistance
ColorList
Placement
Material
PlacementLink
Path
PythonObject
File
Color
FileIncluded
ColorList
PartShape
Material
FilletContour
Path
Circle
File
FileIncluded
PartShape
FilletContour
Circle
}}
}}


Wewnętrzne, nazwa właściwości jest poprzedzona przez {{incode|App::Property}}:
{{docnav/pl|Interface Customization/pl|Workbenches/pl}}
{{Code|code=
App::PropertyBool
App::PropertyFloat
App::PropertyFloatList
...
}}


Pamiętajcie, że to są właściwości {{Emphasis|typów}}. Pojedynczy obiekt może mieć wiele właściwości tego samego typu, ale o różnych nazwach.
[[Category:User Documentation/pl]]


Dla przykładu:
[[Category:Base]]

{{Code|code=
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==

{{Emphasis|Zobacz również:}} [[FreeCAD Scripting Basics|FreeCAD podstawy tworzenia skryptów]].

[[scripted objects|Obiekt skryptowy]] jest tworzony najpierw, a następnie przypisywane są mu właściwości.
{{Code|code=
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 {{Emphasis|Dane}} są przypisywane za pomocą metody obiektu {{incode|addProperty()}}. Z drugiej strony, właściwości {{Emphasis|Widok}} są zazwyczaj dostarczane automatycznie przez obiekt nadrzędny, z którego pochodzi skrypt.

Na przykład:
*Pochodzący z {{incode|App::FeaturePython}} dostarcza tylko 4 właściwości {{Emphasis|widoku}}: Tryb wyświetlania, Na górze po wybraniu, Pokaż w drzewie, i Widoczność.
*Pochodzący z {{incode|Part::Feature}} dostarcza 17 właściwości {{Emphasis|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 {{Emphasis|widoku}} można również przypisać za pomocą metody obiektu dostawcy widoku {{incode|addProperty()}}.
{{Code|code=
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 {{FileName|src/App/Property*}}.

Są one importowane i inicjowane w {{incode|[https://github.com/FreeCAD/FreeCAD/blob/9c27f1078e5ec516fe882aac1a27f5c6c6174554/src/App/Application.cpp#L1681-L1758 src/App/Application.cpp]}}.
{{Code|lang=cpp|code=
#include "Property.h"
#include "PropertyContainer.h"
#include "PropertyUnits.h"
#include "PropertyFile.h"
#include "PropertyLinks.h"
#include "PropertyPythonObject.h"
#include "PropertyExpressionEngine.h"
}}


{{Powerdocnavi{{#translation:}}}}
[[Category:Developer Documentation{{#translation:}}]]
[[Category:Python Code{{#translation:}}]]
{{clear}}
{{clear}}

Revision as of 12:57, 17 April 2021

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 Edytorze 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ż wskaźnik właściwości:_InList_ oraz_OutList

Wszystkie rodzaje właściwości

Niestandardowe obiekty skryptowe mogą używać dowolnych typów właściwości zdefiniowanych w systemie bazowym:

Bool
Float
FloatList
FloatConstraint
Angle
Distance
ExpressionEngine
Integer
IntegerConstraint
Percent
Enumeration
IntegerList
String
StringList
Length
Link
LinkList
LinkSubList
Matrix
Vector
VectorList
VectorDistance
Placement
PlacementLink
PythonObject
Color
ColorList
Material
Path
File
FileIncluded
PartShape
FilletContour
Circle

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.

Obiekt skryptowy jest tworzony najpierw, 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:

  • Pochodzący z App::FeaturePython dostarcza tylko 4 właściwości widoku: Tryb wyświetlania, Na górze po wybraniu, Pokaż w drzewie, i Widoczność.
  • Pochodzący z 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")

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"