X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=doc%2Fsalome%2Fexamples%2Fcreating_meshes_ex05.py;h=5426b729402fdb33990102c2f824fbaeff3f6f1e;hb=81b6bac9c88b76ca01a7d314e91701bc947e9f1e;hp=6ba410307773f58e9f653f0a7b85534ff7f50936;hpb=9a54694a0ab1e5cbc558a35c4606ceea4f7af2ef;p=modules%2Fsmesh.git diff --git a/doc/salome/examples/creating_meshes_ex05.py b/doc/salome/examples/creating_meshes_ex05.py index 6ba410307..5426b7294 100644 --- a/doc/salome/examples/creating_meshes_ex05.py +++ b/doc/salome/examples/creating_meshes_ex05.py @@ -1,7 +1,14 @@ # Export of a Mesh -import geompy -import smesh +import salome +salome.salome_init() +import GEOM +from salome.geom import geomBuilder +geompy = geomBuilder.New() + +import SMESH, SALOMEDS +from salome.smesh import smeshBuilder +smesh = smeshBuilder.New() # create a box box = geompy.MakeBox(0., 0., 0., 100., 200., 300.) @@ -9,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 -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.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.MEDLoader.ReadUMeshFromFile(medFile,mesh2D.GetName(),0) +print "autoDimension==False, exported mesh is in %sD"%medMesh.getSpaceDimension() + +os.remove( medFile )