Salome HOME
Merge remote-tracking branch 'origin/EDF_2019'
[modules/shaper.git] / src / FeaturesPlugin / doc / examples / extrusion_fuse_through_all.py
1 from salome.shaper import model
2
3 model.begin()
4 partSet = model.moduleDocument()
5 Part_1 = model.addPart(partSet)
6 Part_1_doc = Part_1.document()
7
8 # Objects to be cut
9 Box_1 = model.addBox(Part_1_doc, 10, 10, 10)
10 Box_2 = model.addBox(Part_1_doc, 10, 10, 10)
11 Box_3 = model.addBox(Part_1_doc, 20, 20, 20)
12 Translation_1 = model.addTranslation(Part_1_doc, [model.selection("SOLID", "Box_2_1")], 20, 10, 0)
13 Translation_2 = model.addTranslation(Part_1_doc, [model.selection("SOLID", "Box_3_1")], 40, 20, 0)
14 ExtrusionFuse_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
19 Point_1 = model.addPoint(Part_1_doc, 0, 0, 0)
20 Point_2 = model.addPoint(Part_1_doc, 60, 40, 20)
21 Edge_1 = model.addEdge(Part_1_doc, model.selection("VERTEX", "Point_1"), model.selection("VERTEX", "Point_2"))
22
23 # Base object for extrusion
24 Sketch_1 = model.addSketch(Part_1_doc, model.selection("FACE", "Box_1_1/Back"))
25 SketchCircle_1 = Sketch_1.addCircle(2.13, -2.43, 1.6)
26 model.do()
27 Face_1 = model.addFace(Part_1_doc, [model.selection("FACE", "Sketch_1/Face-SketchCircle_1_2r")])
28
29 # Extrusion fuse through all
30 ExtrusionFuse_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
35 model.do()
36 model.end()