Temat |
---|
MES |
Poziom trudności |
Zaawansowany |
Czas wykonania |
60 min |
Autorzy |
JohnWang |
Wersja FreeCAD |
0.19 |
Pliki z przykładami |
Zobacz również |
- |
Środowisko pracy MES ma paski narzędzi i menu. Ten poradnik pokazuje jak dodać testowy przycisk do paska narzędzi. Przedstawia też dodawanie obiektu do menu.
Zadanie można podzielić na cztery części:
src/Mod/Fem/Gui/Resources/Fem.qrc
src/Mod/Fem/femcommands/commands.py
src/Mod/Fem/Gui/Workbench.cpp
Potrzebujemy pliku ikony dla przycisku. Możesz skorzystać z dowolnego narzędzia aby go utworzyć, ale musi być zapisany w formacie SVG. W tym przykładzie skorzystamy z pliku FEM_testButton.svg.
Musi być umieszczony w: src/Mod/Fem/Gui/Resources/icons/
.
Plik SVG nowej ikony musi być zarejestrowany dla przycisku GUI poprzez wstawienie go do src/Mod/Fem/Gui/Resources/Fem.qrc
:
<file>icons/FEM_testButton.svg</file>
Nowa klasa polecenia musi być dodana do modułu src/Mod/Fem/femcommands/commands.py
.
Po prostu skopiuj i wklej istniejące polecenie, następnie dostosuj ikonę, tekst menu i wskazówkę narzędzia w __init__(self)
:
class _testButton(CommandManager):
"The FEM_testButton command definition"
def __init__(self):
super(_testButton, self).__init__()
self.menuetext = "test Button"
self.tooltip = "This is a test button"
self.is_active = "always"
#self.do_activated = "add_obj_on_gui_selobj_noset_edit"
Nie zapomnij zarejestrować polecenia na dole pliku modułu poprzez metodę addCommand(...)
:
FreeCADGui.addCommand(
"FEM_testButton",
_testButton()
)
Uwaga: Zobacz ten wątek na forum w kwestii ikon.
Dodamy nowe polecenie do paska solve (Rozwiąż) i menu solve (Rozwiąż).
Poszukaj następującego fragmentu kodu w /Gui/Workbench.cpp
i dodaj nowe polecenie:
Gui::ToolBarItem* solve = new Gui::ToolBarItem(root);
solve->setCommand("Solve");
*solve << "FEM_SolverCalculixCxxtools"
<< "FEM_SolverCalculiX"
<< "FEM_SolverElmer"
+ << "FEM_testButton"
<< "Separator"
Aby dodać polecenie do menu solve (Rozwiąż) środowiska pracy MES, poszukaj następującego fragmentu kodu w Workbench.cpp
:
Gui::MenuItem* solve = new Gui::MenuItem;
root->insertItem(item, solve);
solve->setCommand("&Solve");
*solve << "FEM_SolverCalculixCxxtools"
<< "FEM_SolverCalculiX"
<< "FEM_SolverElmer"
<< "FEM_SolverZ88"
+ << "FEM_testButton"
<< "Separator"
Efekt: Powinieneś właśnie prawidłowo dodać testowy przycisk do paska narzędzi i menu środowiska pracy MES. Teraz możesz skompilować FreeCAD i przetestować swój nowy przycisk.