Salome HOME
23617: EDF 14133 - Complete Merge Nodes / Merge Elements operations
[modules/smesh.git] / doc / salome / examples / transforming_meshes_ex05.py
index deba1c407c5e6c6827c5ed38635f8076a66113ee..0adf0247cf6de7fb956c1e49c825ae76a76d9b9c 100644 (file)
@@ -1,14 +1,24 @@
 # Merging Nodes
 
 import SMESH_mechanic, SMESH
-mesh = SMESH_mechanic.mesh
+mesh  = SMESH_mechanic.mesh
+smesh = SMESH_mechanic.smesh
 
-# merge nodes
+# criterion of coincidence
 Tolerance = 4.0
 
+# find close nodes of triangle elements only
+triangleFilter = smesh.GetFilter( SMESH.FACE, SMESH.FT_ElemGeomType,'=', SMESH.Geom_TRIANGLE )
+GroupsOfNodesOfTriangles = mesh.FindCoincidentNodesOnPart([triangleFilter],Tolerance)
+
 # prevent nodes located on geom edges from removal during merge:
 # create a group including all nodes on edges
 allSegs = mesh.MakeGroup( "all segments", SMESH.EDGE, SMESH.FT_ElemGeomType,'=', SMESH.Geom_EDGE )
 
-GroupsOfNodes =  mesh.FindCoincidentNodes(Tolerance)
+mesh.MergeNodes(GroupsOfNodesOfTriangles, NodesToKeep=allSegs)
+
+
+# find close nodes in the whole mesh
+GroupsOfNodes = mesh.FindCoincidentNodes(Tolerance)
+
 mesh.MergeNodes(GroupsOfNodes, NodesToKeep=allSegs)