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