Manual:A gentle introduction/pl: Difference between revisions

From FreeCAD Documentation
(Updating to match new version of source page)
(Created page with "Inną wspólną cechą obiektów FreeCAD jest ich '''Umiejscowienie'''. Jak widzieliśmy we wcześniejszych rozdziałach, każdy obiekt ma właściwość Umiejscowienie, która zawiera pozycję ''(Baza)'' i orientację ''(Obrót)'' obiektu. Właściwościami tymi można łatwo manipulować z poziomu środowiska Python, na przykład w celu przesunięcia naszego obiektu:")
 
(34 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<languages/>
<languages/>


{{Docnav
{{Docnav/pl
|[[Manual:Creating_renderings|Creating renderings]]
|[[Manual:Creating_renderings/pl|Tworzenie renderingów]]
|[[Manual:Creating_and_manipulating_geometry|Creating and manipulating geometry]]
|[[Manual:Creating_and_manipulating_geometry/pl|Tworzenie i obróbka geometrii]]
|[[Manual:Introduction|Manual start]]
|[[Manual:Introduction/pl|Podręcznik:Słowo wstępne]]
|IconC=Crystal_Clear_manual.png
|IconC=Crystal_Clear_manual.png
}}
}}
Line 10: Line 10:
{{Manual:TOC}}
{{Manual:TOC}}


[https://en.wikipedia.org/wiki/Python_%28programming_language%29 Python] is a popular, open source programming language, very often embedded in applications as a scripting language, as is the case with FreeCAD. It has a series of features that make it suitable for us FreeCAD users: It is very easy to learn, especially for people who had never programmed before, and it is embedded in many other applications. This make it a valuable tool to learn, as you will be able to use it in other software, such as [http://www.blender.org Blender], [http://www.inkscape.org Inkscape] or [http://grass.osgeo.org/ GRASS].
[https://en.wikipedia.org/wiki/Python_%28programming_language%29 Python] to popularny język programowania o otwartym kodzie źródłowym, bardzo często tak jak w przypadku FreeCAD, osadzany jest w aplikacjach jako język skryptowy. Ma szereg cech, które sprawiają, że jest odpowiedni dla nas, użytkowników FreeCAD. Jest bardzo łatwy do nauczenia, zwłaszcza dla osób, które nigdy wcześniej nie programowały, i jest osadzony w wielu innych aplikacjach. To czyni go cennym narzędziem do nauki, ponieważ będzie można go używać w innych programach, takich jak [http://www.blender.org Blender], [http://www.inkscape.org Inkscape] lub [http://grass.osgeo.org/ GRASS].


FreeCAD w szerokim zakresie wykorzystuje Python. Dzięki niemu można uzyskać dostęp i kontrolować niemal każdą funkcję FreeCAD. Można na przykład tworzyć nowe obiekty, modyfikować ich geometrię, analizować ich zawartość, a nawet tworzyć nowe elementy sterujące interfejsu, narzędzia i panele. Niektóre środowiska pracy FreeCAD i większość dodatkowych środowisk pracy są w pełni zaprogramowane w środowisku Python. FreeCAD posiada zaawansowaną konsolę Python, dostępną z menu {{MenuCommand|Widok → Panele → Konsola Python}}. Jest ona często przydatna do wykonywania operacji, dla których nie ma jeszcze przycisku na pasku narzędzi, lub do sprawdzania kształtów pod kątem problemów lub wykonywania powtarzalnych zadań:
FreeCAD makes extensive use of Python. With it, you can access and control almost any feature of FreeCAD. For example, you can create new objects, modify their geometry, analyze their contents, or even create new interface controls, tools and panels. Some FreeCAD workbenches and most of the addon workbenches are fully programmed in Python. FreeCAD has an advanced Python console, available from menu '''View->Panels->Python console'''. It is often useful to perform operations for which there is no toolbar button yet, or to check shapes for problems, or to perform repetitive tasks:


[[Image:Exercise_python_01.jpg]]
[[Image:Exercise_python_01.jpg]]


But the Python console has another very important use: Every time you press a toolbar button, or perform other operations in FreeCAD, some Python code is printed in the console (if the option to {{MenuCommand|Show script commands in Python console}} is enabled in {{MenuCommand|EditPreferencesGeneralMacro}}) and executed. By leaving the Python console open, you can literally see the Python code unfold as you work, and in no time, almost without knowing it, you will find yourself learning some of the Python language.
Ale konsola Python ma jeszcze jedno bardzo ważne zastosowanie: Za każdym razem, gdy naciśniesz przycisk paska narzędzi lub wykonasz inne operacje w programie FreeCAD, jakiś kod Python jest wyświetlany w konsoli ''(jeśli opcja {{MenuCommand|Pokaż polecenia skryptu w konsoli Python}} jest włączona w {{MenuCommand|EdycjaPreferencje ...PythonMakrodefinicje}})'' i wykonywany. Pozostawiając otwartą konsolę Python, można dosłownie zobaczyć, jak kod rozwija się podczas pracy, a obserwując go w krótkim czasie, niemal bezwiednie, można nauczyć się języka Python.


FreeCAD also has a [[Macros|macros system]], which allows you to record actions to be replayed later. This system also uses the Python console, by simply recording everything that is done in it.
FreeCAD posiada również system [[Macros/pl|makrodefinicji]], który pozwala na nagrywanie akcji do późniejszego odtworzenia. System ten wykorzystuje również konsolę Python, po prostu nagrywając wszystko, co jest w niej wykonywane.


In this chapter, we will discover very generally the Python language. If you are interested in learning more, the FreeCAD documentation wiki has an extensive section related to [[Power_users_hub|Python programming]].
W tym rozdziale poznamy bardzo ogólnie język Python. Jeśli chcesz dowiedzieć się więcej, wiki dokumentacji FreeCAD zawiera obszerną sekcję związaną z [[Power_users_hub/pl|Programowaniem w języku Python]].


<span id="Writing_Python_code"></span>
=== Writing Python code ===
===Pisanie kodu Python===


There are two easy ways to write Python code in FreeCAD: From the Python console ({{MenuCommand|ViewPanelsPython Console}}), or from the Macro editor ({{MenuCommand|ToolsMacrosNew}}). In the console, you write Python commands one by one, which are executed when you press return, while macros can contain a more complex script made of several lines, which is executed only when the macro is launched from the same Macros window.
Istnieją dwa proste sposoby pisania kodu Python w FreeCAD: Z konsoli Python ''({{MenuCommand|WidokPaneleKonsola Python}})'', lub z edytora makrodefinicji ''({{MenuCommand|PrzyboryMakrodefinicjeMakrodefinicje ... → Utwórz}})''. W konsoli piszesz polecenia Python jedno po drugim, które wykonywane po naciśnięciu klawisza {{KEY|Enter}}, podczas gdy makrodefinicje mogą zawierać bardziej złożony skrypt składający się z kilku linii, który jest wykonywany tylko wtedy, gdy makrodefinicja jest uruchamiana z tego okna.


W tym rozdziale będziesz mógł korzystać z obu metod, ale zdecydowanie zaleca się korzystanie z konsoli Python, ponieważ natychmiast poinformuje Cię ona o wszelkich błędach popełnionych podczas pisania.
In this chapter, you will be able to use both methods, but it is highly recommended to use the Python Console, since it will immediately inform you of any errors you make while typing.


Jeśli używasz Python po raz pierwszy, rozważ przeczytanie tego krótkiego [[Introduction_to_Python/pl|Wprowadzenie do programowania w Pythonie]] przed przejściem dalej, dzięki czemu podstawowe pojęcia środowiska Python staną się bardziej zrozumiałe.
If this is your first time using Python, consider reading this short [[Introduction_to_Python|introduction to Python programming]] before going any further, it will make the basic concepts of Python clearer.


<span id="Manipulating_FreeCAD_objects"></span>
=== Manipulating FreeCAD objects ===
===Manipulowanie obiektami FreeCAD===


Zacznijmy od utworzenia nowego pustego dokumentu:
Let's start by creating a new empty document:


doc = FreeCAD.newDocument()
doc = FreeCAD.newDocument()


Jeśli wpiszesz to w konsoli Python programu FreeCAD, zauważysz, że jak tylko wpiszesz "FreeCAD." ''(słowo FreeCAD, po którym następuje kropka)'', pojawia się okno umożliwiające szybkie autouzupełnianie reszty wiersza. Co więcej, każdy wpis na liście autouzupełniania ma podpowiedź wyjaśniającą jego działanie. Ułatwia to zapoznanie się z dostępnymi funkcjami. Zanim wybierzesz "newDocument", zapoznaj się z innymi dostępnymi opcjami.
If you type this in the FreeCAD Python console, you will notice that as soon as you type "FreeCAD." (the word FreeCAD followed by a dot), a window pops up, allowing you to quickly autocomplete the rest of the line. Even better, each entry in the autocomplete list has a tooltip explaining what it does. This makes it very easy to explore the functionality available. Before choosing "newDocument", have a look at the other options available.


[[Image:Exercise_python_02.jpg]]
[[Image:Exercise_python_02.jpg]]


As soon as you press '''Enter''' our new document will be created. This is similar to pressing the "new document" button on the toolbar. In Python, the dot is used to indicate something that is contained inside something else (newDocument is a function that is inside the FreeCAD module). The window that pops up therefore shows you everything that is contained inside "FreeCAD". If you would add a dot after newDocument, instead of the parentheses, it would show you everything that is contained inside the newDocument function. The parentheses are mandatory when you are calling a Python function, such as this one. We will illustrate that better below.
Jak tylko naciśniesz ''Enter'', nasz nowy dokument zostanie utworzony. Jest to podobne do naciśnięcia przycisku "nowy dokument" na pasku narzędzi. W środowisku Python kropka jest używana do wskazania czegoś, co znajduje się wewnątrz czegoś innego ''(newDocument jest funkcją znajdującą się wewnątrz modułu FreeCAD)''. Okno, które się pojawi, pokazuje zatem wszystko, co znajduje się wewnątrz "FreeCAD". Jeśli dodasz kropkę po newDocument, zamiast nawiasów, wyświetli się wszystko, co znajduje się wewnątrz funkcji newDocument. Nawiasy obowiązkowe, gdy wywołujesz funkcję Python, taką jak ta. Zilustrujemy to lepiej poniżej.


Wróćmy teraz do naszego dokumentu. Zobaczmy, co możemy z nim zrobić. Wpisz poniższe polecenie i sprawdź dostępne opcje:
Now let's get back to our document. Let's see what we can do with it. Type the following and explore the available options:


doc.
doc.


Zazwyczaj nazwy rozpoczynające się wielką literą są atrybutami: zawierają wartość. Nazwy rozpoczynające się małą literą to funkcje (zwane również metodami): "robią coś". Nazwy zaczynające się od podkreślenia są zwykle przeznaczone do wewnętrznego użytku modułu i należy je zignorować. Użyjmy jednej z metod, aby dodać nowy obiekt do naszego dokumentu:
Usually names that begin with an upper-case letter are attributes: they contain a value. Names that begin with a lower-case letter are functions (also called methods): they "do something". Names that begin with an underscore are usually there for the internal use of the module, and you should ignore them. Let's use one of the methods to add a new object to our document:


box = doc.addObject("Part::Box","myBox")
box = doc.addObject("Part::Box","myBox")


Nasz prostopadłościan został dodany w widoku drzewa, ale nic nie dzieje się jeszcze w widoku 3D, ponieważ podczas pracy w Python dokument nigdy nie jest automatycznie przeliczany. Musimy to zrobić ręcznie, gdy jest to wymagane:
Our box is added in the tree view, but nothing happens in the 3D view yet, because when working from Python, the document is never recomputed automatically. We must do that manually, whenever required:


doc.recompute()
doc.recompute()


Teraz nasz prostopadłościan pojawił się w oknie widoku 3D. Wiele przycisków paska narzędzi, które dodają obiekty w FreeCAD, wykonuje w rzeczywistości dwie czynności: dodanie obiektu i ponowne obliczenie. Spróbuj teraz dodać kulę za pomocą odpowiedniego przycisku w środowisku pracy Część, a zobaczysz, że dwie linie kodu Python są wykonywane jedna po drugiej.
Now our box has appeared in the 3D view. Many of the toolbar buttons that add objects in FreeCAD actually do two things: add the object, and recompute. Try now adding a sphere with the appropriate button in the Part Workbench, and you will see the two lines of Python code being executed one after the other.


Możesz uzyskać listę wszystkich możliwych typów obiektów, takich jak Part::Box:
You can get a list of all possible object types like Part::Box:


doc.supportedTypes()
doc.supportedTypes()


Teraz przyjrzyjmy się zawartości naszego prostopadłościanu:
Now let's explore the contents of our box:


box.
box.


Od razu zobaczysz kilka bardzo interesujących rzeczy, takich jak:
You'll immediately see a couple of very interesting things such as:


box.Height
box.Height


Spowoduje to wyświetlenie bieżącej wysokości naszego prostopadłościanu. Teraz spróbujmy to zmienić:
This will print the current height of our box. Now let's try to change that:


box.Height = 5
box.Height = 5


Jeśli wybierzesz swój prostopadłościan za pomocą kursora myszki, zobaczysz, że w panelu właściwości, w zakładce "Dane", nasza właściwość "Wysokość" pojawia się z nową wartością. Wszystkie właściwości obiektu FreeCAD, które pojawiają się w zakładkach "Dane" i "Widok", są również bezpośrednio dostępne w Python, poprzez ich nazwy, tak jak to zrobiliśmy z właściwością "Wysokość". Właściwości danych są dostępne bezpośrednio z samego obiektu, na przykład:
If you select your box with the mouse, you will see that in the properties panel, under the '''Data''' tab, our '''Height''' property appears with the new value. All properties of a FreeCAD object that appear in the '''Data''' and '''View''' tabs are directly accessible by Python too, by their names, like we did with the Height property. Data properties are accessed directly from the object itself, for example:


box.Length
box.Length


View properties are stored inside a '''ViewObject'''. Each FreeCAD object possesses a ViewObject, which stores the visual properties of the object. When running FreeCAD without its Graphical Interface (for example when launching it from a terminal with the -c command line option, or using it from another Python script), the ViewObject is not available, since there is no visual at all.
Właściwości widoku przechowywane wewnątrz obiektu ''ViewObject''. Każdy obiekt FreeCAD posiada ViewObject, który przechowuje właściwości wizualne obiektu. Podczas uruchamiania programu FreeCAD bez jego interfejsu graficznego ''(na przykład podczas uruchamiania go z terminala z opcją wiersza poleceń -c lub używania go z innego skryptu Python)'', obiekt ViewObject nie jest dostępny, ponieważ w ogóle nie ma wizualizacji.


Wypróbuj poniższy przykład, aby uzyskać dostęp do koloru linii naszego prostopadłościanu:
Try the following example to access the line color of our box:


box.ViewObject.LineColor
box.ViewObject.LineColor


<span id="Vectors_and_Placements"></span>
=== Vectors and Placements ===
===Wektory i umiejscowienia===


Wektory są podstawowym pojęciem w każdej aplikacji 3D. Jest to lista 3 liczb ''(x, y i z)'', opisująca punkt lub pozycję w przestrzeni 3D. Z wektorami można zrobić wiele rzeczy, takich jak dodawanie, odejmowanie, rzutowanie i wiele innych. W FreeCAD wektory działają w następujący sposób:
Vectors are a fundamental concept in any 3D application. It is a list of 3 numbers (x, y and z), describing a point or position in the 3D space. A lot of things can be done with vectors, such as additions, subtractions, projections and much more. In FreeCAD vectors work like this:


myvec = FreeCAD.Vector(2,0,0)
myvec = FreeCAD.Vector(2,0,0)
Line 94: Line 97:




Inną wspólną cechą obiektów FreeCAD jest ich '''Umiejscowienie'''. Jak widzieliśmy we wcześniejszych rozdziałach, każdy obiekt ma właściwość Umiejscowienie, która zawiera pozycję ''(Baza)'' i orientację ''(Obrót)'' obiektu. Właściwościami tymi można łatwo manipulować z poziomu środowiska Python, na przykład w celu przesunięcia naszego obiektu:
Another common feature of FreeCAD objects is their '''Placement'''. As we saw in earlier chapters, each object has a Placement property, which contains the position (Base) and orientation (Rotation) of the object. These properties are easy to manipulate from Python, for example to move our object:


print(box.Placement)
print(box.Placement)
Line 103: Line 106:
box.Placement = otherpla
box.Placement = otherpla


'''Read more'''
'''Więcej informacji:'''


* [https://www.python.org Python]
* [https://www.python.org Python]
* [[Macros|Macros]]
* [[Macros/pl|Makrodefinicje]]
* [[Introduction_to_Python|Introduction to Python]]
* [[Introduction_to_Python/pl|Wprowadzenie do środowiska Python]]
* [[Python_scripting_tutorial|Python scripting tutorial]]
* [[Python_scripting_tutorial/pl|Poradnik: Tworzenie skryptów Python]]
* [[Power_users_hub|Power users hub]]
* [[Power_users_hub/pl|Centrum Power użytkowników]]




{{Docnav
{{Docnav/pl
|[[Manual:Creating_renderings|Creating renderings]]
|[[Manual:Creating_renderings/pl|Tworzenie renderingów]]
|[[Manual:Creating_and_manipulating_geometry|Creating and manipulating geometry]]
|[[Manual:Creating_and_manipulating_geometry/pl|Tworzenie i obróbka geometrii]]
|[[Manual:Introduction|Manual start]]
|[[Manual:Introduction/pl|Podręcznik:Słowo wstępne]]
|IconC=Crystal_Clear_manual.png
|IconC=Crystal_Clear_manual.png
}}
}}

Latest revision as of 16:25, 4 February 2024

Python to popularny język programowania o otwartym kodzie źródłowym, bardzo często tak jak w przypadku FreeCAD, osadzany jest w aplikacjach jako język skryptowy. Ma szereg cech, które sprawiają, że jest odpowiedni dla nas, użytkowników FreeCAD. Jest bardzo łatwy do nauczenia, zwłaszcza dla osób, które nigdy wcześniej nie programowały, i jest osadzony w wielu innych aplikacjach. To czyni go cennym narzędziem do nauki, ponieważ będzie można go używać w innych programach, takich jak Blender, Inkscape lub GRASS.

FreeCAD w szerokim zakresie wykorzystuje Python. Dzięki niemu można uzyskać dostęp i kontrolować niemal każdą funkcję FreeCAD. Można na przykład tworzyć nowe obiekty, modyfikować ich geometrię, analizować ich zawartość, a nawet tworzyć nowe elementy sterujące interfejsu, narzędzia i panele. Niektóre środowiska pracy FreeCAD i większość dodatkowych środowisk pracy są w pełni zaprogramowane w środowisku Python. FreeCAD posiada zaawansowaną konsolę Python, dostępną z menu Widok → Panele → Konsola Python. Jest ona często przydatna do wykonywania operacji, dla których nie ma jeszcze przycisku na pasku narzędzi, lub do sprawdzania kształtów pod kątem problemów lub wykonywania powtarzalnych zadań:

Ale konsola Python ma jeszcze jedno bardzo ważne zastosowanie: Za każdym razem, gdy naciśniesz przycisk paska narzędzi lub wykonasz inne operacje w programie FreeCAD, jakiś kod Python jest wyświetlany w konsoli (jeśli opcja Pokaż polecenia skryptu w konsoli Python jest włączona w Edycja → Preferencje ... → Python → Makrodefinicje) i wykonywany. Pozostawiając otwartą konsolę Python, można dosłownie zobaczyć, jak kod rozwija się podczas pracy, a obserwując go w krótkim czasie, niemal bezwiednie, można nauczyć się języka Python.

FreeCAD posiada również system makrodefinicji, który pozwala na nagrywanie akcji do późniejszego odtworzenia. System ten wykorzystuje również konsolę Python, po prostu nagrywając wszystko, co jest w niej wykonywane.

W tym rozdziale poznamy bardzo ogólnie język Python. Jeśli chcesz dowiedzieć się więcej, wiki dokumentacji FreeCAD zawiera obszerną sekcję związaną z Programowaniem w języku Python.

Pisanie kodu Python

Istnieją dwa proste sposoby pisania kodu Python w FreeCAD: Z konsoli Python (Widok → Panele → Konsola Python), lub z edytora makrodefinicji (Przybory → Makrodefinicje → Makrodefinicje ... → Utwórz). W konsoli piszesz polecenia Python jedno po drugim, które są wykonywane po naciśnięciu klawisza Enter, podczas gdy makrodefinicje mogą zawierać bardziej złożony skrypt składający się z kilku linii, który jest wykonywany tylko wtedy, gdy makrodefinicja jest uruchamiana z tego okna.

W tym rozdziale będziesz mógł korzystać z obu metod, ale zdecydowanie zaleca się korzystanie z konsoli Python, ponieważ natychmiast poinformuje Cię ona o wszelkich błędach popełnionych podczas pisania.

Jeśli używasz Python po raz pierwszy, rozważ przeczytanie tego krótkiego Wprowadzenie do programowania w Pythonie przed przejściem dalej, dzięki czemu podstawowe pojęcia środowiska Python staną się bardziej zrozumiałe.

Manipulowanie obiektami FreeCAD

Zacznijmy od utworzenia nowego pustego dokumentu:

doc = FreeCAD.newDocument()

Jeśli wpiszesz to w konsoli Python programu FreeCAD, zauważysz, że jak tylko wpiszesz "FreeCAD." (słowo FreeCAD, po którym następuje kropka), pojawia się okno umożliwiające szybkie autouzupełnianie reszty wiersza. Co więcej, każdy wpis na liście autouzupełniania ma podpowiedź wyjaśniającą jego działanie. Ułatwia to zapoznanie się z dostępnymi funkcjami. Zanim wybierzesz "newDocument", zapoznaj się z innymi dostępnymi opcjami.

Jak tylko naciśniesz Enter, nasz nowy dokument zostanie utworzony. Jest to podobne do naciśnięcia przycisku "nowy dokument" na pasku narzędzi. W środowisku Python kropka jest używana do wskazania czegoś, co znajduje się wewnątrz czegoś innego (newDocument jest funkcją znajdującą się wewnątrz modułu FreeCAD). Okno, które się pojawi, pokazuje zatem wszystko, co znajduje się wewnątrz "FreeCAD". Jeśli dodasz kropkę po newDocument, zamiast nawiasów, wyświetli się wszystko, co znajduje się wewnątrz funkcji newDocument. Nawiasy są obowiązkowe, gdy wywołujesz funkcję Python, taką jak ta. Zilustrujemy to lepiej poniżej.

Wróćmy teraz do naszego dokumentu. Zobaczmy, co możemy z nim zrobić. Wpisz poniższe polecenie i sprawdź dostępne opcje:

doc.

Zazwyczaj nazwy rozpoczynające się wielką literą są atrybutami: zawierają wartość. Nazwy rozpoczynające się małą literą to funkcje (zwane również metodami): "robią coś". Nazwy zaczynające się od podkreślenia są zwykle przeznaczone do wewnętrznego użytku modułu i należy je zignorować. Użyjmy jednej z metod, aby dodać nowy obiekt do naszego dokumentu:

box = doc.addObject("Part::Box","myBox")

Nasz prostopadłościan został dodany w widoku drzewa, ale nic nie dzieje się jeszcze w widoku 3D, ponieważ podczas pracy w Python dokument nigdy nie jest automatycznie przeliczany. Musimy to zrobić ręcznie, gdy jest to wymagane:

doc.recompute()

Teraz nasz prostopadłościan pojawił się w oknie widoku 3D. Wiele przycisków paska narzędzi, które dodają obiekty w FreeCAD, wykonuje w rzeczywistości dwie czynności: dodanie obiektu i ponowne obliczenie. Spróbuj teraz dodać kulę za pomocą odpowiedniego przycisku w środowisku pracy Część, a zobaczysz, że dwie linie kodu Python są wykonywane jedna po drugiej.

Możesz uzyskać listę wszystkich możliwych typów obiektów, takich jak Part::Box:

doc.supportedTypes()

Teraz przyjrzyjmy się zawartości naszego prostopadłościanu:

box.

Od razu zobaczysz kilka bardzo interesujących rzeczy, takich jak:

box.Height 

Spowoduje to wyświetlenie bieżącej wysokości naszego prostopadłościanu. Teraz spróbujmy to zmienić:

box.Height = 5 

Jeśli wybierzesz swój prostopadłościan za pomocą kursora myszki, zobaczysz, że w panelu właściwości, w zakładce "Dane", nasza właściwość "Wysokość" pojawia się z nową wartością. Wszystkie właściwości obiektu FreeCAD, które pojawiają się w zakładkach "Dane" i "Widok", są również bezpośrednio dostępne w Python, poprzez ich nazwy, tak jak to zrobiliśmy z właściwością "Wysokość". Właściwości danych są dostępne bezpośrednio z samego obiektu, na przykład:

box.Length 

Właściwości widoku są przechowywane wewnątrz obiektu ViewObject. Każdy obiekt FreeCAD posiada ViewObject, który przechowuje właściwości wizualne obiektu. Podczas uruchamiania programu FreeCAD bez jego interfejsu graficznego (na przykład podczas uruchamiania go z terminala z opcją wiersza poleceń -c lub używania go z innego skryptu Python), obiekt ViewObject nie jest dostępny, ponieważ w ogóle nie ma wizualizacji.

Wypróbuj poniższy przykład, aby uzyskać dostęp do koloru linii naszego prostopadłościanu:

box.ViewObject.LineColor 

Wektory i umiejscowienia

Wektory są podstawowym pojęciem w każdej aplikacji 3D. Jest to lista 3 liczb (x, y i z), opisująca punkt lub pozycję w przestrzeni 3D. Z wektorami można zrobić wiele rzeczy, takich jak dodawanie, odejmowanie, rzutowanie i wiele innych. W FreeCAD wektory działają w następujący sposób:

myvec = FreeCAD.Vector(2,0,0)
print(myvec)
print(myvec.x)
print(myvec.y)
othervec = FreeCAD.Vector(0,3,0)
sumvec = myvec.add(othervec)


Inną wspólną cechą obiektów FreeCAD jest ich Umiejscowienie. Jak widzieliśmy we wcześniejszych rozdziałach, każdy obiekt ma właściwość Umiejscowienie, która zawiera pozycję (Baza) i orientację (Obrót) obiektu. Właściwościami tymi można łatwo manipulować z poziomu środowiska Python, na przykład w celu przesunięcia naszego obiektu:

print(box.Placement)
print(box.Placement.Base)
box.Placement.Base = sumvec
otherpla = FreeCAD.Placement()
otherpla.Base = FreeCAD.Vector(5,5,0)
box.Placement = otherpla

Więcej informacji: