diff --git a/src/Mod/Fem/Gui/Resources/ui/MeshGmsh.ui b/src/Mod/Fem/Gui/Resources/ui/MeshGmsh.ui index 249eee0c5a..5262965ca8 100644 --- a/src/Mod/Fem/Gui/Resources/ui/MeshGmsh.ui +++ b/src/Mod/Fem/Gui/Resources/ui/MeshGmsh.ui @@ -7,7 +7,7 @@ 0 0 400 - 439 + 475 @@ -41,14 +41,14 @@ - + Max element size (0.0 = Auto): - + @@ -85,14 +85,14 @@ - + Min element size (0.0 = Auto): - + @@ -129,6 +129,16 @@ + + + + + + + Mesh order + + + @@ -153,6 +163,13 @@ + + + + QTextEdit::NoWrap + + + @@ -165,26 +182,6 @@ - - - - QTextEdit::NoWrap - - - - - - - - 0 - 0 - - - - Gmsh version - - - @@ -198,7 +195,20 @@ - + + + + + 0 + 0 + + + + Gmsh version + + + + diff --git a/src/Mod/Fem/femobjects/mesh_gmsh.py b/src/Mod/Fem/femobjects/mesh_gmsh.py index 9cf8bc66a3..dbcc7e1ff6 100644 --- a/src/Mod/Fem/femobjects/mesh_gmsh.py +++ b/src/Mod/Fem/femobjects/mesh_gmsh.py @@ -141,7 +141,7 @@ class MeshGmsh(base_fempythonobject.BaseFemPythonObject): "Order of mesh elements" ) obj.ElementOrder = MeshGmsh.known_element_orders - obj.ElementOrder = "2nd" + obj.ElementOrder = "1st" if not hasattr(obj, "OptimizeStd"): obj.addProperty( diff --git a/src/Mod/Fem/femtaskpanels/task_mesh_gmsh.py b/src/Mod/Fem/femtaskpanels/task_mesh_gmsh.py index 21778d7ad5..a82edcdeb9 100644 --- a/src/Mod/Fem/femtaskpanels/task_mesh_gmsh.py +++ b/src/Mod/Fem/femtaskpanels/task_mesh_gmsh.py @@ -77,6 +77,11 @@ class _TaskPanel: QtCore.SIGNAL("activated(int)"), self.choose_dimension ) + QtCore.QObject.connect( + self.form.cb_order, + QtCore.SIGNAL("activated(int)"), + self.choose_order + ) QtCore.QObject.connect( self.Timer, QtCore.SIGNAL("timeout()"), @@ -92,6 +97,10 @@ class _TaskPanel: mesh_gmsh.MeshGmsh.known_element_dimensions ) + self.form.cb_order.addItems( + mesh_gmsh.MeshGmsh.known_element_orders + ) + self.get_mesh_params() self.get_active_analysis() self.update() @@ -126,11 +135,13 @@ class _TaskPanel: self.clmax = self.mesh_obj.CharacteristicLengthMax self.clmin = self.mesh_obj.CharacteristicLengthMin self.dimension = self.mesh_obj.ElementDimension + self.order = self.mesh_obj.ElementOrder def set_mesh_params(self): self.mesh_obj.CharacteristicLengthMax = self.clmax self.mesh_obj.CharacteristicLengthMin = self.clmin self.mesh_obj.ElementDimension = self.dimension + self.mesh_obj.ElementOrder = self.order def update(self): "fills the widgets" @@ -138,6 +149,8 @@ class _TaskPanel: self.form.if_min.setText(self.clmin.UserString) index_dimension = self.form.cb_dimension.findText(self.dimension) self.form.cb_dimension.setCurrentIndex(index_dimension) + index_order = self.form.cb_order.findText(self.order) + self.form.cb_order.setCurrentIndex(index_order) def console_log(self, message="", color="#000000"): if (not isinstance(message, bytes)) and (sys.version_info.major < 3): @@ -168,6 +181,12 @@ class _TaskPanel: self.form.cb_dimension.setCurrentIndex(index) self.dimension = str(self.form.cb_dimension.itemText(index)) # form returns unicode + def choose_order(self, index): + if index < 0: + return + self.form.cb_order.setCurrentIndex(index) + self.order = str(self.form.cb_order.itemText(index)) # form returns unicode + def get_gmsh_version(self): from femmesh import gmshtools version, full_message = gmshtools.GmshTools(self.mesh_obj, self.analysis).get_gmsh_version()