Salome HOME
bos #29171 Refactor testing procedure
[modules/smesh.git] / doc / examples / modifying_meshes_ex03.py
1 # Add 0D Element on Element Nodes
2
3 import salome
4 salome.salome_init_without_session()
5
6 import SMESH
7 from salome.geom import geomBuilder
8 from salome.smesh import smeshBuilder
9
10 geom_builder = geomBuilder.New()
11 smesh_builder = smeshBuilder.New()
12
13 # create a geometry
14 box = geom_builder.MakeBoxDXDYDZ( 10, 10, 10 )
15 face = geom_builder.SubShapeAll( box, geom_builder.ShapeType["FACE"])[0]
16
17 # make 3D mesh
18 mesh = smesh_builder.Mesh( box )
19 mesh.AutomaticHexahedralization(0)
20
21 # create 0D elements on all nodes of the mesh
22 res = mesh.Add0DElementsToAllNodes( mesh )
23
24 # find 0D elements on all nodes of the mesh, all found nodes are added to a new group
25 groupName = "0Dmesh"
26 res = mesh.Add0DElementsToAllNodes( mesh, groupName )
27 mesh.RemoveGroupWithContents( res ) # remove all found 0D elements
28
29 # create 0D elements on all nodes of a sub-mesh, with group creation
30 groupName = "0Dsubmesh"
31 submesh = mesh.GetSubMesh( face, "faceSM")
32 res = mesh.Add0DElementsToAllNodes( submesh, groupName )
33
34 # create 0D elements on all nodes of a group
35 group = mesh.Group( face, "faceGroup" )
36 res = mesh.Add0DElementsToAllNodes( group )
37
38 # remove all 0D elements
39 mesh.RemoveElements( mesh.GetIdsFromFilter( smesh_builder.GetFilter( SMESH.ELEM0D,
40                                                                      SMESH.FT_ElemGeomType,
41                                                                      "=",SMESH.Geom_POINT )))
42
43 # create 0D elements on all nodes of some elements
44 res = mesh.Add0DElementsToAllNodes( mesh.GetElementsId() )
45
46 mesh.RemoveElements( mesh.GetElementsByType( SMESH.ELEM0D ))
47
48 # create 0D elements on some nodes
49 nodes = list(range(1,10))
50 res = mesh.Add0DElementsToAllNodes( mesh.GetIDSource( nodes, SMESH.NODE ))