Argomento |
---|
FEM |
Livello di difficoltà |
Advanced |
Tempo di esecuzione |
60 min |
Autori |
JohnWang |
Versione di FreeCAD |
0.19 |
Files di esempio |
Vedere anche |
Nessuno |
L'ambiente FEM dispone di barre degli strumenti e di menu. Questo tutorial mostra come aggiungere un pulsante di prova a una barra degli strumenti. Mostra anche come aggiungere una voce di menu a un menu.
Il compito può essere suddiviso in quattro parti:
src/Mod/Fem/Gui/Resources/Fem.qrc
src/Mod/Fem/femcommands/commands.py
src/Mod/Fem/Gui/Workbench.cpp
Per il pulsante abbiamo bisogno di un file icona. Si può utilizzare uno qualsiasi dei propri strumenti preferiti per crearlo, ma deve essere nel formato SVG. Qui utilizzeremo il file FEM_testButton.svg come esempio.
Deve essere inserito in: src/Mod/Fem/Gui/Resources/icons/
.
Il nuovo file icona SVG deve essere registrato per il pulsante della GUI inserendolo in src/Mod/Fem/Gui/Resources/Fem.qrc
:
<file>icons/FEM_testButton.svg</file>
Deve essere aggiunta una nuova classe per il comando nel modulo src/Mod/Fem/femcommands/commands.py
.
Basta copiare/incollare un comando esistente, quindi modificare l'icona, il testo del menu e il suggerimento in __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"
Non si dimentichi di registrare il comando in fondo al file del modulo con il metodo addCommand(...)
:
FreeCADGui.addCommand(
"FEM_testButton",
_testButton()
)
Nota: vedere questo thread di discussione nel forum se sono coinvolte le icone.
Aggiungeremo il nuovo comando sia alla barra degli strumenti Risolvi che al menu Risolvi.
Cercare il seguente snippet di codice in /Gui/Workbench.cpp
e aggiungere il nuovo comando:
Gui::ToolBarItem* solve = new Gui::ToolBarItem(root);
solve->setCommand("Solve");
*solve << "FEM_SolverCalculixCxxtools"
<< "FEM_SolverCalculiX"
<< "FEM_SolverElmer"
+ << "FEM_testButton"
<< "Separator"
Per aggiungere il comando al menu Risolvi di FEM, cercare il seguente snippet di codice in 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"
Risultato: si dovrebbe aver appena aggiunto con successo un pulsante di test alla barra degli strumenti e al menu di FEM. Ora si può compilare FreeCAD e testare il tuo nuovo pulsante.