Środowisko Python
Opis
Python to wysokopoziomowy język programowania ogólnego przeznaczenia, który jest bardzo powszechnie wykorzystywany w dużych aplikacjach do automatyzacji pewnych zadań poprzez tworzenie skryptów lub makr.
We FreeCAD, kod Pythona może być stosowany do tworzenia różnych elementów programowo, bez potrzeby klikania w interfejsie graficznym użytkownika. Ponadto, wiele narzędzi i środowisk pracy we FreeCAD jest zaprogramowanych w Pythonie.
Zobacz stronę Wprowadzenie do Pythona, aby zapoznać się z językiem programowania Python, a następnie sprawdź Poradnik pisania skryptów w Pythonie oraz Podstawy tworzenia skryptów we FreeCAD, aby rozpocząć tworzenie skryptów we FreeCAD.
Czytelność
Czytelność kodu w Pythonie jest jednym z najważniejszych aspektów tego języka. Stosowanie jasnego i spójnego stylu w społeczności Pythona ułatwia wkład różnych programistów, ponieważ większość doświadczonych programistów Pythona oczekuje, że kod będzie sformatowany w określony sposób i będzie przestrzegał określonych zasad. Podczas pisania kodu w Pythonie zaleca się stosowanie do dokumentu PEP8: Style Guide for Python Code oraz PEP257: Docstring Conventions.
Te dokumenty zawierają wyjaśnienia w bardziej przyjaznej dla użytkownika formie:
Konwencje
W tej dokumentacji należy stosować się do niektórych konwencji dotyczących przykładów w Pythonie.
To jest typowa sygnatura funkcji
Wire = make_wire(pointslist, closed=False, placement=None, face=None, support=None)
- Argumenty w postaci par klucz-wartość są opcjonalne, a wartość domyślna jest podana w sygnaturze. Oznacza to, że następujące wywołania są równoważne:
Wire = make_wire(pointslist, False, None, None, None)
Wire = make_wire(pointslist, False, None, None)
Wire = make_wire(pointslist, False, None)
Wire = make_wire(pointslist, False)
Wire = make_wire(pointslist)
- W tym przykładzie, pierwszy argument nie ma domyślnej wartości, więc powinien być zawsze uwzględniony.
- Gdy argumenty są podane z wyraźnym kluczem, argumenty opcjonalne można podawać w dowolnej kolejności. Oznacza to, że następujące wywołania są równoważne:
Wire = make_wire(pointslist, closed=False, placement=None, face=None)
Wire = make_wire(pointslist, closed=False, face=None, placement=None)
Wire = make_wire(pointslist, placement=None, closed=False, face=None)
Wire = make_wire(pointslist, support=None, closed=False, placement=None, face=None)
- Wytyczne Pythona podkreślają czytelność kodu; w szczególności nawiasy powinny bezpośrednio następować po nazwie funkcji, a po przecinku powinna znajdować się spacja.
p1 = Vector(0, 0, 0)
p2 = Vector(1, 1, 0)
p3 = Vector(2, 0, 0)
Wire = make_wire([p1, p2, p3], closed=True)
- Jeśli kod musi być podzielony na kilka linii, należy to zrobić przy przecinku wewnątrz nawiasów kwadratowych lub okrągłych; druga linia powinna być wyrównana z poprzednią.
a_list = [1, 2, 3,
2, 4, 5]
Wire = make_wire(pointslist,
False, None,
None, None)
- Funkcje mogą zwracać obiekt, który może być użyty jako baza dla innej funkcji rysującej.
Wire = make_wire(pointslist, closed=True, face=True)
Window = make_window(Wire, name="Big window")
Importy
Funkcje Pythona są przechowywane w plikach zwanych modułami. Zanim użyjesz jakiejkolwiek funkcji z danego modułu, moduł musi zostać dołączony do dokumentu za pomocą instrukcji import.
Tworzy to funkcje z prefiksem, czyli module.function(). System ten zapobiega konfliktom nazw funkcji, które mają taką samą nazwę, ale pochodzą z różnych modułów.
Na przykład dwie funkcje Arch.make_window() i myModule.make_window() mogą współistnieć bez problemu.
Pełne przykłady powinny zawierać niezbędne importy oraz funkcje z prefiksem.
import FreeCAD as App
import Draft
p1 = App.Vector(0, 0, 0)
p2 = App.Vector(1, 1, 0)
p3 = App.Vector(2, 0, 0)
Wire = Draft.make_wire([p1, p2, p3], closed=True)
import FreeCAD as App
import Draft
import Arch
p1 = App.Vector(0, 0, 0)
p2 = App.Vector(1, 0, 0)
p3 = App.Vector(1, 1, 0)
p4 = App.Vector(0, 2, 0)
pointslist = [p1, p2, p3, p4]
Wire = Draft.make_wire(pointslist, closed=True, face=True)
Structure = Arch.make_structure(Wire, name="Big pillar")
- 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