Fem: Add preference to create CalculiX result as pipeline - fixes #20541

This commit is contained in:
marioalexis
2025-04-02 11:06:01 -03:00
parent f0324df06b
commit bdcfc7f6de
4 changed files with 33 additions and 6 deletions

View File

@@ -659,6 +659,33 @@
</property>
</widget>
</item>
<item row="10" column="0">
<widget class="QLabel" name="l_pipeline_result">
<property name="text">
<string>Result object</string>
</property>
</widget>
</item>
<item row="10" column="2">
<widget class="Gui::PrefCheckBox" name="ckb_pipeline_result">
<property name="text">
<string>Pipeline only</string>
</property>
<property name="toolTip">
<string>Load results as pipeline instead of Result Object.
By uncheck this option, CalculiX command behave like SolverCalculiXCcxTools</string>
</property>
<property name="checked">
<bool>false</bool>
</property>
<property name="prefEntry" stdset="0">
<cstring>ResultAsPipeline</cstring>
</property>
<property name="prefPath" stdset="0">
<cstring>Mod/Fem/Ccx</cstring>
</property>
</widget>
</item>
</layout>
</item>
</layout>

View File

@@ -72,6 +72,7 @@ void DlgSettingsFemCcxImp::saveSettings()
ui->dsb_ccx_analysis_time->onSave(); // Analysis time
ui->dsb_ccx_minimum_time_step->onSave(); // Minimum time step
ui->dsb_ccx_maximum_time_step->onSave(); // Maximum time step
ui->ckb_pipeline_result->onSave();
ui->cb_analysis_type->onSave();
ui->cb_BeamShellOutput->onSave(); // Beam shell output 3d or 2d
@@ -99,6 +100,7 @@ void DlgSettingsFemCcxImp::loadSettings()
ui->dsb_ccx_analysis_time->onRestore(); // Analysis time
ui->dsb_ccx_minimum_time_step->onRestore(); // Minimum time step
ui->dsb_ccx_maximum_time_step->onRestore(); // Maximum time step
ui->ckb_pipeline_result->onRestore();
ui->cb_analysis_type->onRestore();
ui->cb_BeamShellOutput->onRestore(); // Beam shell output 3d or 2d

View File

@@ -166,7 +166,7 @@ Gui::ToolBarItem* Workbench::setupToolBars() const
Gui::ToolBarItem* solve = new Gui::ToolBarItem(root);
solve->setCommand("Solve");
if (!Fem::Tools::checkIfBinaryExists("Ccx", "ccx", "ccx").empty()) {
*solve << "FEM_SolverCalculiXCcxTools";
*solve << "FEM_SolverCalculiX";
}
if (!Fem::Tools::checkIfBinaryExists("Elmer", "elmer", "ElmerSolver").empty()) {
*solve << "FEM_SolverElmer";
@@ -326,7 +326,7 @@ Gui::MenuItem* Workbench::setupMenuBar() const
Gui::MenuItem* solve = new Gui::MenuItem;
root->insertItem(item, solve);
solve->setCommand("&Solve");
*solve << "FEM_SolverCalculiXCcxTools"
*solve << "FEM_SolverCalculiX"
<< "FEM_SolverElmer"
<< "FEM_SolverMystran"
<< "FEM_SolverZ88"

View File

@@ -1057,13 +1057,11 @@ class _SolverCalculiX(CommandManager):
def __init__(self):
super().__init__()
self.pixmap = "FEM_SolverStandard"
self.menutext = Qt.QT_TRANSLATE_NOOP(
"FEM_SolverCalculiX", "Solver CalculiX (new framework)"
)
self.menutext = Qt.QT_TRANSLATE_NOOP("FEM_SolverCalculiX", "Solver CalculiX")
self.accel = "S, C"
self.tooltip = Qt.QT_TRANSLATE_NOOP(
"FEM_SolverCalculiX",
"Creates a FEM solver CalculiX new framework (less result error handling)",
"Creates a FEM solver CalculiX",
)
self.is_active = "with_analysis"