1 # Test made with high level API
2 # -----------------------------
9 mypartset = model.moduleDocument()
12 # Creating a new Part, two circles, extrusions on them and Boolean CUT
14 mypart = model.addPart(mypartset).document()
16 sk1 = model.addSketch(mypart, model.defaultPlane("XOY"))
17 c1 = sk1.addCircle(0, 0, 100)
19 bigcyl = model.addExtrusion(mypart, sk1.selectFace(), 100)
21 sk2 = model.addSketch(mypart, model.defaultPlane("XOY"))
22 c2 = sk2.addCircle(20, 30, 30)
24 smallcyl = model.addExtrusion(mypart, sk2.selectFace(), 150)
26 cut = model.addCut(mypart, bigcyl.result(), smallcyl.result())
30 # check bodies number is 1: only Boolean result
31 assert(mypart.size("Bodies") == 1)
33 model.addRecover(mypart, cut, smallcyl.result())
37 # check that one is recovered
38 assert(mypart.size("Bodies") == 2)
42 # check bodies number is 1: recover is canceled
43 assert(mypart.size("Bodies") == 1)
46 # check persistent flag of recover: never concealed
49 recover = model.addRecover(mypart, cut, smallcyl.result(), True)
50 assert(mypart.size("Bodies") == 2)
51 sk3 = model.addSketch(mypart, model.defaultPlane("XOY"))
52 c3 = sk3.addCircle(0, 0, 90)
54 big2 = model.addExtrusion(mypart, sk3.selectFace(), 110)
56 cut2 = model.addCut(mypart, big2.result(), smallcyl.result())
60 # two booleans and small cylinder
61 assert(mypart.size("Bodies") == 3)
64 # make the flag as not-persistent => cylinder must be disappeared
66 recover.setIsPersistent(False)
69 assert(mypart.size("Bodies") == 2)
71 assert(model.checkPythonDump())