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()