Salome HOME
PAL9022. enable creation of groups on SHELLs
[modules/smesh.git] / src / SMESH_SWIG / smesh.py
index da30bd82a8e6ceeefa3834650ee8cf40f24210c9..2e96ee20fbd21c13c6d898cf72559ea38848ef12 100644 (file)
@@ -46,11 +46,16 @@ smesh.SetCurrentStudy(salome.myStudy)
 # Private functions
 # -----------------
 
+NO_NAME = "NoName"
+
 def GetName(obj):
     ior  = salome.orb.object_to_string(obj)
     sobj = salome.myStudy.FindObjectIOR(ior)
-    attr = sobj.FindAttribute("AttributeName")[1]
-    return attr.Value()
+    if sobj is None:
+        return NO_NAME
+    else:
+        attr = sobj.FindAttribute("AttributeName")[1]
+        return attr.Value()
 
 def SetName(obj, name):
     ior  = salome.orb.object_to_string(obj)
@@ -91,8 +96,10 @@ class Mesh_Algorithm:
             name = GetName(piece)
         else:
             self.geom = geom
-            name = geompy.SubShapeName(geom, piece)
-            geompy.addToStudyInFather(piece, geom, name)
+            name = GetName(geom)
+            if name==NO_NAME:
+                name = geompy.SubShapeName(geom, piece)
+                geompy.addToStudyInFather(piece, geom, name)
             self.subm = mesh.mesh.GetSubMesh(geom, hypo)
 
         algo = smesh.CreateHypothesis(hypo, so)
@@ -424,6 +431,8 @@ class Mesh:
             type = SMESH.FACE
         elif tgeo == "SOLID":
             type = SMESH.VOLUME
+        elif tgeo == "SHELL":
+            type = SMESH.VOLUME
         elif tgeo == "COMPOUND":
             tgeo = geompy.GetType(grp)
             if tgeo == geompy.ShapeType["VERTEX"]: