]> SALOME platform Git repositories - modules/shaper.git/commitdiff
Salome HOME
Corrections in connector plugin
authorsbh <sergey.belash@opencascade.com>
Thu, 25 Dec 2014 15:40:10 +0000 (18:40 +0300)
committersbh <sergey.belash@opencascade.com>
Thu, 25 Dec 2014 15:40:10 +0000 (18:40 +0300)
src/ConnectorPlugin/ConnectorPlugin_ExportFeature.py
src/ConnectorPlugin/ExtrusionToMesh.py [deleted file]
src/ConnectorPlugin/plugin-Connector.xml

index 953b31c374cd6fc880c5a5b3e10582d5f77a5ca8..8b3163426638cdb97464bfe6bb8115deb36036ee 100644 (file)
@@ -2,7 +2,9 @@
 Copyright (C) 2014-20xx CEA/DEN, EDF R&D
 """
 
+import EventsAPI
 import ModelAPI
+
 import salome
 from salome.geom import geomBuilder
 
@@ -22,23 +24,27 @@ class ExportFeature(ModelAPI.ModelAPI_Feature):
         return ExportFeature.ID()
 
     # This feature is action: has no property pannel and executes immideately
-    def isAction(self):
-        return True
+    # def isAction(self):
+    #    return True
+
+    def isInHistory(self):
+        return False
 
     def initAttributes(self):
         # This feature has no attributes, but should perfore some actions on initialization
         aSession = ModelAPI.ModelAPI_Session.get()
         aPart = aSession.activeDocument()
         # Get all bodies
-        kResultBodyType = "ResultBody"
+        kResultBodyType = "Bodies"
         aPartSize = aPart.size(kResultBodyType)
         if aPartSize == 0:
-            print "No results in the active document"
+            EventsAPI.Events_Error_send("No results in the active document")
             return
 
-        aResultList = [aPart.object(kResultBodyType, idx) for idx in xrange(aPartSize)]
-        for idx, aResult in enumerate(aResultList):
-            aBodyResult = modelAPI_ResultBody(aResult)
+        anObjList = [aPart.object(kResultBodyType, idx) for idx in xrange(aPartSize)]
+        for idx, anObject in enumerate(anObjList):
+            aResult = ModelAPI.modelAPI_Result(anObject)
+            aBodyResult = ModelAPI.modelAPI_ResultBody(aResult)
             if not aBodyResult:
                 continue
             aShape = aBodyResult.shape()
@@ -51,17 +57,3 @@ class ExportFeature(ModelAPI.ModelAPI_Feature):
     def execute(self):
         # Nothing to execute: all logic would be in the initAttributes
         pass
-
-# TEST
-"""
-if __name__=='__main__':
-  session = ModelAPI.ModelAPI_Session.get()
-  part = session.activeDocument()
-  session.startOperation()
-  feature = part.addFeature('Box')
-  feature.real('box_width').setValue(10)
-  feature.real('box_length').setValue(10)
-  feature.real('box_height').setValue(10)
-  feature.execute()
-  session.finishOperation()
-"""
diff --git a/src/ConnectorPlugin/ExtrusionToMesh.py b/src/ConnectorPlugin/ExtrusionToMesh.py
deleted file mode 100644 (file)
index 7eb0a68..0000000
+++ /dev/null
@@ -1,92 +0,0 @@
-#=========================================================================
-# Creation of the circular Sketch, then Extrusion (cylinder), 
-# then export to the old GEOM and usage of SMESH for meshing.
-# Based on SALOME 7.4.0 and NewGEOM version: master 18Dec2014.
-#=========================================================================
-from ModelAPI import *
-from GeomDataAPI import *
-from GeomAlgoAPI import *
-from GeomAPI import *
-
-aSession = ModelAPI_Session.get()
-aDocument = aSession.moduleDocument()
-
-# Create a part for extrusion
-aSession.startOperation()
-aPartFeature = aDocument.addFeature("Part")
-aSession.finishOperation()
-
-aPartResult = modelAPI_ResultPart(aPartFeature.firstResult())
-aPart = aPartResult.partDoc()
-
-#=========================================================================
-# Create a sketch circle to extrude
-#=========================================================================
-aSession.startOperation()
-aSketchFeature = modelAPI_CompositeFeature(aPart.addFeature("Sketch"))
-origin = geomDataAPI_Point(aSketchFeature.attribute("Origin"))
-origin.setValue(0, 0, 0)
-dirx = geomDataAPI_Dir(aSketchFeature.attribute("DirX"))
-dirx.setValue(1, 0, 0)
-diry = geomDataAPI_Dir(aSketchFeature.attribute("DirY"))
-diry.setValue(0, 1, 0)
-norm = geomDataAPI_Dir(aSketchFeature.attribute("Norm"))
-norm.setValue(0, 0, 1)
-# Create circle
-aSketchCircle = aSketchFeature.addFeature("SketchCircle")
-anCircleCentr = geomDataAPI_Point2D(aSketchCircle.attribute("CircleCenter"))
-aCircleRadius = aSketchCircle.real("CircleRadius")
-anCircleCentr.setValue(50., 50)
-aCircleRadius.setValue(20.)
-aSession.finishOperation()
-
-#=========================================================================
-# Make extrusion on circle
-#=========================================================================
-# Build shape from sketcher results
-aSketchResult = aSketchFeature.firstResult()
-aSketchEdges = modelAPI_ResultConstruction(aSketchResult).shape()
-origin = geomDataAPI_Point(aSketchFeature.attribute("Origin")).pnt()
-dirX = geomDataAPI_Dir(aSketchFeature.attribute("DirX")).dir()
-dirY = geomDataAPI_Dir(aSketchFeature.attribute("DirY")).dir()
-norm = geomDataAPI_Dir(aSketchFeature.attribute("Norm")).dir()
-aSketchFaces = ShapeList()
-GeomAlgoAPI_SketchBuilder.createFaces(
-    origin, dirX, dirY, norm, aSketchEdges, aSketchFaces)
-
-# Create extrusion
-anExtrusionFt = aPart.addFeature("Extrusion")
-anExtrusionFt.selection("extrusion_face").setValue(
-    aSketchResult, aSketchFaces[0])
-anExtrusionFt.real("extrusion_size").setValue(50)
-anExtrusionFt.boolean("extrusion_reverse").setValue(False)
-anExtrusionFt.execute()
-aSession.finishOperation()
-
-# Check extrusion results
-anExtrusionResult = modelAPI_ResultBody(anExtrusionFt.firstResult())
-
-#==================================================
-# Transfer shape to Geom module of Salome
-#==================================================
-aShape = anExtrusionResult.shape()
-aDump = aShape.getShapeStream()
-
-# Load shape to SALOME Geom
-import salome
-from salome.geom import geomBuilder
-geompy = geomBuilder.New(salome.myStudy)
-aBrep = geompy.RestoreShape(aDump)
-geompy.addToStudy(aBrep, "NewGeomShape")
-
-# Meshing of the Shape
-from salome.smesh import smeshBuilder
-meshpy = smeshBuilder.New(salome.myStudy)
-aMesh = meshpy.Mesh(aBrep)
-Regular_1D = aMesh.Segment()
-Max_Size_1 = Regular_1D.MaxSize(5)
-MEFISTO_2D = aMesh.Triangle(algo=smeshBuilder.MEFISTO)
-isDone = aMesh.Compute()
-assert (isDone)
-meshpy.SetName(aMesh.GetMesh(), 'NewGeomMesh')
-
index 1445b5b8de80e8f1f9553c991081aab3ba801455..2ba73b20330f1ba8a84f9565c96d9e67e16a8d53 100644 (file)
@@ -5,8 +5,7 @@
         id="ExportToGEOM"
         title="Export to GEOM"
         tooltip="Exports all bodies into GEOM module"
-        icon=":pictures/part_ico.png">
-      </feature>
+        icon=":pictures/part_ico.png"/>
     </group>
   </workbench>
 </plugin>
\ No newline at end of file