Viewing Meshes

Viewing Mesh Infos

import salome

import geompy

import SMESH

import StdMeshers

 

smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH")

smesh.SetCurrentStudy(salome.myStudy)

 

box   = geompy.MakeBox(0., 0., 0., 20., 20., 20.)

idbox = geompy.addToStudy(box, "box")

 

subShapeList = geompy.SubShapeAll(box, geompy.ShapeType["EDGE"])

edge   = subShapeList[0]

name   = geompy.SubShapeName(edge, box)

idedge = geompy.addToStudyInFather(box, edge, name)

 

box  = salome.IDToObject(idbox)

edge = salome.IDToObject(idedge)

 

hyp1 = smesh.CreateHypothesis("NumberOfSegments", "libStdMeshersEngine.so")

hyp1.SetNumberOfSegments(3)

hyp2 = smesh.CreateHypothesis("MaxElementArea", "libStdMeshersEngine.so")

hyp2.SetMaxElementArea(10)

hyp3 = smesh.CreateHypothesis("Arithmetic1D", "libStdMeshersEngine.so")

hyp3.SetLength(1,1)

hyp3.SetLength(6,0)

hyp4 = smesh.CreateHypothesis("Propagation", "libStdMeshersEngine.so")

 

algo1 = smesh.CreateHypothesis("Regular_1D", "libStdMeshersEngine.so")

algo2 = smesh.CreateHypothesis("MEFISTO_2D", "libStdMeshersEngine.so")

mesh = smesh.CreateMesh(box)

 

mesh.AddHypothesis(box,hyp1)

mesh.AddHypothesis(box,hyp2)

mesh.AddHypothesis(box,algo1)

mesh.AddHypothesis(box,algo2)

mesh.AddHypothesis(edge,hyp3)

mesh.AddHypothesis(edge,hyp4)

mesh.AddHypothesis(edge,algo1)

smesh.Compute(mesh,box)

salome.sg.updateObjBrowser(1)

 

# remove one hypothesis

mesh.RemoveHypothesis(edge,hyp4)

smesh.Compute(mesh,box)

salome.sg.updateObjBrowser(1)

 

# change the value of the hypothesis

hyp2.SetMaxElementArea(2)

mesh.AddHypothesis(box,hyp2)

smesh.Compute(mesh,box)

print "Information about mesh:"

print "Number of nodes       : ", mesh.NbNodes()

print "Number of edges       : ", mesh.NbEdges()

print "Number of faces       : ", mesh.NbFaces()

print "Number of triangles   : ", mesh.NbTriangles()

print "Number of quadrangles : ", mesh.NbQuadrangles()

print "Number of polygons    : ", mesh.NbPolygons()

print "Number of volumes     : ", mesh.NbVolumes()

print "Number of tetrahedrons: ", mesh.NbTetras()

print "Number of hexahedrons : ", mesh.NbHexas()

print "Number of prisms      : ", mesh.NbPrisms()

print "Number of pyramids    : ", mesh.NbPyramids()

print "Number of polyhedrons : ", mesh.NbPolyhedrons()

salome.sg.updateObjBrowser(1)