Line drawing function/pl: Revision history

Diff selection: Mark the radio buttons of the revisions to compare and hit enter or the button at the bottom.
Legend: (cur) = difference with latest revision, (prev) = difference with preceding revision, m = minor edit.

(newest | oldest) View (newer 50 | ) (20 | 50 | 100 | 250 | 500)

19 March 2024

  • curprev 13:4313:43, 19 March 2024Kaktus talk contribs 14,175 bytes +20 Created page with "Polecenie {{incode|dir()}} jest wbudowanym poleceniem Python, które wyświetla zawartość modułu. Możemy sprawdzić, czy nasza klasa {{incode|line()}} tam jest za pomocą:"
  • curprev 13:4213:42, 19 March 2024Kaktus talk contribs 14,155 bytes +37 Created page with "Jeśli nie pojawi się żaden komunikat o błędzie, nasz skrypt został pomyślnie załadowany. Możemy teraz sprawdzić jego zawartość za pomocą:"
  • curprev 13:4213:42, 19 March 2024Kaktus talk contribs 14,118 bytes −1 Created page with "Teraz wszystko jest gotowe. Uruchommy FreeCAD, utwórzmy nowy dokument i w interpreterze Python wpiszmy:"
  • curprev 13:4213:42, 19 March 2024Kaktus talk contribs 14,119 bytes +72 Created page with "Teraz zapiszmy nasz skrypt w folderze, w którym interpreter Python dla FreeCAD może go znaleźć. Podczas importowania modułów interpreter będzie szukał w następujących miejscach: w ścieżkach instalacji Pythona, w folderze {{FileName|bin}} FreeCAD oraz we wszystkich folderach {{FileName|Mod}} ''(modułowych)'' FreeCAD. Dlatego najlepszym rozwiązaniem jest utworzenie nowego folderu w jednym z folderów {{FileName|Mod}}. Utwórzmy tam folder o nazwie {{FileName|..."
  • curprev 13:4013:40, 19 March 2024Kaktus talk contribs 14,047 bytes +14 Created page with "Kliknij dwa razy w widoku 3D i bingo: oto nasza linia! Aby ją powtórzyć, wystarczy ponownie wpisać {{incode|exercise.line()}}."
  • curprev 13:4013:40, 19 March 2024Kaktus talk contribs 14,033 bytes +4 Created page with "Przetestujmy to teraz:"
  • curprev 13:3913:39, 19 March 2024Kaktus talk contribs 14,029 bytes +32 Created page with "To wszystko, teraz musimy tylko ponownie uruchomić FreeCAD i będziemy mieli ładne nowe środowisko pracy z naszym nowym narzędziem do linii!"
  • curprev 13:3913:39, 19 March 2024Kaktus talk contribs 13,997 bytes +104 Created page with "To, co tutaj zrobiliśmy, to przekształcenie naszej funkcji {{incode|__init__()}} w funkcję {{incode|Activated()}}. Gdy komendy FreeCAD są uruchamiane, automatycznie wykonują funkcję {{incode|Activated()}}. Dodaliśmy również funkcję {{incode|GetResources()}}, która informuje FreeCAD, gdzie można znaleźć ikonę narzędzia, oraz jak będą nazywać się i co będą wyświetlać wskazówki dotyczące naszego narzędzia. Każdy obraz {{FileName|jpg}}, {{FileName..."
  • curprev 13:3813:38, 19 March 2024Kaktus talk contribs 13,893 bytes +18 Created page with "Ale to wciąż nie zadziała, ponieważ komenda FreeCAD musi być sformatowana w określony sposób, będziemy musieli zmienić nasze narzędzie {{incode|line()}}. Nasz nowy skrypt {{FileName|exercise.py}} powinien wyglądać tak:"
  • curprev 13:3613:36, 19 March 2024Kaktus talk contribs 13,875 bytes +86 Created page with "Do tej pory prawdopodobnie rozumiesz powyższy skrypt. Tworzymy nową klasę, którą nazywamy {{incode|MyWorkbench}}, nadajemy jej tytuł {{incode|MenuText}}, i definiujemy funkcję {{incode|Initialize()}}, która zostanie wykonana, gdy środowisko pracy zostanie załadowane do FreeCAD. W tej funkcji wczytujemy zawartość naszego pliku ćwiczenia i dodajemy znalezione w nim komendy FreeCAD do listy komend. Następnie tworzymy pasek narzędzi o nazwie "Moje skrypty" i p..."
  • curprev 13:3513:35, 19 March 2024Kaktus talk contribs 13,789 bytes +109 Created page with "Aby nasze nowe narzędzie do rysowania linii było naprawdę użyteczne i uniknąć konieczności wpisywania wszystkich tych komend, powinno ono mieć przycisk w interfejsie. Jednym sposobem na to jest przekształcenie naszego nowego folderu {{FileName|MyScripts}} w pełne środowisko pracy FreeCAD. To jest proste, wystarczy umieścić plik o nazwie {{FileName|InitGui.py}} wewnątrz folderu {{FileName|MyScripts}}. Plik {{FileName|InitGui.py}} będzie zawierać instrukcje..."
  • curprev 13:3313:33, 19 March 2024Kaktus talk contribs 13,680 bytes +43 Created page with "==Zarejestrowanie skryptu=="
  • curprev 13:3013:30, 19 March 2024Kaktus talk contribs 13,637 bytes +9 Created page with "Nie wahaj się zadawać pytań lub dzielić się pomysłami na forum [https://forum.freecadweb.org/]!"
  • curprev 13:3013:30, 19 March 2024Kaktus talk contribs 13,628 bytes +196 Created page with "Jeśli spodobało Ci się to ćwiczenie, dlaczego nie spróbujesz ulepszyć tego narzędzia? Jest wiele rzeczy, które można zrobić, na przykład: * Dodaj informacje zwrotne dla użytkownika: do tej pory stworzyliśmy bardzo podstawowe narzędzie, więc użytkownik może trochę się zgubić podczas jego użytkowania. Możemy dodać jakieś komunikaty zwrotne, informujące użytkownika, co zrobić następnie. Możesz wyświetlać komunikaty w konsoli FreeCAD. Spójrz n..."
  • curprev 13:2813:28, 19 March 2024Kaktus talk contribs 13,432 bytes +43 Created page with "==Chcesz czegoś więcej?=="
  • curprev 13:2813:28, 19 March 2024Kaktus talk contribs 13,389 bytes +38 Created page with "==Testowanie skryptu=="
  • curprev 13:2813:28, 19 March 2024Kaktus talk contribs 13,351 bytes +17 Created page with "Ponieważ skończyliśmy z naszą linią, usuwamy tutaj mechanizm wywołania zwrotnego."
  • curprev 13:2713:27, 19 March 2024Kaktus talk contribs 13,334 bytes +19 Created page with "Moduł Część posiada bardzo przydatną funkcję {{incode|show()}}, która tworzy nowy obiekt w dokumencie i wiąże z nim kształt. Mogliśmy również najpierw utworzyć nowy obiekt w dokumencie, a następnie ręcznie powiązać z nim kształt."
  • curprev 13:2713:27, 19 March 2024Kaktus talk contribs 13,315 bytes +27 Created page with "Dokument FreeCAD może akceptować tylko kształty z modułu Część. Kształty są najbardziej ogólnym typem modułu Część. Musimy więc przekonwertować naszą linię na kształt przed dodaniem jej do dokumentu."
  • curprev 13:0513:05, 19 March 2024Kaktus talk contribs 13,288 bytes +20 Created page with "Tutaj używamy funkcji {{incode|LineSegment()}} z modułu Część, która tworzy linię z dwóch wektorów FreeCAD. Linia nie jest powiązana z żadnym obiektem w naszym aktywnym dokumencie, więc nic nie pojawia się na ekranie."
  • curprev 13:0413:04, 19 March 2024Kaktus talk contribs 13,268 bytes +12 Created page with "Czy mamy już wystarczająco dużo punktów? Jeśli tak, to wyznaczmy granicę!"
  • curprev 13:0413:04, 19 March 2024Kaktus talk contribs 13,256 bytes 0 Created page with "Dodajemy nasz nowy punkt do stosu."
  • curprev 13:0413:04, 19 March 2024Kaktus talk contribs 13,256 bytes +43 Created page with "Funkcja ta daje nam wektor FreeCAD (x,y,z) zawierający punkt 3D, który leży na płaszczyźnie ogniskowej, tuż pod kursorem myszy. Jeśli jesteś w widoku kamery, wyobraź sobie promień wychodzący z kamery, przechodzący przez kursor myszy i uderzający w płaszczyznę ogniskową. Jest to lokalizacja naszego punktu 3D. Jeśli jesteśmy w widoku ortogonalnym, promień jest równoległy do kierunku widoku."
  • curprev 13:0313:03, 19 March 2024Kaktus talk contribs 13,213 bytes +1 Created page with "Tutaj otrzymujemy współrzędne ekranowe kursora myszy."
  • curprev 13:0313:03, 19 March 2024Kaktus talk contribs 13,212 bytes +39 Created page with "Funkcja {{incode|getpoint()}} zostanie wywołana, gdy zostanie naciśnięty lub zwolniony przycisk myszy. Jednak chcemy wybrać punkt 3D tylko wtedy, gdy zostanie naciśnięty przycisk, w przeciwnym razie otrzymalibyśmy dwa punkty 3D bardzo blisko siebie. Dlatego musimy to sprawdzić tutaj."
  • curprev 12:5912:59, 19 March 2024Kaktus talk contribs 13,173 bytes −3 No edit summary
  • curprev 12:5912:59, 19 March 2024Kaktus talk contribs 13,176 bytes +87 Created page with "Teraz zdefiniujemy funkcję {{incode|getpoint()}}, która będzie wykonywana po naciśnięciu przycisku myszy w widoku 3D. Funkcja ta otrzyma argument, który nazwiemy {{incode|event_cb}}. Z tego wywołania zwrotnego zdarzenia możemy uzyskać dostęp do obiektu zdarzenia, który zawiera kilka informacji ''(więcej informacji znajdziesz na stronie wycinki kodu)''."
  • curprev 12:5712:57, 19 March 2024FuzzyBot talk contribs 13,089 bytes −2 Updating to match new version of source page
  • curprev 12:5312:53, 19 March 2024Kaktus talk contribs 13,091 bytes +38 Created page with "Należy pamiętać, że istnieje również alternatywa dla {{incode|addEventCallbackPivy()}} o nazwie {{incode|addEventCallback()}}, która nie opiera się na pivy. Ale ponieważ pivy jest bardzo wydajnym i naturalnym sposobem dostępu do dowolnej części sceny Coin, jest to lepszy wybór."
  • curprev 12:5312:53, 19 March 2024Kaktus talk contribs 13,053 bytes +34 Created page with "To ważna część. Ponieważ mamy do czynienia z sceną [https://github.com/coin3d/coin/wiki Coin3D], używamy mechanizmu zwrotnego Coin, który pozwala na wywołanie funkcji za każdym razem, gdy wystąpi określone zdarzenie sceny. W naszym przypadku tworzymy zwrotkę dla zdarzeń [https://coin3d.github.io/Coin/html/classSoMouseButtonEvent.html SoMouseButtonEvent] i wiążemy ją z funkcją {{incode|getpoint()}}. Teraz za każdym razem, gdy zostanie naciśnięty lub z..."
  • curprev 12:5012:50, 19 March 2024Kaktus talk contribs 13,019 bytes +7 Created page with "Tutaj tworzymy pustą listę, która będzie zawierać punkty 3D wysłane przez funkcję {{incode|getpoint()}}."
  • curprev 12:4912:49, 19 March 2024Kaktus talk contribs 13,012 bytes +40 Created page with "W klasie zazwyczaj chcesz poprzedzić nazwy zmiennych słowem kluczowym {{incode|self.}}, aby umożliwić łatwy dostęp do zmiennych we wszystkich funkcjach wewnątrz i na zewnątrz klasy. Tutaj będziemy używać {{incode|self.view}} do dostępu i manipulacji aktywnym widokiem 3D."
  • curprev 12:4712:47, 19 March 2024Kaktus talk contribs 12,972 bytes +40 Created page with "Klasy Python zawsze mogą zawierać funkcję {{incode|__init__}}, która jest wykonywana, gdy klasa jest wywoływana w celu utworzenia obiektu. Tutaj umieścimy wszystko, co chcemy, aby się działo, gdy nasze narzędzie liniowe się uruchomi."
  • curprev 12:4612:46, 19 March 2024Kaktus talk contribs 12,932 bytes +1 Created page with "W Pythonie każda klasa lub funkcja może mieć ciąg dokumentacji ''(docstring)''. Jest to szczególnie przydatne w FreeCAD, ponieważ po wywołaniu tej klasy w interpreterze, ciąg opisu zostanie wyświetlony jako podpowiedź."
  • curprev 12:4612:46, 19 March 2024Kaktus talk contribs 12,931 bytes +58 Created page with "Tutaj definiujemy naszą główną klasę. Dlaczego używamy klasy, a nie funkcji? Powodem jest to, że potrzebujemy, aby nasze narzędzie pozostało "żywe", podczas gdy czekamy na kliknięcie użytkownika na ekranie. Funkcja kończy się, gdy jej zadanie zostanie wykonane, ale obiekt ''(klasa definiuje obiekt)'' pozostaje aktywny do momentu jego zniszczenia."
  • curprev 12:4512:45, 19 March 2024Kaktus talk contribs 12,873 bytes +64 Created page with "W środowisku Python, gdy chcesz użyć funkcji z innego modułu, musisz go zaimportować. W naszym przypadku będziemy potrzebować funkcji z modułu Część do tworzenia linii oraz z modułu Gui {{incode|FreeCADGui}}, aby uzyskać dostęp do widoku 3D. Potrzebujemy również pełnej zawartości biblioteki Coin, abyśmy mogli bezpośrednio korzystać ze wszystkich obiektów Coin, takich jak {{incode|SoMouseButtonEvent}}, itp."
  • curprev 12:4312:43, 19 March 2024Kaktus talk contribs 12,809 bytes +46 Created page with "==Szczegółowe wyjaśnienia=="
  • curprev 12:4312:43, 19 March 2024Kaktus talk contribs 12,763 bytes +11 Created page with "Najpierw napiszemy skrypt zawierający całą naszą funkcjonalność. Następnie zapiszemy go w pliku i zaimportujemy do FreeCAD, aby udostępnić wszystkie jego klasy i funkcje. Uruchom swój ulubiony edytor kodu i wpisz następujące linie:"
  • curprev 12:4312:43, 19 March 2024Kaktus talk contribs 12,752 bytes +35 Created page with "==Skrypt główny=="
  • curprev 12:4212:42, 19 March 2024Kaktus talk contribs 12,717 bytes +60 Created page with "Ta strona pokazuje, jak łatwo można tworzyć zaawansowane funkcje w środowisku Python. W tym ćwiczeniu zbudujemy nowe narzędzie, które rysuje linię. Narzędzie to można następnie połączyć z poleceniem FreeCAD, a polecenie to można wywołać za pomocą dowolnego elementu interfejsu, takiego jak element menu lub przycisk paska narzędzi."
  • curprev 12:4212:42, 19 March 2024Kaktus talk contribs 12,657 bytes +32 Created page with "==Wprowadzenie=="

31 August 2021

25 August 2021

23 August 2020

22 June 2020

15 May 2020

13 February 2020

22 November 2019

27 August 2019

23 February 2019

(newest | oldest) View (newer 50 | ) (20 | 50 | 100 | 250 | 500)