Onboarding FEM Devs/pl: Difference between revisions

From FreeCAD Documentation
(Created page with "==Infrastruktura kodu MES==")
No edit summary
 
(15 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 hakować w środowisku pracy MES.
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 41: Line 41:
==Infrastruktura kodu MES==
==Infrastruktura kodu MES==


The FEM code lives in {{incode|src/Mod/Fem}}
Kod MES znajduje się w {{incode|src/Mod/Fem}}.


* {{incode|App/}} <small>console-mode application, defines basic structures and base classes for document objects, that are used by modules to build their own.</small>
* {{incode|App/}} <small>aplikacja w trybie konsoli, definiuje podstawowe struktury i klasy bazowe dla obiektów dokumentów, które używane przez moduły do tworzenia własnych.</small>
* {{incode|Gui/}} <small>GUI-mode application, defines the [[3D_view|3D view]], tools/functions used by workbench to interact with UI and 3D view, defines base classes for [[Viewprovider|view providers]].</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 65: Line 65:
* {{incode|TestFemGui.py}}
* {{incode|TestFemGui.py}}


<span id="Coding_Conventions"></span>
=== Coding Conventions ===
===Konwencja kodowania===


Please see [https://github.com/FreeCAD/FreeCAD/blob/master/src/Mod/Fem/coding_conventions.md coding_conventions.md] file on the FreeCAD repository.
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 object (needs changes in solver settings, unit tests, ObjectsFem modules as well)
* 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
* Having one or two beers
* Jedno lub dwa piwa ...


Zobacz także:
See also:
* [[Extend_FEM_Module|Extend FEM Module]]
* [[Extend_FEM_Module/pl|Rozszerzenie modułu FEM]]
* The implementation efforts of the [https://github.com/berndhahnebach/FreeCAD_bhb/commits/femoofem oofem] solver
* Wysiłki związane z implementacją solvera [https://github.com/berndhahnebach/FreeCAD_bhb/commits/femoofem oofem].
* The implementation efforts of the [https://github.com/FreeCAD/FreeCAD/compare/a03eb6b9625ba...dfc01ec949525 myStran] solver
* 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


== Informative ==
<span id="Informative"></span>
==Informacje dodatkowe==


* [[Wrapping_a_Cplusplus_class_in_Python|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]]
* [[Add_FEM_Equation_Tutorial/pl|Dodawanie równań w środowisku MES]]
* [[Add_Button_to_FEM_Toolbar_Tutorial|Add Button to FEM Toolbar Tutorial]]
* [[Add_Button_to_FEM_Toolbar_Tutorial/pl|Dodaj przycisk do paska narzędzi MES]]


== Related ==
<span id="Related"></span>
==Powiązane==


* FEM bugs in the [https://github.com/FreeCAD/FreeCAD/issues FreeCAD bugtracker]
* Błędy MES w [https://github.com/FreeCAD/FreeCAD/issues FreeCAD bugtracker]
* Open FEM [https://github.com/FreeCAD/FreeCAD/search?q=FIXME+AND+fem FIXME] comments in the FreeCAD source code
* Otwarte komentarze do MES [https://github.com/FreeCAD/FreeCAD/search?q=FIXME+AND+fem FIXME] w kodzie źródłowym FreeCAD
* Open FEM [https://github.com/FreeCAD/FreeCAD/search?q=TODO+AND+fem TODO] comments in the FreeCAD source code
* 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 Original thread discussion] for this wiki page
* [https://forum.freecadweb.org/viewtopic.php?f=18&t=60574 Oryginalna dyskusja w wątku] dla tej strony wiki
* [[FEM_Workbench|FEM Workbench]]
* [[FEM_Workbench/pl|środowisko pracy MES]]





Latest revision as of 17:30, 12 January 2024

Other languages:

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:

Pisanie testów jednostkowych

Do opracowania.

Informacje dodatkowe

Powiązane