diff --git a/src/Mod/Fem/Gui/Resources/ui/ResultShow.ui b/src/Mod/Fem/Gui/Resources/ui/ResultShow.ui
index dae31359b5..60b42077ad 100644
--- a/src/Mod/Fem/Gui/Resources/ui/ResultShow.ui
+++ b/src/Mod/Fem/Gui/Resources/ui/ResultShow.ui
@@ -207,6 +207,9 @@
0
+
+ 100
+
Qt::Horizontal
@@ -227,22 +230,22 @@
-
-
+
- false
+ true
+
+
+ Qt::ImhFormattedNumbersOnly
false
-
- 1000000
-
-
- 10
-
-
+
1
+
+ 1000000.000000000000000
+
@@ -260,21 +263,21 @@
-
-
+
- false
+ true
+
+
+ Qt::ImhFormattedNumbersOnly
false
+
+ 1
+
- 1000000
-
-
- 10
-
-
- 100
+ 1000000.000000000000000
@@ -304,7 +307,7 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">
<html><head><meta name="qrichtext" content="1" /><style type="text/css">
p, li { white-space: pre-wrap; }
-</style></head><body style=" font-family:'DejaVu Sans'; font-size:9pt; font-weight:400; font-style:normal;">
+</style></head><body style=" font-family:'MS Shell Dlg 2'; font-size:8pt; font-weight:400; font-style:normal;">
<p style=" margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"><span style=" font-family:'Ubuntu'; font-size:11pt;">P1-P3 # Stress intensity stress equation. Available values are numpy array format. Calculation np.function can be used on available values. </span></p></body></html>
@@ -437,22 +440,6 @@ p, li { white-space: pre-wrap; }
-
- cb_show_displacement
- toggled(bool)
- sb_displacement_factor
- setEnabled(bool)
-
-
- 112
- 240
-
-
- 124
- 269
-
-
-
cb_show_displacement
toggled(bool)
@@ -469,22 +456,6 @@ p, li { white-space: pre-wrap; }
-
- cb_show_displacement
- toggled(bool)
- sb_displacement_factor_max
- setEnabled(bool)
-
-
- 161
- 237
-
-
- 159
- 302
-
-
-
cb_show_displacement
toggled(bool)
diff --git a/src/Mod/Fem/femguiobjects/_ViewProviderFemResultMechanical.py b/src/Mod/Fem/femguiobjects/_ViewProviderFemResultMechanical.py
index 63ee255ece..26dd955374 100644
--- a/src/Mod/Fem/femguiobjects/_ViewProviderFemResultMechanical.py
+++ b/src/Mod/Fem/femguiobjects/_ViewProviderFemResultMechanical.py
@@ -217,16 +217,18 @@ class _TaskPanelFemResultShow:
QtCore.SIGNAL("valueChanged(int)"),
self.hsb_disp_factor_changed
)
- QtCore.QObject.connect(
- self.form.sb_displacement_factor,
- QtCore.SIGNAL("valueChanged(int)"),
- self.sb_disp_factor_changed
- )
- QtCore.QObject.connect(
- self.form.sb_displacement_factor_max,
- QtCore.SIGNAL("valueChanged(int)"),
- self.sb_disp_factor_max_changed
- )
+# QtCore.QObject.connect(
+# self.form.sb_displacement_factor,
+# QtCore.SIGNAL("valueChanged(int)"),
+# self.sb_disp_factor_changed
+# )
+ self.form.sb_displacement_factor.valueChanged.connect(self.sb_disp_factor_changed)
+# QtCore.QObject.connect(
+# self.form.sb_displacement_factor_max,
+# QtCore.SIGNAL("valueChanged(int)"),
+# self.sb_disp_factor_max_changed
+# )
+ self.form.sb_displacement_factor_max.valueChanged.connect(self.sb_disp_factor_max_changed)
# user defined equation
QtCore.QObject.connect(
@@ -247,11 +249,9 @@ class _TaskPanelFemResultShow:
self.restore_initial_result_dialog()
# initialize scale factor for show displacement
scale_factor = get_displacement_scale_factor(self.result_obj)
+ self.form.sb_displacement_factor_max.setValue(10. * scale_factor)
self.form.sb_displacement_factor.setValue(scale_factor)
- self.form.hsb_displacement_factor.setValue(scale_factor)
- diggits_scale_factor = len(str(abs(int(scale_factor))))
- new_max_factor = 10 ** diggits_scale_factor
- self.form.sb_displacement_factor_max.setValue(new_max_factor)
+
def restore_result_dialog(self):
try:
@@ -302,8 +302,8 @@ class _TaskPanelFemResultShow:
df = FreeCAD.FEM_dialog["disp_factor"]
dfm = FreeCAD.FEM_dialog["disp_factor_max"]
- self.form.hsb_displacement_factor.setMaximum(dfm)
- self.form.hsb_displacement_factor.setValue(df)
+ #self.form.hsb_displacement_factor.setMaximum(dfm)
+ #self.form.hsb_displacement_factor.setValue(df)
self.form.sb_displacement_factor_max.setValue(dfm)
self.form.sb_displacement_factor.setValue(df)
except:
@@ -545,7 +545,7 @@ class _TaskPanelFemResultShow:
def update_displacement(self, factor=None):
if factor is None:
if FreeCAD.FEM_dialog["show_disp"]:
- factor = self.form.hsb_displacement_factor.value()
+ factor = self.form.sb_displacement_factor.value()
else:
factor = 0.0
self.mesh_obj.ViewObject.applyDisplacement(factor)
@@ -566,16 +566,26 @@ class _TaskPanelFemResultShow:
QtGui.QApplication.restoreOverrideCursor()
def hsb_disp_factor_changed(self, value):
- self.form.sb_displacement_factor.setValue(value)
+ self.form.sb_displacement_factor.setValue(value / 100. * self.form.sb_displacement_factor_max.value())
self.update_displacement()
def sb_disp_factor_max_changed(self, value):
FreeCAD.FEM_dialog["disp_factor_max"] = value
- self.form.hsb_displacement_factor.setMaximum(value)
+ if value < self.form.sb_displacement_factor.value():
+ self.form.sb_displacement_factor.setValue(value)
+ if value == 0.:
+ self.form.hsb_displacement_factor.setValue(0)
+ else:
+ self.form.hsb_displacement_factor.setValue(self.form.sb_displacement_factor.value() / value * 100.)
def sb_disp_factor_changed(self, value):
FreeCAD.FEM_dialog["disp_factor"] = value
- self.form.hsb_displacement_factor.setValue(value)
+ if value > self.form.sb_displacement_factor_max.value():
+ self.form.sb_displacement_factor.setValue(self.form.sb_displacement_factor_max.value())
+ if self.form.sb_displacement_factor_max.value() == 0.:
+ self.form.hsb_displacement_factor.setValue(0.)
+ else:
+ self.form.hsb_displacement_factor.setValue(value / self.form.sb_displacement_factor_max.value() * 100.)
def disable_empty_result_buttons(self):
""" disable radio buttons if result does not exists in result object"""