X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH_SWIG%2FSMESH_flight_skin.py;h=25a4b2d140d932f3824a1fdf435394051d7b4d24;hp=d815bbf36752f1c7f47205ecf6eaa0abd6e145c4;hb=2387bfa403855b82751bf9f122295b1fc6923a18;hpb=faa1c8f2bc27c5244a34fe03584826de59cb17b3 diff --git a/src/SMESH_SWIG/SMESH_flight_skin.py b/src/SMESH_SWIG/SMESH_flight_skin.py index d815bbf36..25a4b2d14 100644 --- a/src/SMESH_SWIG/SMESH_flight_skin.py +++ b/src/SMESH_SWIG/SMESH_flight_skin.py @@ -4,53 +4,43 @@ # Hypothesis and algorithms for the mesh generation are global # +import os import salome -from salome import sg - import geompy +import StdMeshers -import SMESH -import smeshpy +smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH") -geom = geompy.geom -myBuilder = geompy.myBuilder +smeshgui = salome.ImportComponentGUI("SMESH") +smeshgui.Init(salome.myStudyId) -ShapeTypeShell = 3 -ShapeTypeFace = 4 -ShapeTypeEdge = 6 -import os +# ---------------------------- GEOM -------------------------------------- # import a BRep #before running this script, please be sure about #the path the file fileName -filePath=os.environ["SMESH_ROOT_DIR"] -filePath=filePath+"/share/salome/resources/" +filePath = os.environ["DATA_DIR"] +filePath = filePath + "/Shapes/Brep/" filename = "flight_solid.brep" filename = filePath + filename -shape = geompy.ImportBREP(filename) -idShape = geompy.addToStudy(shape,"flight") +shape = geompy.Import(filename, "BREP") +idShape = geompy.addToStudy(shape, "flight") print "Analysis of the geometry flight :" -subShellList=geompy.SubShapeAll(shape,ShapeTypeShell) -subFaceList=geompy.SubShapeAll(shape,ShapeTypeFace) -subEdgeList=geompy.SubShapeAll(shape,ShapeTypeEdge) +subShellList = geompy.SubShapeAll(shape, geompy.ShapeType["SHELL"]) +subFaceList = geompy.SubShapeAll(shape, geompy.ShapeType["FACE"]) +subEdgeList = geompy.SubShapeAll(shape, geompy.ShapeType["EDGE"]) -print "number of Shells in flight : ",len(subShellList) -print "number of Faces in flight : ",len(subFaceList) -print "number of Edges in flight : ",len(subEdgeList) +print "number of Shells in flight : ", len(subShellList) +print "number of Faces in flight : ", len(subFaceList) +print "number of Edges in flight : ", len(subEdgeList) -# ---- launch SMESH -smeshgui = salome.ImportComponentGUI("SMESH") -smeshgui.Init(salome.myStudyId) - -gen=smeshpy.smeshpy() - -# ---- create Hypothesis +### ---------------------------- SMESH -------------------------------------- print "-------------------------- create Hypothesis" @@ -58,89 +48,68 @@ print "-------------------------- LocalLength" lengthOfSegments = 0.3 -hypothesis=gen.CreateHypothesis("LocalLength") -hypLength=hypothesis._narrow(SMESH.SMESH_LocalLength) +hypLength = smesh.CreateHypothesis("LocalLength", "libStdMeshersEngine.so") hypLength.SetLength(lengthOfSegments) -hypLengthID = hypLength.GetId() + print hypLength.GetName() -print hypLengthID +print hypLength.GetId() print hypLength.GetLength() -idlen = smeshgui.AddNewHypothesis( salome.orb.object_to_string(hypLength) ) -smeshgui.SetName(idlen, "LocalLength") +smeshgui.SetName(salome.ObjectToID(hypLength), "LocalLength_0.3") print "-------------------------- LengthFromEdges" -hypothesis=gen.CreateHypothesis("LengthFromEdges") -hypLengthFromEdge=hypothesis._narrow(SMESH.SMESH_LengthFromEdges) -hypLengthFromEdgeID = hypLengthFromEdge.GetId() -print hypLengthFromEdge.GetName() -print hypLengthFromEdgeID +hypLengthFromEdge = smesh.CreateHypothesis("LengthFromEdges", "libStdMeshersEngine.so") -idlenfromedge = smeshgui.AddNewHypothesis( salome.orb.object_to_string(hypLengthFromEdge) ) -smeshgui.SetName(idlenfromedge, "LengthFromEdge") +print hypLengthFromEdge.GetName() +print hypLengthFromEdge.GetId() -# ---- create Algorithms +smeshgui.SetName(salome.ObjectToID(hypLengthFromEdge), "LengthFromEdge") print "-------------------------- create Algorithms" print "-------------------------- Regular_1D" -hypothesis=gen.CreateHypothesis("Regular_1D") -regular1D = hypothesis._narrow(SMESH.SMESH_Regular_1D) -regularID = smeshgui.AddNewAlgorithms( salome.orb.object_to_string(regular1D) ) -smeshgui.SetName(regularID, "Wire Discretisation") +regular1D = smesh.CreateHypothesis("Regular_1D", "libStdMeshersEngine.so") -print "-------------------------- MEFISTO_2D" +smeshgui.SetName(salome.ObjectToID(regular1D), "Wire Discretisation") -hypothesis=gen.CreateHypothesis("MEFISTO_2D") -mefisto2D = hypothesis._narrow(SMESH.SMESH_MEFISTO_2D) -mefistoID = smeshgui.AddNewAlgorithms( salome.orb.object_to_string(mefisto2D) ) -smeshgui.SetName(mefistoID, "MEFISTO_2D") +print "-------------------------- MEFISTO_2D" -print "-------------------------- NETGEN_3D" +mefisto2D = smesh.CreateHypothesis("MEFISTO_2D", "libStdMeshersEngine.so") -hypothesis=gen.CreateHypothesis("NETGEN_3D") -netgen3D = hypothesis._narrow(SMESH.SMESH_NETGEN_3D) -netgenID = smeshgui.AddNewAlgorithms( salome.orb.object_to_string(netgen3D) ) -smeshgui.SetName(netgenID, "NETGEN_3D") +smeshgui.SetName(salome.ObjectToID(mefisto2D), "MEFISTO_2D") # ---- init a Mesh with the shell +shape_mesh = salome.IDToObject( idShape ) -mesh=gen.Init(idShape) -idmesh = smeshgui.AddNewMesh( salome.orb.object_to_string(mesh) ) -smeshgui.SetName(idmesh, "MeshFlight") -smeshgui.SetShape(idShape, idmesh) +mesh = smesh.CreateMesh(shape_mesh) +smeshgui.SetName(salome.ObjectToID(mesh), "MeshFlight") # ---- add hypothesis to flight print "-------------------------- add hypothesis to flight" -ret=mesh.AddHypothesis(shape,regular1D) -print ret -ret=mesh.AddHypothesis(shape,hypLength) -print ret -ret=mesh.AddHypothesis(shape,mefisto2D) -print ret -ret=mesh.AddHypothesis(shape,hypLengthFromEdge) -print ret - -smeshgui.SetAlgorithms( idmesh, regularID) -smeshgui.SetHypothesis( idmesh, idlen ) -smeshgui.SetAlgorithms( idmesh, mefistoID ) -smeshgui.SetHypothesis( idmesh, idlenfromedge) +mesh.AddHypothesis(shape_mesh,regular1D) +mesh.AddHypothesis(shape_mesh,hypLength) +mesh.AddHypothesis(shape_mesh,mefisto2D) +mesh.AddHypothesis(shape_mesh,hypLengthFromEdge) -sg.updateObjBrowser(1) +salome.sg.updateObjBrowser(1) print "-------------------------- compute the skin flight" -ret=gen.Compute(mesh,idShape) +ret = smesh.Compute(mesh,shape_mesh) print ret if ret != 0: - log=mesh.GetLog(0) # no erase trace + log = mesh.GetLog(0) # no erase trace for linelog in log: print linelog + print "Information about the Mesh_mechanic_tetra:" + 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 volumes : ", mesh.NbVolumes() else: print "probleme when computing the mesh" - -sg.updateObjBrowser(1)