X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH_SWIG%2FPAL_MESH_041_mesh.py;fp=src%2FSMESH_SWIG%2FPAL_MESH_041_mesh.py;h=8585c9f6f3ff96ef956720845df0156f0576de3c;hp=0000000000000000000000000000000000000000;hb=37839553555c3877bf282c5d592b137700cbbaf4;hpb=c441817b4194b24e4cf97cd7c23f88ba56498e52 diff --git a/src/SMESH_SWIG/PAL_MESH_041_mesh.py b/src/SMESH_SWIG/PAL_MESH_041_mesh.py new file mode 100755 index 000000000..8585c9f6f --- /dev/null +++ b/src/SMESH_SWIG/PAL_MESH_041_mesh.py @@ -0,0 +1,103 @@ +import geompy +import salome + +import StdMeshers + +#-----------------------------GEOM---------------------------------------- + +#----------Vertexes------------ +p1 = geompy.MakeVertex(20.0,30.0,40.0) +p2 = geompy.MakeVertex(90.0,80.0,0.0) +p3 = geompy.MakeVertex(30.0,80.0,200.0) + +#----------Edges--------------- +e1 = geompy.MakeEdge(p1,p2) +e2 = geompy.MakeEdge(p2,p3) +e3 = geompy.MakeEdge(p3,p1) + +#----------Wire---------------- +ListOfEdges = [] +ListOfEdges.append(e3) +ListOfEdges.append(e2) +ListOfEdges.append(e1) +wire1 = geompy.MakeWire(ListOfEdges) + + +#----------Face---------------- +WantPlanarFace = 1 +face1 = geompy.MakeFace(wire1,WantPlanarFace) + +Id_face1 = geompy.addToStudy(face1,"Face1") + + + +#-----------------------------SMESH------------------------------------------- +smesh = salome.lcc.FindOrLoadComponent("FactoryServer", "SMESH") + +# -- Init -- +plane_mesh = salome.IDToObject( Id_face1) +smesh.SetCurrentStudy(salome.myStudy) + +mesh = smesh.CreateMesh(plane_mesh) + +smeshgui = salome.ImportComponentGUI("SMESH") +smeshgui.Init(salome.myStudyId) + +id_mesh = salome.ObjectToID(mesh) +smeshgui.SetName( id_mesh, "Mesh_1") + + +print"---------------------Hypothesis" + + +#---------------- NumberOfSegments +numberOfSegment = 9 + +hypNbSeg = smesh.CreateHypothesis( "NumberOfSegments", "libStdMeshersEngine.so" ) +hypNbSeg.SetNumberOfSegments( numberOfSegment ) + +print hypNbSeg.GetName() +print hypNbSeg.GetNumberOfSegments() +smeshgui.SetName(salome.ObjectToID(hypNbSeg), "Nb. Segments") + + +#--------------------------Max. Element Area +maxElementArea = 200 + +hypArea200 = smesh.CreateHypothesis("MaxElementArea","libStdMeshersEngine.so") +hypArea200.SetMaxElementArea( maxElementArea ) +print hypArea200.GetName() +print hypArea200.GetMaxElementArea() + +smeshgui.SetName(salome.ObjectToID(hypArea200), "Max. Element Area") + +print"---------------------Algorithms" + +#----------------------------Wire discretisation +algoWireDes = smesh.CreateHypothesis( "Regular_1D", "libStdMeshersEngine.so" ) +listHyp = algoWireDes.GetCompatibleHypothesis() + +print algoWireDes.GetName() +smeshgui.SetName(salome.ObjectToID(algoWireDes), "Ware descritisation") + +#----------------------------Triangle (Mefisto) +algoMef = smesh.CreateHypothesis( "MEFISTO_2D", "libStdMeshersEngine.so" ) +listHyp = algoMef.GetCompatibleHypothesis() + +print algoMef.GetName() + +#----------------------------Add hipothesis to the plane +mesh.AddHypothesis( plane_mesh, hypNbSeg ) # nb segments +mesh.AddHypothesis( plane_mesh, hypArea200 ) # max area + +mesh.AddHypothesis( plane_mesh, algoWireDes ) # Regular 1D/wire discretisation +mesh.AddHypothesis( plane_mesh, algoMef ) # MEFISTO 2D + +smeshgui.SetName(salome.ObjectToID(algoMef), "Triangle (Mefisto)") + +print "---------------------Compute the mesh" + +smesh.Compute(mesh, plane_mesh) + +salome.sg.updateObjBrowser(1) +