FEM: Add new properties to FEM preferences
The new properties are NumberOfEigenmode, EigenmodeHighLimit and EigenmodeLowLimit. All 3 are linked with analysis object properties. Signed-off-by: Przemo Firszt <przemo@firszt.eu>
This commit is contained in:
parent
6ab7a434ac
commit
3dcc189e8b
|
@ -7,7 +7,7 @@
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>555</width>
|
<width>555</width>
|
||||||
<height>453</height>
|
<height>518</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="windowTitle">
|
<property name="windowTitle">
|
||||||
|
@ -196,14 +196,12 @@
|
||||||
<item>
|
<item>
|
||||||
<widget class="QGroupBox" name="gb_analysis_params">
|
<widget class="QGroupBox" name="gb_analysis_params">
|
||||||
<property name="title">
|
<property name="title">
|
||||||
<string>Default analysis type</string>
|
<string>Default analysis settings</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||||
<item>
|
<item>
|
||||||
<layout class="QVBoxLayout" name="verticalLayout_3">
|
<layout class="QGridLayout" name="gridLayout_2">
|
||||||
<item>
|
<item row="0" column="1">
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_2">
|
|
||||||
<item>
|
|
||||||
<widget class="Gui::PrefComboBox" name="cb_analysis_type">
|
<widget class="Gui::PrefComboBox" name="cb_analysis_type">
|
||||||
<property name="minimumSize">
|
<property name="minimumSize">
|
||||||
<size>
|
<size>
|
||||||
|
@ -240,20 +238,110 @@
|
||||||
</item>
|
</item>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item row="1" column="0">
|
||||||
<spacer name="horizontalSpacer">
|
<widget class="QLabel" name="l_eigenmode_number">
|
||||||
<property name="orientation">
|
<property name="text">
|
||||||
<enum>Qt::Horizontal</enum>
|
<string>Eigenmode number</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="sizeHint" stdset="0">
|
</widget>
|
||||||
<size>
|
|
||||||
<width>40</width>
|
|
||||||
<height>20</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
</spacer>
|
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="l_type">
|
||||||
|
<property name="text">
|
||||||
|
<string>Type</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="Gui::PrefSpinBox" name="sb_eigenmode_number">
|
||||||
|
<property name="maximum">
|
||||||
|
<number>100</number>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<number>10</number>
|
||||||
|
</property>
|
||||||
|
<property name="prefEntry" stdset="0">
|
||||||
|
<cstring>NumberOfEigenmode</cstring>
|
||||||
|
</property>
|
||||||
|
<property name="prefPath" stdset="0">
|
||||||
|
<cstring>Mod/Fem</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="0">
|
||||||
|
<widget class="QLabel" name="l_eigenmode_high_limit">
|
||||||
|
<property name="text">
|
||||||
|
<string>High frequency limit</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="1">
|
||||||
|
<widget class="Gui::PrefDoubleSpinBox" name="dsb_eigenmode_high_limit">
|
||||||
|
<property name="decimals">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<double>1000000.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="singleStep">
|
||||||
|
<double>10000.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<double>1000000.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="prefEntry" stdset="0">
|
||||||
|
<cstring>EigenmodeHighLimit</cstring>
|
||||||
|
</property>
|
||||||
|
<property name="prefPath" stdset="0">
|
||||||
|
<cstring>Mod/Fem</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="0">
|
||||||
|
<widget class="QLabel" name="l_eigenmode_low_limit">
|
||||||
|
<property name="text">
|
||||||
|
<string>Low frequency limit</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="Gui::PrefDoubleSpinBox" name="dsb_eigenmode_low_limit">
|
||||||
|
<property name="decimals">
|
||||||
|
<number>1</number>
|
||||||
|
</property>
|
||||||
|
<property name="minimum">
|
||||||
|
<double>0.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="maximum">
|
||||||
|
<double>1000000.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="singleStep">
|
||||||
|
<double>10000.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="value">
|
||||||
|
<double>0.000000000000000</double>
|
||||||
|
</property>
|
||||||
|
<property name="prefEntry" stdset="0">
|
||||||
|
<cstring>EigenmodeLowLimit</cstring>
|
||||||
|
</property>
|
||||||
|
<property name="prefPath" stdset="0">
|
||||||
|
<cstring>Mod/Fem</cstring>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="2" column="2">
|
||||||
|
<widget class="QLabel" name="l_hz_1">
|
||||||
|
<property name="text">
|
||||||
|
<string>Hz</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="2">
|
||||||
|
<widget class="QLabel" name="l_hz_2">
|
||||||
|
<property name="text">
|
||||||
|
<string>Hz</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
|
@ -398,6 +486,11 @@
|
||||||
<extends>Gui::FileChooser</extends>
|
<extends>Gui::FileChooser</extends>
|
||||||
<header>Gui/PrefWidgets.h</header>
|
<header>Gui/PrefWidgets.h</header>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
|
<customwidget>
|
||||||
|
<class>Gui::PrefSpinBox</class>
|
||||||
|
<extends>QSpinBox</extends>
|
||||||
|
<header>Gui/PrefWidgets.h</header>
|
||||||
|
</customwidget>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
<class>Gui::PrefCheckBox</class>
|
<class>Gui::PrefCheckBox</class>
|
||||||
<extends>QCheckBox</extends>
|
<extends>QCheckBox</extends>
|
||||||
|
@ -408,6 +501,11 @@
|
||||||
<extends>QComboBox</extends>
|
<extends>QComboBox</extends>
|
||||||
<header>Gui/PrefWidgets.h</header>
|
<header>Gui/PrefWidgets.h</header>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
|
<customwidget>
|
||||||
|
<class>Gui::PrefDoubleSpinBox</class>
|
||||||
|
<extends>QDoubleSpinBox</extends>
|
||||||
|
<header>Gui/PrefWidgets.h</header>
|
||||||
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<resources>
|
<resources>
|
||||||
<include location="Resources/Fem.qrc"/>
|
<include location="Resources/Fem.qrc"/>
|
||||||
|
|
|
@ -53,6 +53,9 @@ void DlgSettingsFemImp::saveSettings()
|
||||||
fc_ext_editor->onSave();
|
fc_ext_editor->onSave();
|
||||||
fc_ccx_binary->onSave();
|
fc_ccx_binary->onSave();
|
||||||
cb_analysis_type->onSave();
|
cb_analysis_type->onSave();
|
||||||
|
sb_eigenmode_number->onSave();
|
||||||
|
dsb_eigenmode_high_limit->onSave();
|
||||||
|
dsb_eigenmode_low_limit->onSave();
|
||||||
cb_use_built_in_materials->onSave();
|
cb_use_built_in_materials->onSave();
|
||||||
cb_use_mat_from_config_dir->onSave();
|
cb_use_mat_from_config_dir->onSave();
|
||||||
cb_use_mat_from_custom_dir->onSave();
|
cb_use_mat_from_custom_dir->onSave();
|
||||||
|
@ -66,6 +69,9 @@ void DlgSettingsFemImp::loadSettings()
|
||||||
fc_ext_editor->onRestore();
|
fc_ext_editor->onRestore();
|
||||||
fc_ccx_binary->onRestore();
|
fc_ccx_binary->onRestore();
|
||||||
cb_analysis_type->onRestore();
|
cb_analysis_type->onRestore();
|
||||||
|
sb_eigenmode_number->onRestore();
|
||||||
|
dsb_eigenmode_high_limit->onRestore();
|
||||||
|
dsb_eigenmode_low_limit->onRestore();
|
||||||
cb_use_built_in_materials->onRestore();
|
cb_use_built_in_materials->onRestore();
|
||||||
cb_use_mat_from_config_dir->onRestore();
|
cb_use_mat_from_config_dir->onRestore();
|
||||||
cb_use_mat_from_custom_dir->onRestore();
|
cb_use_mat_from_custom_dir->onRestore();
|
||||||
|
|
|
@ -42,7 +42,6 @@ class _FemAnalysis:
|
||||||
obj.WorkingDir = fem_prefs.GetString("WorkingDir", "")
|
obj.WorkingDir = fem_prefs.GetString("WorkingDir", "")
|
||||||
|
|
||||||
obj.addProperty("App::PropertyIntegerConstraint", "NumberOfEigenmodes", "Fem", "Number of modes for frequency calculations")
|
obj.addProperty("App::PropertyIntegerConstraint", "NumberOfEigenmodes", "Fem", "Number of modes for frequency calculations")
|
||||||
#Not yet in prefs, so it will always default to 10
|
|
||||||
noe = fem_prefs.GetInt("NumberOfEigenmodes", 10)
|
noe = fem_prefs.GetInt("NumberOfEigenmodes", 10)
|
||||||
obj.NumberOfEigenmodes = (noe, 1, 100, 1)
|
obj.NumberOfEigenmodes = (noe, 1, 100, 1)
|
||||||
|
|
||||||
|
@ -52,9 +51,8 @@ class _FemAnalysis:
|
||||||
obj.EigenmodeLowLimit = (ell, 0.0, 1000000.0, 10000.0)
|
obj.EigenmodeLowLimit = (ell, 0.0, 1000000.0, 10000.0)
|
||||||
|
|
||||||
obj.addProperty("App::PropertyFloatConstraint", "EigenmodeHighLimit", "Fem", "High frequency limit for eigenmode calculations")
|
obj.addProperty("App::PropertyFloatConstraint", "EigenmodeHighLimit", "Fem", "High frequency limit for eigenmode calculations")
|
||||||
#Not yet in prefs, so it will always default to 1000000.0
|
|
||||||
ehl = fem_prefs.GetFloat("EigenmodeHighLimit", 1000000.0)
|
ehl = fem_prefs.GetFloat("EigenmodeHighLimit", 1000000.0)
|
||||||
obj.EigenmodeHighLimit = (ehl, 0.0, 1000000.0, 100000)
|
obj.EigenmodeHighLimit = (ehl, 0.0, 1000000.0, 10000.0)
|
||||||
|
|
||||||
def execute(self, obj):
|
def execute(self, obj):
|
||||||
return
|
return
|
||||||
|
|
Loading…
Reference in New Issue
Block a user