Property/pl: Difference between revisions
(Created page with "==Wprowadzenie==") |
(Created page with "Są one importowane i inicjowane w {{incode|[https://github.com/FreeCAD/FreeCAD/blob/9c27f1078e5ec516fe882aac1a27f5c6c6174554/src/App/Application.cpp#L1681-L1758 src/App/Appli...") |
||
(25 intermediate revisions by 3 users not shown) | |||
Line 3: | Line 3: | ||
==Wprowadzenie== |
==Wprowadzenie== |
||
[[Property|Właściwości]] to |
[[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]]. |
||
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. |
|||
Properties play a very important role in FreeCAD. As objects in FreeCAD are "parametric", this means that their behavior is defined by their properties, and how these properties are used as input for their class methods. |
|||
==Wszystkie rodzaje właściwości== |
|||
== All property types == |
|||
Niestandardowe [[scripted objects|obiekty skryptowe]] mogą używać dowolnych typów właściwości zdefiniowanych w systemie bazowym: |
|||
{{Code|code= |
{{Code|code= |
||
Bool |
Bool |
||
Line 47: | Line 47: | ||
}} |
}} |
||
Wewnętrzne, nazwa właściwości jest poprzedzona przez {{incode|App::Property}}: |
|||
{{Code|code= |
{{Code|code= |
||
App::PropertyBool |
App::PropertyBool |
||
Line 55: | Line 55: | ||
}} |
}} |
||
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. |
|||
Remember that these are property {{Emphasis|types}}. A single object may have many properties of the same type, but with different names. |
|||
Dla przykładu: |
|||
For example: |
|||
{{Code|code= |
{{Code|code= |
||
Line 65: | Line 65: | ||
}} |
}} |
||
Wskazuje to obiekt o trzech właściwościach typu '''Float''', nazwanych odpowiednio Długość, Szerokość i Wysokość. |
|||
This indicates an object with three properties of type "Float", named "Length", "Width", and "Height", respectively. |
|||
== |
==Tworzenie skryptów== |
||
{{Emphasis| |
{{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= |
{{Code|code= |
||
obj = App.ActiveDocument.addObject("Part::Feature", "CustomObject") |
obj = App.ActiveDocument.addObject("Part::Feature", "CustomObject") |
||
Line 79: | Line 79: | ||
}} |
}} |
||
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: |
|||
For example: |
|||
* |
*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= |
{{Code|code= |
||
obj.ViewObject.addProperty("App::PropertyBool", "SuperVisibility", "Base", "Make the object glow") |
obj.ViewObject.addProperty("App::PropertyBool", "SuperVisibility", "Base", "Make the object glow") |
||
}} |
}} |
||
{{docnav/pl|Interface Customization/pl|Workbenches/pl}} |
|||
==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" |
|||
}} |
|||
{{docnav/pl |
|||
|[[Interface Customization/pl|Dostosowywanie interfejsu użytkownika do własnych potrzeb]] |
|||
|[[Workbenches/pl|Środowiska pracy]] |
|||
}} |
|||
⚫ | |||
{{Powerdocnavi{{#translation:}}}} |
|||
⚫ | |||
{{clear}} |
{{clear}} |
Revision as of 12:58, 7 June 2020
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.
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"
- Jak zacząć
- Instalacja: Pobieranie programu, Windows, Linux, Mac, Dodatkowych komponentów, Docker, AppImage, Ubuntu Snap
- Podstawy: Informacje na temat FreeCAD, Interfejs użytkownika, Profil nawigacji myszką, Metody wyboru, Nazwa obiektu, Edytor ustawień, Środowiska pracy, Struktura dokumentu, Właściwości, Pomóż w rozwoju FreeCAD, Dotacje
- Pomoc: Poradniki, Wideo poradniki
- Środowiska pracy: Strona Startowa, Architektura, Assembly, CAM, Rysunek Roboczy, MES, Inspekcja, Siatka, OpenSCAD, Część, Projekt Części, Punkty, Inżynieria Wsteczna, Robot, Szkicownik, Arkusz Kalkulacyjny, Start, Powierzchnia 3D, Rysunek Techniczny, Test Framework, Web
- Tworzenie skryptów FreeCAD: Python, Wprowadzenie do środowiska Python, Poradnik: Tworzenie skryptów Python, Podstawy tworzenia skryptów FreeCAD
- Moduły: Moduły wbudowane, Jednostki miar, Ilość
- Środowiska pracy: Tworzenie Środowiska pracy, Polecenia Gui, Polecenia, Instalacja większej liczby Środowisk pracy
- Siatki i elementy: Skrytpy w Środowisku Siatek, v, Konwerska Mesh na Part, PythonOCC
- Obiekty parametryczne: Obiekty tworzone skryptami, Obsługa obrazu (Ikonka niestandardowa w widoku drzewa)
- Scenegraph: Coin (Inventor) scenegraph, Pivy
- Interfejs graficzny: Stworzenie interfejsu, Kompletne stworzenie interfejsu w środowisku Python (1, 2, 3, 4, 5), PySide, PySide examples początkujący, średniozaawansowany, zaawansowany
- Makrodefinicje: Makrodefinicje, Instalacja makrodefinicji
- Osadzanie programu: Osadzanie programu FreeCAD, Osadzanie GUI FreeCAD
- Pozostałe: Wyrażenia, Wycinki kodu, Funkcja kreślenia linii, Biblioteka matematyczna FreeCAD dla wektorów (deprecated)
- Węzły użytkowników: Centrum użytkownika, Centrum Power użytkowników, Centrum programisty