]> SALOME platform Git repositories - modules/smesh.git/blob - doc/salome/examples/creating_meshes_ex05.py
Salome HOME
Fix for the '52701: SIGSEGV in Mesh creation dialog box after activating Viscous...
[modules/smesh.git] / doc / salome / examples / creating_meshes_ex05.py
1 # Export of a Mesh
2
3 import salome
4 salome.salome_init()
5 import GEOM
6 from salome.geom import geomBuilder
7 geompy = geomBuilder.New(salome.myStudy)
8
9 import SMESH, SALOMEDS
10 from salome.smesh import smeshBuilder
11 smesh =  smeshBuilder.New(salome.myStudy)
12
13 # create a box
14 box = geompy.MakeBox(0., 0., 0., 100., 200., 300.)
15 idbox = geompy.addToStudy(box, "box")
16
17 # create a mesh
18 tetra = smesh.Mesh(box, "MeshBox")
19 tetra.Segment().NumberOfSegments(7)
20 tetra.Triangle()
21 tetra.Tetrahedron()
22
23 # compute the mesh
24 tetra.Compute()
25
26 # export the mesh in a MED file
27 import tempfile
28 medFile = tempfile.NamedTemporaryFile(suffix=".med").name
29 tetra.ExportMED( medFile, 0 )
30
31 # export a group in a MED file
32 face = geompy.SubShapeAll( box, geompy.ShapeType["FACE"])[0] # a box side
33 group = tetra.GroupOnGeom( face, "face group" ) # group of 2D elements on the <face>
34 tetra.ExportMED( medFile, meshPart=group )
35
36 # ========================
37 # autoDimension parameter
38 # ========================
39
40 face = geompy.MakeFaceHW( 10, 10, 1, "rectangle" )
41 mesh2D = smesh.Mesh( face, "mesh2D" )
42 mesh2D.AutomaticHexahedralization(0)
43
44 import MEDLoader, os
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.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.MEDLoader.ReadUMeshFromFile(medFile,mesh2D.GetName(),0)
56 print "autoDimension==False, exported mesh is in %sD"%medMesh.getSpaceDimension()
57
58 os.remove( medFile )