Salome HOME
Merge remote-tracking branch 'origin/SALOME-8.2.0_porting'
[modules/shaper.git] / src / FeaturesPlugin / Test / TestBooleanFill.py
1 """
2 Test case for Boolean Fill feature. Written on High API.
3 """
4 from ModelAPI import *
5 from GeomAPI import *
6
7 import model
8
9 # Get session
10 aSession = ModelAPI_Session.get()
11
12 # Create a part
13 aDocument = aSession.activeDocument()
14 aSession.startOperation()
15 model.addPart(aDocument)
16 aDocument = aSession.activeDocument()
17 aSession.finishOperation()
18
19 # Create a sketch with circle to extrude
20 aSession.startOperation()
21 anOrigin = GeomAPI_Pnt(0, 0, 0)
22 aDirX = GeomAPI_Dir(1, 0, 0)
23 aNorm = GeomAPI_Dir(0, 0, 1)
24 aCircleSketch = model.addSketch(aDocument, GeomAPI_Ax3(anOrigin, aDirX, aNorm))
25 aCircleSketch.addCircle(0, 0, 50)
26 aSession.finishOperation()
27
28 # Create a sketch with triangle to extrude
29 aSession.startOperation()
30 aTriangleSketch = model.addSketch(aDocument, GeomAPI_Ax3(anOrigin, aDirX, aNorm))
31 aTriangleSketch.addLine(25, 25, 100, 25)
32 aTriangleSketch.addLine(100, 25, 60, 75)
33 aTriangleSketch.addLine(60, 75, 25, 25)
34 aSession.finishOperation()
35
36 # Make extrusion on circle (cylinder) and triangle (prism)
37 aSession.startOperation()
38 anExtrusion = model.addExtrusion(aDocument, aCircleSketch.results() + aTriangleSketch.results(), 100)
39 aSession.finishOperation()
40
41 # Fill prism with cylinder
42 aSession.startOperation()
43 aBoolean = model.addFill(aDocument, [anExtrusion.results()[0]], [anExtrusion.results()[1]])
44 assert (len(aBoolean.results()) > 0)
45 aSession.finishOperation()
46
47 assert(model.checkPythonDump())