Create Extrusion Fuse through all objects

 1from salome.shaper import model
 2
 3model.begin()
 4partSet = model.moduleDocument()
 5Part_1 = model.addPart(partSet)
 6Part_1_doc = Part_1.document()
 7
 8# Objects to be cut
 9Box_1 = model.addBox(Part_1_doc, 10, 10, 10)
10Box_2 = model.addBox(Part_1_doc, 10, 10, 10)
11Box_3 = model.addBox(Part_1_doc, 20, 20, 20)
12Translation_1 = model.addTranslation(Part_1_doc, [model.selection("SOLID", "Box_2_1")], 20, 10, 0)
13Translation_2 = model.addTranslation(Part_1_doc, [model.selection("SOLID", "Box_3_1")], 40, 20, 0)
14ExtrusionFuse_1_objects_2 = [model.selection("SOLID", "Box_1_1"),
15                             model.selection("SOLID", "Translation_1_1"),
16                             model.selection("SOLID", "Translation_2_1")]
17
18# Extrusion direction
19Point_1 = model.addPoint(Part_1_doc, 0, 0, 0)
20Point_2 = model.addPoint(Part_1_doc, 60, 40, 20)
21Edge_1 = model.addEdge(Part_1_doc, model.selection("VERTEX", "Point_1"), model.selection("VERTEX", "Point_2"))
22
23# Base object for extrusion
24Sketch_1 = model.addSketch(Part_1_doc, model.selection("FACE", "Box_1_1/Back"))
25SketchCircle_1 = Sketch_1.addCircle(2.13, -2.43, 1.6)
26model.do()
27Face_1 = model.addFace(Part_1_doc, [model.selection("FACE", "Sketch_1/Face-SketchCircle_1_2r")])
28
29# Extrusion fuse through all
30ExtrusionFuse_1 = model.addExtrusionFuse(Part_1_doc,
31                                         [model.selection("FACE", "Face_1_1")],
32                                         model.selection("EDGE", "Edge_1_1"),
33                                         ExtrusionFuse_1_objects_2)
34
35model.do()
36model.end()

Download this script