1 # Initialization of the test
3 from GeomDataAPI import *
4 from GeomAlgoAPI import *
7 def createFace(thePart, theNormX, theNormY, theNormZ):
9 aSession.startOperation()
10 aSketchFeature = featureToCompositeFeature(thePart.addFeature("Sketch"))
11 anOrigin = geomDataAPI_Point(aSketchFeature.attribute("Origin"))
12 anOrigin.setValue(0, 0, 0)
13 aDirX = geomDataAPI_Dir(aSketchFeature.attribute("DirX"))
14 aDirX.setValue(1, 0, 0)
15 aNorm = geomDataAPI_Dir(aSketchFeature.attribute("Norm"))
16 aNorm.setValue(theNormX, theNormY, theNormZ)
19 aSketchLineFeature = aSketchFeature.addFeature("SketchLine")
20 aSketchLineStartPoint = geomDataAPI_Point2D(aSketchLineFeature.attribute("StartPoint"))
21 aSketchLineEndPoint = geomDataAPI_Point2D(aSketchLineFeature.attribute("EndPoint"))
22 aSketchLineStartPoint.setValue(0, 0)
23 aSketchLineEndPoint.setValue(0, 50)
24 aSketchLineFeature = aSketchFeature.addFeature("SketchLine")
25 aSketchLineStartPoint = geomDataAPI_Point2D(aSketchLineFeature.attribute("StartPoint"))
26 aSketchLineEndPoint = geomDataAPI_Point2D(aSketchLineFeature.attribute("EndPoint"))
27 aSketchLineStartPoint.setValue(0, 50)
28 aSketchLineEndPoint.setValue(50, 50)
29 aSketchLineFeature = aSketchFeature.addFeature("SketchLine")
30 aSketchLineStartPoint = geomDataAPI_Point2D(aSketchLineFeature.attribute("StartPoint"))
31 aSketchLineEndPoint = geomDataAPI_Point2D(aSketchLineFeature.attribute("EndPoint"))
32 aSketchLineStartPoint.setValue(50, 50)
33 aSketchLineEndPoint.setValue(50, 0)
34 aSketchLineFeature = aSketchFeature.addFeature("SketchLine")
35 aSketchLineStartPoint = geomDataAPI_Point2D(aSketchLineFeature.attribute("StartPoint"))
36 aSketchLineEndPoint = geomDataAPI_Point2D(aSketchLineFeature.attribute("EndPoint"))
37 aSketchLineStartPoint.setValue(50, 0)
38 aSketchLineEndPoint.setValue(0, 0)
39 aSession.finishOperation()
40 aSketchResult = aSketchFeature.firstResult()
41 aSketchShape = aSketchResult.shape()
44 aSession.startOperation()
45 aFaceFeature = thePart.addFeature("Face")
46 aBaseObjectsList = aFaceFeature.selectionList("base_objects")
47 aShapeExplorer = GeomAPI_ShapeExplorer(aSketchShape, GeomAPI_Shape.EDGE)
48 while aShapeExplorer.more():
49 aBaseObjectsList.append(aSketchResult, aShapeExplorer.current())
51 aSession.finishOperation()
52 return aFaceFeature.firstResult()
55 aSession = ModelAPI_Session.get()
56 aDocument = aSession.moduleDocument()
59 aSession.startOperation()
60 aPartFeature = aDocument.addFeature("Part")
61 aSession.finishOperation()
62 aPartResult = modelAPI_ResultPart(aPartFeature.firstResult())
63 aPart = aPartResult.partDoc()
67 aFaceResults.append(createFace(aPart, 0, 0, 1))
68 aFaceResults.append(createFace(aPart, 0, 1, 0))
71 aSession.startOperation()
72 aShellFeature = aPart.addFeature("Shell")
73 aBaseObjectsList = aShellFeature.selectionList("base_objects")
74 for aFaceResult in aFaceResults:
75 aBaseObjectsList.append(aFaceResult, None)
76 aSession.finishOperation()
79 assert (len(aShellFeature.results()) > 0)
81 from salome.shaper import model
82 assert(model.checkPythonDump())