Salome HOME
bos #29171 Refactor testing procedure
[modules/smesh.git] / doc / examples / creating_meshes_ex05.py
1 # Export of a Mesh
2
3 import os
4 import tempfile
5 import MEDLoader
6
7 import salome
8 salome.salome_init_without_session()
9
10 from salome.geom import geomBuilder
11 from salome.smesh import smeshBuilder
12
13 geom_builder = geomBuilder.New()
14 smesh_builder = smeshBuilder.New()
15
16 # create a box
17 box = geom_builder.MakeBox(0., 0., 0., 100., 200., 300.)
18 idbox = geom_builder.addToStudy(box, "box")
19
20 # create a mesh
21 tetra = smesh_builder.Mesh(box, "MeshBox")
22 tetra.Segment().NumberOfSegments(7)
23 tetra.Triangle()
24 tetra.Tetrahedron()
25
26 # compute the mesh
27 tetra.Compute()
28
29 # export the mesh in a MED file
30 medFile = tempfile.NamedTemporaryFile(suffix=".med").name
31 tetra.ExportMED( medFile, 0 )
32
33 # export a group in a MED file
34 face = geom_builder.SubShapeAll( box, geom_builder.ShapeType["FACE"])[0] # a box side
35 group = tetra.GroupOnGeom( face, "face group" ) # group of 2D elements on the <face>
36 tetra.ExportMED( medFile, meshPart=group )
37
38 # ========================
39 # autoDimension parameter
40 # ========================
41
42 face = geom_builder.MakeFaceHW( 10, 10, 1, "rectangle" )
43 mesh2D = smesh_builder.Mesh( face, "mesh2D" )
44 mesh2D.AutomaticHexahedralization(0)
45
46 # exported mesh is in 2D space because it is a planar mesh lying
47 # on XOY plane, and autoDimension=True by default
48 mesh2D.ExportMED( medFile )
49 medMesh = MEDLoader.ReadUMeshFromFile(medFile,mesh2D.GetName(),0)
50 print("autoDimension==True, exported mesh is in %sD"%medMesh.getSpaceDimension())
51
52 # exported mesh is in 3D space, same as in Mesh module,
53 # thanks to autoDimension=False
54 mesh2D.ExportMED( medFile, autoDimension=False )
55 medMesh = MEDLoader.ReadUMeshFromFile(medFile,mesh2D.GetName(),0)
56 print("autoDimension==False, exported mesh is in %sD"%medMesh.getSpaceDimension())
57
58 os.remove( medFile )