X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESH_SWIG%2Fsmesh.py;h=da30bd82a8e6ceeefa3834650ee8cf40f24210c9;hp=36f34541af5506808c9b2f6e4673f0574bfd31e5;hb=85f8b0f4495dc625b45b44c8c44c4969230d6065;hpb=51b21e50a1c9166ce503ce186b642410f601c015 diff --git a/src/SMESH_SWIG/smesh.py b/src/SMESH_SWIG/smesh.py index 36f34541a..da30bd82a 100644 --- a/src/SMESH_SWIG/smesh.py +++ b/src/SMESH_SWIG/smesh.py @@ -408,21 +408,38 @@ class Mesh: Create a mesh group based on geometric object \a grp and give a \a name, if this parameter is not defined the name is the same as the geometric group name - \param grp is a geometric group + \param grp is a geometric group, a vertex, an edge, a face or a solid \param name is the name of the mesh group """ if name == "": name = grp.GetName() - tgeo = geompy.GetType(grp) - if tgeo == geompy.ShapeType["VERTEX"]: + + type = [] + tgeo = str(grp.GetShapeType()) + if tgeo == "VERTEX": type = SMESH.NODE - elif tgeo == geompy.ShapeType["EDGE"]: + elif tgeo == "EDGE": type = SMESH.EDGE - elif tgeo == geompy.ShapeType["FACE"]: + elif tgeo == "FACE": type = SMESH.FACE - elif tgeo == geompy.ShapeType["SOLID"]: + elif tgeo == "SOLID": type = SMESH.VOLUME - return self.mesh.CreateGroupFromGEOM(type, name, grp) + elif tgeo == "COMPOUND": + tgeo = geompy.GetType(grp) + if tgeo == geompy.ShapeType["VERTEX"]: + type = SMESH.NODE + elif tgeo == geompy.ShapeType["EDGE"]: + type = SMESH.EDGE + elif tgeo == geompy.ShapeType["FACE"]: + type = SMESH.FACE + elif tgeo == geompy.ShapeType["SOLID"]: + type = SMESH.VOLUME + + if type == []: + print "Mesh.Group: bad first argument: expected a group, a vertex, an edge, a face or a solid" + return 0 + else: + return self.mesh.CreateGroupFromGEOM(type, name, grp) def ExportToMED(self, f, version, opt=0): """