Onboarding FEM Devs/pl: Difference between revisions
(Created page with "===Kompilacja ze źródła===") |
No edit summary |
||
(19 intermediate revisions by one other user not shown) | |||
Line 6: | Line 6: | ||
==Opis== |
==Opis== |
||
Na tej stronie nowi programiści dowiedzą się, jak skonfigurować swoje środowiska programistyczne, aby |
Na tej stronie nowi programiści dowiedzą się, jak skonfigurować swoje środowiska programistyczne, aby kodować w środowisku pracy MES. |
||
<span id="Setting_up_a_Dev_Environment"></span> |
<span id="Setting_up_a_Dev_Environment"></span> |
||
Line 28: | Line 28: | ||
Do opracowania. |
Do opracowania. |
||
<span id="Compiling_via_Docker"></span> |
|||
=== Compiling via Docker === |
|||
===Kompilacja przez Docker=== |
|||
Do opracowania. |
|||
TBD |
|||
<span id="Source_Code_Management"></span> |
|||
== Source Code Management == |
|||
==Zarządzanie kodem źródłowym== |
|||
Utrzymanie aktualności FreeCAD jest udokumentowane na stronie [[Source_code_management/pl|Zarządzanie kodem źródłowym]]. Wraz z przydatnymi wskazówkami {{incode|git}}. |
|||
<span id="FEM_Code_Infrastructure"></span> |
|||
== FEM Code Infrastructure == |
|||
==Infrastruktura kodu MES== |
|||
Kod MES znajduje się w {{incode|src/Mod/Fem}}. |
|||
* {{incode|App/}} <small> |
* {{incode|App/}} <small>aplikacja w trybie konsoli, definiuje podstawowe struktury i klasy bazowe dla obiektów dokumentów, które są używane przez moduły do tworzenia własnych.</small> |
||
* {{incode|Gui/}} <small> |
* {{incode|Gui/}} <small>Aplikacja w trybie GUI, definiuje [[3D_view/pl|widok 3D]], narzędzia/funkcje używane przez środowisko pracy do interakcji z interfejsem użytkownika i widokiem 3D, definiuje klasy bazowe dla [[Viewprovider/pl|dostawcy widoków]].</small> |
||
* {{incode|femcommands/}} |
* {{incode|femcommands/}} |
||
* {{incode|fem.dox}} |
* {{incode|fem.dox}} |
||
Line 62: | Line 65: | ||
* {{incode|TestFemGui.py}} |
* {{incode|TestFemGui.py}} |
||
<span id="Coding_Conventions"></span> |
|||
=== Coding Conventions === |
|||
===Konwencja kodowania=== |
|||
Zobacz plik [https://github.com/FreeCAD/FreeCAD/blob/master/src/Mod/Fem/coding_conventions.md coding_conventions.md] w repozytorium FreeCAD. |
|||
<span id="Adding_New_FEM_Solvers"></span> |
|||
== Adding New FEM Solvers == |
|||
==Dodawanie nowych solwerów MES== |
|||
Nowy solver MES wymaga następujących elementów: |
|||
A new FEM solver requires the following: |
|||
* Eksporter siatki, |
|||
* Mesh exporter |
|||
* Importer wyników, |
|||
* Results importer |
|||
* Solver |
* Obiekt Solver ''(wymaga zmian w ustawieniach solvera, testach jednostkowych, modułach ObjectsFem)'', |
||
* Moduł zadań i zapisu ''(tutaj odbywa się główny zapis danych wejściowych solvera)'', |
|||
* Task and writer module (here is where the main solver input writing happens) |
|||
* Narzędzie GUI do tworzenia solvera, |
|||
* GUI tool to create a solver |
|||
* Zakładka preferencji GUI do ustawiania ścieżki binarnej solvera, |
|||
* GUI preference tab to set the solver binary path |
|||
* Test jednostkowy zapisu danych wejściowych solvera. Najlepiej skorzystać ze wspornika ccx. Jest on dostępny dla wszystkich typów elementów siatki, |
|||
* A solver input writing unit test. Best to take the ccx cantilever. This is available for all mesh element types |
|||
* |
* Jedno lub dwa piwa ... |
||
Zobacz także: |
|||
See also: |
|||
* [[Extend_FEM_Module| |
* [[Extend_FEM_Module/pl|Rozszerzenie modułu FEM]] |
||
* |
* Wysiłki związane z implementacją solvera [https://github.com/berndhahnebach/FreeCAD_bhb/commits/femoofem oofem]. |
||
* |
* Wysiłki związane z implementacją solvera [https://github.com/FreeCAD/FreeCAD/compare/a03eb6b9625ba...dfc01ec949525 myStran]. |
||
<span id="Writing_Unit_Tests"></span> |
|||
== Writing Unit Tests == |
|||
==Pisanie testów jednostkowych== |
|||
Do opracowania. |
|||
TBD |
|||
= |
<span id="Informative"></span> |
||
==Informacje dodatkowe== |
|||
* [[Wrapping_a_Cplusplus_class_in_Python| |
* [[Wrapping_a_Cplusplus_class_in_Python/pl|Zawijanie klasy C++ w środowisku Python]] |
||
* [[Add_FEM_Equation_Tutorial| |
* [[Add_FEM_Equation_Tutorial/pl|Dodawanie równań w środowisku MES]] |
||
* [[Add_Button_to_FEM_Toolbar_Tutorial| |
* [[Add_Button_to_FEM_Toolbar_Tutorial/pl|Dodaj przycisk do paska narzędzi MES]] |
||
= |
<span id="Related"></span> |
||
==Powiązane== |
|||
* |
* Błędy MES w [https://github.com/FreeCAD/FreeCAD/issues FreeCAD bugtracker] |
||
* |
* Otwarte komentarze do MES [https://github.com/FreeCAD/FreeCAD/search?q=FIXME+AND+fem FIXME] w kodzie źródłowym FreeCAD |
||
* |
* Otwarte komentarze do MES [https://github.com/FreeCAD/FreeCAD/search?q=TODO+AND+fem TODO] w kodzie źródłowym FreeCAD |
||
* [https://forum.freecadweb.org/viewtopic.php?f=18&t=60574 |
* [https://forum.freecadweb.org/viewtopic.php?f=18&t=60574 Oryginalna dyskusja w wątku] dla tej strony wiki |
||
* [[FEM_Workbench| |
* [[FEM_Workbench/pl|środowisko pracy MES]] |
||
Latest revision as of 17:30, 12 January 2024
Opis
Na tej stronie nowi programiści dowiedzą się, jak skonfigurować swoje środowiska programistyczne, aby kodować w środowisku pracy MES.
Konfiguracja środowiska deweloperskiego
Do opracowania.
Wymagania wstępne
- Netgen
Zalecane
- Paraview
Kompilacja ze źródła
Do opracowania.
Kompilacja przez Docker
Do opracowania.
Zarządzanie kodem źródłowym
Utrzymanie aktualności FreeCAD jest udokumentowane na stronie Zarządzanie kodem źródłowym. Wraz z przydatnymi wskazówkami git
.
Infrastruktura kodu MES
Kod MES znajduje się w src/Mod/Fem
.
App/
aplikacja w trybie konsoli, definiuje podstawowe struktury i klasy bazowe dla obiektów dokumentów, które są używane przez moduły do tworzenia własnych.Gui/
Aplikacja w trybie GUI, definiuje widok 3D, narzędzia/funkcje używane przez środowisko pracy do interakcji z interfejsem użytkownika i widokiem 3D, definiuje klasy bazowe dla dostawcy widoków.femcommands/
fem.dox
femexamples/
femguiobjects/
femguiutils/
feminout/
femmesh/
femobjects/
femresult/
femsolver/
femtaskpanels/
femtest/
femtools/
femviewprovider/
InitGui.py
Init.py
ObjectsFem.py
TestFemApp.py
TestFemGui.py
Konwencja kodowania
Zobacz plik coding_conventions.md w repozytorium FreeCAD.
Dodawanie nowych solwerów MES
Nowy solver MES wymaga następujących elementów:
- Eksporter siatki,
- Importer wyników,
- Obiekt Solver (wymaga zmian w ustawieniach solvera, testach jednostkowych, modułach ObjectsFem),
- Moduł zadań i zapisu (tutaj odbywa się główny zapis danych wejściowych solvera),
- Narzędzie GUI do tworzenia solvera,
- Zakładka preferencji GUI do ustawiania ścieżki binarnej solvera,
- Test jednostkowy zapisu danych wejściowych solvera. Najlepiej skorzystać ze wspornika ccx. Jest on dostępny dla wszystkich typów elementów siatki,
- Jedno lub dwa piwa ...
Zobacz także:
- Rozszerzenie modułu FEM
- Wysiłki związane z implementacją solvera oofem.
- Wysiłki związane z implementacją solvera myStran.
Pisanie testów jednostkowych
Do opracowania.
Informacje dodatkowe
- Zawijanie klasy C++ w środowisku Python
- Dodawanie równań w środowisku MES
- Dodaj przycisk do paska narzędzi MES
Powiązane
- Błędy MES w FreeCAD bugtracker
- Otwarte komentarze do MES FIXME w kodzie źródłowym FreeCAD
- Otwarte komentarze do MES TODO w kodzie źródłowym FreeCAD
- Oryginalna dyskusja w wątku dla tej strony wiki
- środowisko pracy MES