9 box = geompy.MakeBox(0., 0., 0., 100., 200., 300.)
11 # Define hexa mesh on a box
12 mesh = smesh.Mesh(box, "Mesh")
13 mesh.Segment().NumberOfSegments(7)
20 # Without the duplication of border elements
23 nodes1 = mesh.CreateEmptyGroup( smesh.NODE, 'nodes1' )
24 nodes1.Add( [ 119, 125, 131, 137 ] )
26 # Group of faces to replace nodes with new ones
27 faces1 = mesh.CreateEmptyGroup( smesh.FACE, 'faces1' )
28 faces1.Add( [ 144, 151, 158 ] )
31 print "\nMesh before the first nodes duplication:"
32 print "Nodes : ", mesh.NbNodes()
33 print "Edges : ", mesh.NbEdges()
34 print "Quadrangles : ", mesh.NbQuadrangles()
36 groupOfCreatedNodes = mesh.DoubleNodeGroup(nodes1, faces1, theMakeGroup=True)
37 print "New nodes:", groupOfCreatedNodes.GetIDs()
39 print "\nMesh after the first nodes duplication:"
40 print "Nodes : ", mesh.NbNodes()
41 print "Edges : ", mesh.NbEdges()
42 print "Quadrangles : ", mesh.NbQuadrangles()
44 # With the duplication of border elements
47 edges = mesh.CreateEmptyGroup( smesh.EDGE, 'edges' )
48 edges.Add( [ 32, 33, 34 ] )
50 # Nodes not to duplicate
51 nodes2 = mesh.CreateEmptyGroup( smesh.NODE, 'nodes2' )
52 nodes2.Add( [ 35, 38 ] )
54 # Group of faces to replace nodes with new ones
55 faces2 = mesh.CreateEmptyGroup( smesh.FACE, 'faces2' )
56 faces2.Add( [ 141, 148, 155 ] )
59 print "\nMesh before the second nodes duplication:"
60 print "Nodes : ", mesh.NbNodes()
61 print "Edges : ", mesh.NbEdges()
62 print "Quadrangles : ", mesh.NbQuadrangles()
64 groupOfNewEdges = mesh.DoubleNodeElemGroup( edges, nodes2, faces2, theMakeGroup=True )
65 print "New edges:", groupOfNewEdges.GetIDs()
67 print "\nMesh after the second nodes duplication:"
68 print "Nodes : ", mesh.NbNodes()
69 print "Edges : ", mesh.NbEdges()
70 print "Quadrangles : ", mesh.NbQuadrangles()
72 # Update object browser
73 if salome.sg.hasDesktop():
74 salome.sg.updateObjBrowser(0)