Salome HOME
Merge branch 'V8_3_BR' into ngr/python3_dev
[modules/smesh.git] / doc / salome / examples / viewing_meshes_ex01.py
1 # Viewing Mesh Infos
2
3
4 import salome
5 salome.salome_init()
6 import GEOM
7 from salome.geom import geomBuilder
8 geompy = geomBuilder.New(salome.myStudy)
9
10 import SMESH, SALOMEDS
11 from salome.smesh import smeshBuilder
12 smesh =  smeshBuilder.New(salome.myStudy)
13
14 # create a box
15 box = geompy.MakeBox(0., 0., 0., 20., 20., 20.)
16 geompy.addToStudy(box, "box")
17 [Face_1,Face_2,Face_3,Face_4,Face_5,Face_5] = geompy.SubShapeAll(box, geompy.ShapeType["FACE"])
18
19 # create a mesh
20 tetra = smesh.Mesh(box, "MeshBox")
21
22 algo1D = tetra.Segment()
23 algo1D.NumberOfSegments(3)
24
25 algo2D = tetra.Triangle()
26 algo2D.MaxElementArea(10.)
27
28 algo3D = tetra.Tetrahedron()
29 algo3D.MaxElementVolume(900.)
30
31 # Creation of SubMesh
32 Regular_1D_1_1 = tetra.Segment(geom=Face_1)
33 Nb_Segments_1 = Regular_1D_1_1.NumberOfSegments(5)
34 Nb_Segments_1.SetDistrType( 0 )
35 Quadrangle_2D = tetra.Quadrangle(geom=Face_1)
36 isDone = tetra.Compute()
37 submesh = Regular_1D_1_1.GetSubMesh()
38
39 # compute the mesh
40 tetra.Compute()
41
42 # Creation of group
43 group = tetra.CreateEmptyGroup( SMESH.FACE, 'Group' )
44 nbAdd = group.Add( [ 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76 ] )
45
46 # Print information about the mesh
47 print("Information about mesh:") 
48 print("Number of nodes       : ", tetra.NbNodes())
49 print("Number of edges       : ", tetra.NbEdges())
50 print("Number of faces       : ", tetra.NbFaces())
51 print("          triangles   : ", tetra.NbTriangles())
52 print("          quadrangles : ", tetra.NbQuadrangles())
53 print("          polygons    : ", tetra.NbPolygons())
54 print("Number of volumes     : ", tetra.NbVolumes())
55 print("          tetrahedrons: ", tetra.NbTetras())
56 print("          hexahedrons : ", tetra.NbHexas())
57 print("          prisms      : ", tetra.NbPrisms())
58 print("          pyramids    : ", tetra.NbPyramids())
59 print("          polyhedrons : ", tetra.NbPolyhedrons()) 
60
61 # Get Information About Mesh by GetMeshInfo
62 print("\nInformation about mesh by GetMeshInfo:")
63 info = smesh.GetMeshInfo(tetra)
64 keys = list(info.keys()); keys.sort()
65 for i in keys:
66   print("  %s   :  %d" % ( i, info[i] ))
67   pass
68
69 # Get Information About Group by GetMeshInfo
70 print("\nInformation about group by GetMeshInfo:")
71 info = smesh.GetMeshInfo(group)
72 keys = list(info.keys()); keys.sort()
73 for i in keys:
74   print("  %s  :  %d" % ( i, info[i] ))
75   pass
76
77 # Get Information About SubMesh by GetMeshInfo
78 print("\nInformation about Submesh by GetMeshInfo:")
79 info = smesh.GetMeshInfo(submesh)
80 keys = list(info.keys()); keys.sort()
81 for i in keys:
82   print("  %s  :  %d" % ( i, info[i] ))
83   pass