Salome HOME
in GetCriterion(), publish a not published threshold shape instead of
authoreap <eap@opencascade.com>
Wed, 14 Nov 2012 13:32:35 +0000 (13:32 +0000)
committereap <eap@opencascade.com>
Wed, 14 Nov 2012 13:32:35 +0000 (13:32 +0000)
throwing an exception

src/SMESH_SWIG/smeshDC.py

index babe168b0d8e868ceb2f83a6a1ac386fdc8d36dc..6167e6c9c982dea7f15ca849aef9e3ec9d09d190 100644 (file)
@@ -640,9 +640,13 @@ class smeshDC(SMESH._objref_SMESH_Gen):
             # Checks that Threshold is GEOM object
             if isinstance(aThreshold, geompyDC.GEOM._objref_GEOM_Object):
                 aCriterion.ThresholdStr = GetName(aThreshold)
-                aCriterion.ThresholdID = aThreshold.GetStudyEntry()
+                aCriterion.ThresholdID  = aThreshold.GetStudyEntry()
                 if not aCriterion.ThresholdID:
-                    raise RuntimeError, "Threshold shape must be published"
+                    name = aCriterion.ThresholdStr
+                    if not name:
+                        name = "%s_%s"%(aThreshold.GetShapeType(), id(aThreshold)%10000)
+                    aCriterion.ThresholdID = self.geompyD.addToStudy( aThreshold, name )
+                    #raise RuntimeError, "Threshold shape must be published"
             else:
                 print "Error: The Threshold should be a shape."
                 return None