Salome HOME
0023591: [EDF] Add test to check meshing plug-ins to SMESH module
[modules/smesh.git] / doc / salome / examples / creating_meshes_ex05.py
index 98e921a06981585e1f09d607d61bea3e9dc4a586..08e8d135fb52cf96044921a2fe593b07f54ca75f 100644 (file)
@@ -4,11 +4,11 @@ import salome
 salome.salome_init()
 import GEOM
 from salome.geom import geomBuilder
-geompy = geomBuilder.New(salome.myStudy)
+geompy = geomBuilder.New()
 
 import SMESH, SALOMEDS
 from salome.smesh import smeshBuilder
-smesh =  smeshBuilder.New(salome.myStudy)
+smesh =  smeshBuilder.New()
 
 # create a box
 box = geompy.MakeBox(0., 0., 0., 100., 200., 300.)
@@ -16,23 +16,43 @@ idbox = geompy.addToStudy(box, "box")
 
 # create a mesh
 tetra = smesh.Mesh(box, "MeshBox")
-
-algo1D = tetra.Segment()
-algo1D.NumberOfSegments(7)
-
-algo2D = tetra.Triangle()
-algo2D.MaxElementArea(800.)
-
-algo3D = tetra.Tetrahedron()
-algo3D.MaxElementVolume(900.)
+tetra.Segment().NumberOfSegments(7)
+tetra.Triangle()
+tetra.Tetrahedron()
 
 # compute the mesh
 tetra.Compute()
 
 # export the mesh in a MED file
-tetra.ExportMED("/tmp/meshMED.med", 0)
+import tempfile
+medFile = tempfile.NamedTemporaryFile(suffix=".med").name
+tetra.ExportMED( medFile, 0 )
 
 # export a group in a MED file
 face = geompy.SubShapeAll( box, geompy.ShapeType["FACE"])[0] # a box side
 group = tetra.GroupOnGeom( face, "face group" ) # group of 2D elements on the <face>
-tetra.ExportMED("/tmp/groupMED.med", meshPart=group)
+tetra.ExportMED( medFile, meshPart=group )
+
+# ========================
+# autoDimension parameter
+# ========================
+
+face = geompy.MakeFaceHW( 10, 10, 1, "rectangle" )
+mesh2D = smesh.Mesh( face, "mesh2D" )
+mesh2D.AutomaticHexahedralization(0)
+
+import MEDLoader, os
+
+# exported mesh is in 2D space because it is a planar mesh lying
+# on XOY plane, and autoDimension=True by default
+mesh2D.ExportMED( medFile )
+medMesh = MEDLoader.ReadUMeshFromFile(medFile,mesh2D.GetName(),0)
+print("autoDimension==True, exported mesh is in %sD"%medMesh.getSpaceDimension())
+
+# exported mesh is in 3D space, same as in Mesh module,
+# thanks to autoDimension=False
+mesh2D.ExportMED( medFile, autoDimension=False )
+medMesh = MEDLoader.ReadUMeshFromFile(medFile,mesh2D.GetName(),0)
+print("autoDimension==False, exported mesh is in %sD"%medMesh.getSpaceDimension())
+
+os.remove( medFile )