FEM: Add EigenmodeLowLimit property to analysis object
Signed-off-by: Przemo Firszt <przemo@firszt.eu>
This commit is contained in:
parent
fcf19ff8ec
commit
042ded01e0
|
@ -275,9 +275,9 @@ class FemTools(QtCore.QRunnable, QtCore.QObject):
|
|||
## Sets eigenmode parameters for CalculiX frequency analysis
|
||||
# @param self The python object self
|
||||
# @param number number of eigenmodes that wll be calculated, default read for FEM prefs or 10 if not set in the FEM prefs
|
||||
# @param limit_low lower value of requested eigenfrequency range, default 0.0
|
||||
# @param limit_low lower value of requested eigenfrequency range, default read for FEM prefs or 0.0 if not set in the FEM prefs
|
||||
# @param limit_high higher value of requested eigenfrequency range, default 1000000.0
|
||||
def set_eigenmode_parameters(self, number=None, limit_low=0.0, limit_high=1000000.0):
|
||||
def set_eigenmode_parameters(self, number=None, limit_low=None, limit_high=1000000.0):
|
||||
self.fem_prefs = FreeCAD.ParamGet("User parameter:BaseApp/Preferences/Mod/Fem")
|
||||
if number is not None:
|
||||
_number = number
|
||||
|
@ -290,7 +290,16 @@ class FemTools(QtCore.QRunnable, QtCore.QObject):
|
|||
if _number < 1:
|
||||
_number = 1
|
||||
|
||||
self.eigenmode_parameters = (_number, limit_low, limit_high)
|
||||
if limit_low is not None:
|
||||
_limit_low = limit_low
|
||||
else:
|
||||
try:
|
||||
_limit_low = self.analysis.EigenmodeLowLimit
|
||||
except:
|
||||
#Not yet in prefs, so it will always default to 0.0
|
||||
_limit_low = self.fem_prefs.GetString("EigenmodeLowLimit", 0.0)
|
||||
|
||||
self.eigenmode_parameters = (_number, _limit_low, limit_high)
|
||||
|
||||
## Sets base_name
|
||||
# @param self The python object self
|
||||
|
|
|
@ -46,6 +46,11 @@ class _FemAnalysis:
|
|||
noe = fem_prefs.GetInt("NumberOfEigenmodes", 10)
|
||||
obj.NumberOfEigenmodes = (noe, 1, 100, 1)
|
||||
|
||||
obj.addProperty("App::PropertyFloatConstraint", "EigenmodeLowLimit", "Fem", "Low frequency limit for eigenmode calculations")
|
||||
#Not yet in prefs, so it will always default to 0.0
|
||||
ell = fem_prefs.GetFloat("EigenmodeLowLimit", 0.0)
|
||||
obj.EigenmodeLowLimit = (ell, 0.0, 1000000.0, 10000.0)
|
||||
|
||||
def execute(self, obj):
|
||||
return
|
||||
|
||||
|
|
Loading…
Reference in New Issue
Block a user