## The constructor.
def __init__(self):
ModelAPI.ModelAPI_Feature.__init__(self)
+ ## Shape that will be exported (the compound if there are several exported bodies)
+ self.shape = None
+ ## BRep representation of the exported shape (a stream that will be sent to GEOM and converted to GEOM object)
+ self.brep = None
@staticmethod
## Export kind. Static.
kResultBodyType = "Bodies"
aPartSize = self.Part.size(kResultBodyType)
if aPartSize == 0:
- EventsAPI.Events_Error_send("No results in the active document")
+ EventsAPI.Events_InfoMessage("ExportFeature","No results in the active document").send()
return
anObjList = [self.Part.object(kResultBodyType, idx) for idx in xrange(aPartSize)]
return "EDGE"
elif shape.isFace():
return "FACE"
-
+
return "SOLID"
## Creates a group by given list of selected objects and the name
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
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):
## List of objects created in the old geom for later use
self.geomObjects = []
## geomBuilder tool
+ salome.salome_init(0,1)
self.geompy = geomBuilder.New(salome.myStudy)
# Export bodies and groups