X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FConnectorPlugin%2FConnectorPlugin_ExportFeature.py;h=31db8fc9a78ee751798abeef284d32794b8af121;hb=fb54db5e1466b16dfc029c4a7364a67a9a6a8c24;hp=46cc4daa0d621b83974e605681bf991341d9b6c0;hpb=ec7b67521bbba95ea528fc5a08ee3f655098e1c3;p=modules%2Fshaper.git diff --git a/src/ConnectorPlugin/ConnectorPlugin_ExportFeature.py b/src/ConnectorPlugin/ConnectorPlugin_ExportFeature.py index 46cc4daa0..31db8fc9a 100644 --- a/src/ConnectorPlugin/ConnectorPlugin_ExportFeature.py +++ b/src/ConnectorPlugin/ConnectorPlugin_ExportFeature.py @@ -112,7 +112,7 @@ class ExportFeature(ModelAPI.ModelAPI_Feature): return "EDGE" elif shape.isFace(): return "FACE" - + return "SOLID" ## Creates a group by given list of selected objects and the name @@ -126,6 +126,11 @@ class ExportFeature(ModelAPI.ModelAPI_Feature): groupType = "" for aSelIndex in range(0, aSelectionNum): aSelection = theSelectionList.value(aSelIndex) + # issue 1326: bodies that are already concealed did not exported, so groups should not be invalid + aContext = ModelAPI.modelAPI_Result(aSelection.context()) + if aContext is None or aContext.isConcealed() or aContext.isDisabled(): + continue + anID = GeomAlgoAPI.GeomAlgoAPI_CompoundBuilder.id(self.shape, aSelection.value()) if anID == 0: #it may be a compound of objects if movement of the group to the end @@ -141,10 +146,10 @@ class ExportFeature(ModelAPI.ModelAPI_Feature): Ids.append(anID) groupType = self.shapeType(aSelection.value()) - - aGroup = self.geompy.CreateGroup(self.brep, self.geompy.ShapeType[groupType]) - self.geompy.UnionIDs(aGroup,Ids) - self.geompy.addToStudyInFather(self.brep, aGroup, theGroupName) + if len(Ids) <> 0: + aGroup = self.geompy.CreateGroup(self.brep, self.geompy.ShapeType[groupType]) + self.geompy.UnionIDs(aGroup,Ids) + self.geompy.addToStudyInFather(self.brep, aGroup, theGroupName) ## Exports all shapes and groups into the GEOM module. def execute(self):