Salome HOME
afa76e15c464565f25ad78e8d1fcf631d6068c17
[modules/shaper.git] / src / FeaturesPlugin / Test / Test2394.py
1 # Copyright (C) 2014-2021  CEA/DEN, EDF R&D
2 #
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License, or (at your option) any later version.
7 #
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11 # Lesser General Public License for more details.
12 #
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
16 #
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 #
19
20 from GeomAPI import *
21 from SketchAPI import *
22
23 from salome.shaper import model
24
25 model.begin()
26 partSet = model.moduleDocument()
27 Part_1 = model.addPart(partSet)
28 Part_1_doc = Part_1.document()
29 model.addParameter(Part_1_doc, "R", "58")
30 model.addParameter(Part_1_doc, "cote_cube", "R/2")
31 model.addParameter(Part_1_doc, "theta", "54")
32 model.addParameter(Part_1_doc, "phi", "36")
33 model.addParameter(Part_1_doc, "pi", "3.141592653589793")
34 model.addParameter(Part_1_doc, "x", "R*sin(phi/180*pi)*cos(theta/180*pi)")
35 model.addParameter(Part_1_doc, "y", "R*sin(phi/180*pi)*sin(theta/180*pi)")
36 model.addParameter(Part_1_doc, "z", "R*cos(phi/180*pi)")
37 model.addParameter(Part_1_doc, "haut_ext_tuyau", "5")
38 model.addParameter(Part_1_doc, "haut_int_tuyau", "14")
39 Param_Diam = model.addParameter(Part_1_doc, "diam_tuyau", "10")
40 Revolution_1 = model.addRevolution(Part_1_doc, [], model.selection("EDGE", "PartSet/OZ"), 90, 0)
41 Sketch_1 = model.addSketch(Part_1_doc, model.defaultPlane("XOZ"))
42 SketchProjection_1 = Sketch_1.addProjection(model.selection("VERTEX", "PartSet/Origin"), False)
43 SketchPoint_1 = SketchProjection_1.createdFeature()
44 SketchProjection_2 = Sketch_1.addProjection(model.selection("EDGE", "PartSet/OX"), False)
45 SketchLine_1 = SketchProjection_2.createdFeature()
46 SketchArc_1 = Sketch_1.addArc(0, 0, 58, 0, 0, -58, True)
47 SketchConstraintCoincidence_1 = Sketch_1.setCoincident(SketchPoint_1.result(), SketchArc_1.center())
48 SketchConstraintCoincidence_2 = Sketch_1.setCoincident(SketchLine_1.result(), SketchArc_1.startPoint())
49 SketchLine_2 = Sketch_1.addLine(0, -58, 0, 0)
50 SketchConstraintCoincidence_3 = Sketch_1.setCoincident(SketchArc_1.endPoint(), SketchLine_2.startPoint())
51 SketchConstraintCoincidence_4 = Sketch_1.setCoincident(SketchAPI_Point(SketchPoint_1).coordinates(), SketchLine_2.endPoint())
52 SketchLine_3 = Sketch_1.addLine(0, 0, 58, 0)
53 SketchConstraintCoincidence_5 = Sketch_1.setCoincident(SketchLine_2.endPoint(), SketchLine_3.startPoint())
54 SketchConstraintCoincidence_6 = Sketch_1.setCoincident(SketchArc_1.startPoint(), SketchLine_3.endPoint())
55 SketchConstraintVertical_1 = Sketch_1.setVertical(SketchLine_2.result())
56 SketchConstraintLength_1 = Sketch_1.setLength(SketchLine_2.result(), "R")
57 Revolution_1.setNestedSketch(Sketch_1)
58 Extrusion_1 = model.addExtrusion(Part_1_doc, [], model.selection(), 0, "cote_cube")
59 Sketch_2 = model.addSketch(Part_1_doc, model.selection("FACE", "Revolution_1_1/Generated_Face&Sketch_1/SketchLine_3"))
60 SketchLine_4 = Sketch_2.addLine(29, 0, 0, 0)
61 SketchLine_5 = Sketch_2.addLine(0, 0, 0, 29)
62 SketchLine_6 = Sketch_2.addLine(0, 29, 29, 29)
63 SketchLine_7 = Sketch_2.addLine(29, 29, 29, 0)
64 SketchConstraintCoincidence_7 = Sketch_2.setCoincident(SketchLine_7.endPoint(), SketchLine_4.startPoint())
65 SketchConstraintCoincidence_8 = Sketch_2.setCoincident(SketchLine_4.endPoint(), SketchLine_5.startPoint())
66 SketchConstraintCoincidence_9 = Sketch_2.setCoincident(SketchLine_5.endPoint(), SketchLine_6.startPoint())
67 SketchConstraintCoincidence_10 = Sketch_2.setCoincident(SketchLine_6.endPoint(), SketchLine_7.startPoint())
68 SketchConstraintHorizontal_1 = Sketch_2.setHorizontal(SketchLine_4.result())
69 SketchConstraintVertical_2 = Sketch_2.setVertical(SketchLine_5.result())
70 SketchConstraintHorizontal_2 = Sketch_2.setHorizontal(SketchLine_6.result())
71 SketchConstraintVertical_3 = Sketch_2.setVertical(SketchLine_7.result())
72 SketchConstraintLength_2 = Sketch_2.setLength(SketchLine_6.result(), "cote_cube")
73 SketchConstraintEqual_1 = Sketch_2.setEqual(SketchLine_6.result(), SketchLine_7.result())
74 SketchProjection_3 = Sketch_2.addProjection(model.selection("EDGE", "[Revolution_1_1/Generated_Face&Sketch_1/SketchLine_3][Revolution_1_1/To_Face]"), False)
75 SketchLine_8 = SketchProjection_3.createdFeature()
76 SketchConstraintCoincidence_11 = Sketch_2.setCoincident(SketchLine_5.endPoint(), SketchLine_8.result())
77 SketchProjection_4 = Sketch_2.addProjection(model.selection("EDGE", "[Revolution_1_1/Generated_Face&Sketch_1/SketchLine_3][Revolution_1_1/From_Face]"), False)
78 SketchLine_9 = SketchProjection_4.createdFeature()
79 SketchConstraintCoincidence_12 = Sketch_2.setCoincident(SketchLine_4.startPoint(), SketchLine_9.result())
80 Extrusion_1.setNestedSketch(Sketch_2)
81 Split_1 = model.addSplit(Part_1_doc, [model.selection("SOLID", "Revolution_1_1")], [model.selection("SOLID", "Extrusion_1_1")])
82 Point_2 = model.addPoint(Part_1_doc, "x", "y", "-z")
83 Axis_4 = model.addAxis(Part_1_doc, model.selection("VERTEX", "Point_1"), model.selection("VERTEX", "[Split_1_1_2/Modified_Face&Sketch_2/SketchLine_5&Revolution_1_1/To_Face][Split_1_1_2/Modified_Face&Sketch_2/SketchLine_4&Revolution_1_1/From_Face][Split_1_1_2/Modified_Face&Extrusion_1_1/To_Face&Sketch_1/SketchLine_3]"))
84 Plane_4 = model.addPlane(Part_1_doc, model.selection("EDGE", "Axis_1"), model.selection("VERTEX", "Point_1"), True)
85 Plane_5 = model.addPlane(Part_1_doc, model.selection("FACE", "Plane_1"), "haut_ext_tuyau", True)
86 Plane_5.result().setName("Plane_2 arrivee tuyau")
87 Plane_6 = model.addPlane(Part_1_doc, model.selection("FACE", "Extrusion_1_1/Generated_Face&Sketch_2/SketchLine_6"), model.selection("EDGE", "[Extrusion_1_1/Generated_Face&Sketch_2/SketchLine_6][Extrusion_1_1/From_Face]"), 45)
88 Plane_7 = model.addPlane(Part_1_doc, model.selection("FACE", "Extrusion_1_1/Generated_Face&Sketch_2/SketchLine_7"), model.selection("EDGE", "[Extrusion_1_1/Generated_Face&Sketch_2/SketchLine_7][Extrusion_1_1/From_Face]"), 45)
89 Plane_8 = model.addPlane(Part_1_doc, model.selection("FACE", "Extrusion_1_1/Generated_Face&Sketch_2/SketchLine_7"), model.selection("EDGE", "[Extrusion_1_1/Generated_Face&Sketch_2/SketchLine_6][Extrusion_1_1/Generated_Face&Sketch_2/SketchLine_7]"), "90+45")
90 Split_2 = model.addSplit(Part_1_doc, [model.selection("SOLID", "Split_1_1_1")], [model.selection("FACE", "Plane_5")])
91 Split_3 = model.addSplit(Part_1_doc, [model.selection("SOLID", "Split_2_1_2")], [model.selection("FACE", "Plane_3")])
92 Split_4 = model.addSplit(Part_1_doc, [model.selection("SOLID", "Split_3_1_2")], [model.selection("FACE", "Plane_4")])
93 Split_4.result().setColor(102, 51, 51)
94 Split_4.result().subResult(0).setColor(153, 153, 76)
95 Split_4.result().subResult(1).setColor(0, 204, 204)
96 Split_4.result().subResult(2).setColor(51, 51, 102)
97 Split_4.result().subResult(3).setColor(102, 204, 102)
98 Split_4.result().subResult(4).setColor(204, 204, 0)
99 Union_1 = model.addUnion(Part_1_doc, [model.selection("SOLID", "Split_4_1_4"), model.selection("SOLID", "Split_4_1_2")])
100 Point_3 = model.addPoint(Part_1_doc, model.selection("EDGE", "Axis_1"), model.selection("FACE", "Plane_2 arrivee tuyau"))
101 Sketch_3 = model.addSketch(Part_1_doc, model.selection("FACE", "Plane_2 arrivee tuyau"))
102 SketchProjection_5 = Sketch_3.addProjection(model.selection("VERTEX", "Point_2"), False)
103 SketchPoint_2 = SketchProjection_5.createdFeature()
104 SketchCircle_1 = Sketch_3.addCircle(0, 0, 10)
105 SketchConstraintCoincidence_13 = Sketch_3.setCoincident(SketchPoint_2.result(), SketchCircle_1.center())
106 SketchConstraintRadius_1 = Sketch_3.setRadius(SketchCircle_1.results()[1], "diam_tuyau")
107 SketchLine_10 = Sketch_3.addLine(-5, 5, 5, 5)
108 SketchLine_11 = Sketch_3.addLine(5, 5, 5, -5)
109 SketchLine_12 = Sketch_3.addLine(5, -5, -5, -5)
110 SketchLine_13 = Sketch_3.addLine(-5, -5, -5, 5)
111 SketchConstraintCoincidence_14 = Sketch_3.setCoincident(SketchLine_13.endPoint(), SketchLine_10.startPoint())
112 SketchConstraintCoincidence_15 = Sketch_3.setCoincident(SketchLine_10.endPoint(), SketchLine_11.startPoint())
113 SketchConstraintCoincidence_16 = Sketch_3.setCoincident(SketchLine_11.endPoint(), SketchLine_12.startPoint())
114 SketchConstraintCoincidence_17 = Sketch_3.setCoincident(SketchLine_12.endPoint(), SketchLine_13.startPoint())
115 SketchConstraintHorizontal_3 = Sketch_3.setHorizontal(SketchLine_10.result())
116 SketchConstraintVertical_4 = Sketch_3.setVertical(SketchLine_11.result())
117 SketchConstraintHorizontal_4 = Sketch_3.setHorizontal(SketchLine_12.result())
118 SketchConstraintVertical_5 = Sketch_3.setVertical(SketchLine_13.result())
119 SketchConstraintEqual_2 = Sketch_3.setEqual(SketchLine_10.result(), SketchLine_13.result())
120 SketchLine_14 = Sketch_3.addLine(5, 5, 7.071067811865479, 7.071067811865475)
121 SketchConstraintCoincidence_18 = Sketch_3.setCoincident(SketchLine_10.endPoint(), SketchLine_14.startPoint())
122 SketchConstraintCoincidence_19 = Sketch_3.setCoincident(SketchLine_14.endPoint(), SketchCircle_1.results()[1])
123 SketchLine_15 = Sketch_3.addLine(-5, -5, -7.071067811865472, -7.071067811865476)
124 SketchConstraintCoincidence_20 = Sketch_3.setCoincident(SketchLine_12.endPoint(), SketchLine_15.startPoint())
125 SketchConstraintCoincidence_21 = Sketch_3.setCoincident(SketchLine_15.endPoint(), SketchCircle_1.results()[1])
126 SketchConstraintCollinear_1 = Sketch_3.setCollinear(SketchLine_14.result(), SketchLine_15.result())
127 SketchLine_16 = Sketch_3.addLine(7.071067811865478, -7.071067811865476, 5, -5)
128 SketchConstraintCoincidence_22 = Sketch_3.setCoincident(SketchLine_16.startPoint(), SketchCircle_1.results()[1])
129 SketchConstraintCoincidence_23 = Sketch_3.setCoincident(SketchLine_11.endPoint(), SketchLine_16.endPoint())
130 SketchLine_17 = Sketch_3.addLine(-5, 5, -7.071067811865472, 7.071067811865476)
131 SketchConstraintCoincidence_24 = Sketch_3.setCoincident(SketchLine_10.startPoint(), SketchLine_17.startPoint())
132 SketchConstraintCoincidence_25 = Sketch_3.setCoincident(SketchLine_17.endPoint(), SketchCircle_1.results()[1])
133 SketchConstraintCollinear_2 = Sketch_3.setCollinear(SketchLine_17.result(), SketchLine_16.result())
134 SketchConstraintEqual_3 = Sketch_3.setEqual(SketchLine_14.result(), SketchLine_15.result())
135 SketchConstraintEqual_4 = Sketch_3.setEqual(SketchLine_17.result(), SketchLine_16.result())
136 SketchConstraintLength_3 = Sketch_3.setLength(SketchLine_10.result(), "diam_tuyau")
137 model.do()
138 Extrusion_2_objects = [model.selection("FACE", "Sketch_3/Face-SketchCircle_1_2f-SketchLine_14r-SketchLine_11f-SketchLine_16r"), model.selection("FACE", "Sketch_3/Face-SketchCircle_1_2f-SketchCircle_1_2f-SketchLine_17r-SketchLine_10f-SketchLine_14f"), model.selection("FACE", "Sketch_3/Face-SketchCircle_1_2f-SketchLine_15r-SketchLine_13f-SketchLine_17f"), model.selection("FACE", "Sketch_3/Face-SketchCircle_1_2f-SketchLine_16f-SketchLine_12f-SketchLine_15f")]
139 Extrusion_2 = model.addExtrusion(Part_1_doc, Extrusion_2_objects, model.selection(), 10, 0)
140 Extrusion_3 = model.addExtrusion(Part_1_doc, [model.selection("FACE", "Sketch_3/Face-SketchLine_13r-SketchLine_12r-SketchLine_11r-SketchLine_10r")], model.selection(), "haut_int_tuyau", 0)
141 Sketch_4 = model.addSketch(Part_1_doc, model.selection("FACE", "Extrusion_2_1_3/To_Face"))
142 SketchProjection_6 = Sketch_4.addProjection(model.selection("VERTEX", "[Extrusion_2_1_3/Generated_Face&Sketch_3/SketchCircle_1_2][Extrusion_2_1_3/Generated_Face&Sketch_3/SketchLine_15][Extrusion_2_1_3/To_Face]"), False)
143 SketchPoint_3 = SketchProjection_6.createdFeature()
144 SketchProjection_7 = Sketch_4.addProjection(model.selection("VERTEX", "[Extrusion_2_1_2/Generated_Face&Sketch_3/SketchCircle_1_2&weak_name_1][Extrusion_2_1_2/Generated_Face&Sketch_3/SketchLine_17][Extrusion_2_1_2/To_Face]"), False)
145 SketchPoint_4 = SketchProjection_7.createdFeature()
146 SketchArc_2 = Sketch_4.addArc(0, 0, -7.071067811865476, -7.071067811865472, 7.071067811865476, 7.071067811865472, True)
147 SketchConstraintCoincidence_26 = Sketch_4.setCoincident(SketchPoint_3.result(), SketchArc_2.startPoint())
148 SketchConstraintCoincidence_27 = Sketch_4.setCoincident(SketchPoint_4.result(), SketchArc_2.results()[1])
149 SketchLine_18 = Sketch_4.addLine(7.071067811865476, 7.071067811865472, -7.071067811865476, -7.071067811865472)
150 SketchConstraintCoincidence_28 = Sketch_4.setCoincident(SketchArc_2.endPoint(), SketchLine_18.startPoint())
151 SketchConstraintCoincidence_29 = Sketch_4.setCoincident(SketchAPI_Point(SketchPoint_3).coordinates(), SketchLine_18.endPoint())
152 SketchProjection_8 = Sketch_4.addProjection(model.selection("VERTEX", "[Extrusion_2_1_1/Generated_Face&Sketch_3/SketchCircle_1_2][Extrusion_2_1_1/Generated_Face&Sketch_3/SketchLine_14][Extrusion_2_1_1/To_Face]"), False)
153 SketchPoint_5 = SketchProjection_8.createdFeature()
154 SketchConstraintCoincidence_30 = Sketch_4.setCoincident(SketchArc_2.endPoint(), SketchAPI_Point(SketchPoint_5).coordinates())
155 model.do()
156 Revolution_2 = model.addRevolution(Part_1_doc, [model.selection("FACE", "Sketch_4/Face-SketchArc_2_2f-SketchLine_18r")], model.selection("EDGE", "Sketch_4/SketchLine_18"), 0, 180)
157 Cut_1 = model.addCut(Part_1_doc, [model.selection("SOLID", "Revolution_2_1")], [model.selection("SOLID", "Extrusion_3_1")])
158 Cut_1.result().setName("demi-sphere")
159 Plane_9 = model.addPlane(Part_1_doc, model.selection("VERTEX", "[Extrusion_2_1_1/Generated_Face&Sketch_3/SketchLine_11][Extrusion_2_1_1/Generated_Face&Sketch_3/SketchLine_16][Extrusion_2_1_1/From_Face]"), model.selection("VERTEX", "[Extrusion_2_1_1/Generated_Face&Sketch_3/SketchLine_11][Extrusion_2_1_1/Generated_Face&Sketch_3/SketchLine_16][Extrusion_2_1_1/To_Face]"), model.selection("VERTEX", "[Extrusion_2_1_1/Generated_Face&Sketch_3/SketchCircle_1_2][Extrusion_2_1_1/Generated_Face&Sketch_3/SketchLine_16][Extrusion_2_1_1/To_Face]"))
160 Plane_10 = model.addPlane(Part_1_doc, model.selection("VERTEX", "[Extrusion_2_1_1/Generated_Face&Sketch_3/SketchLine_14][Extrusion_2_1_1/Generated_Face&Sketch_3/SketchLine_11][Extrusion_2_1_1/To_Face]"), model.selection("VERTEX", "[Extrusion_2_1_1/Generated_Face&Sketch_3/SketchCircle_1_2][Extrusion_2_1_1/Generated_Face&Sketch_3/SketchLine_14][Extrusion_2_1_1/To_Face]"), model.selection("VERTEX", "[Extrusion_2_1_1/Generated_Face&Sketch_3/SketchCircle_1_2][Extrusion_2_1_1/Generated_Face&Sketch_3/SketchLine_14][Extrusion_2_1_1/From_Face]"))
161 Plane_11 = model.addPlane(Part_1_doc, model.selection("VERTEX", "[Extrusion_2_1_2/Generated_Face&Sketch_3/SketchCircle_1_2&weak_name_1][Extrusion_2_1_2/Generated_Face&Sketch_3/SketchLine_17][Extrusion_2_1_2/To_Face]"), model.selection("VERTEX", "[Extrusion_2_1_2/Generated_Face&Sketch_3/SketchLine_17][Extrusion_2_1_2/Generated_Face&Sketch_3/SketchLine_10][Extrusion_2_1_2/To_Face]"), model.selection("VERTEX", "[Extrusion_2_1_2/Generated_Face&Sketch_3/SketchCircle_1_2&weak_name_1][Extrusion_2_1_2/Generated_Face&Sketch_3/SketchLine_17][Extrusion_2_1_2/From_Face]"))
162 Plane_12 = model.addPlane(Part_1_doc, model.selection("VERTEX", "[Extrusion_2_1_3/Generated_Face&Sketch_3/SketchLine_15][Extrusion_2_1_3/Generated_Face&Sketch_3/SketchLine_13][Extrusion_2_1_3/To_Face]"), model.selection("VERTEX", "[Extrusion_2_1_3/Generated_Face&Sketch_3/SketchCircle_1_2][Extrusion_2_1_3/Generated_Face&Sketch_3/SketchLine_15][Extrusion_2_1_3/To_Face]"), model.selection("VERTEX", "[Extrusion_2_1_3/Generated_Face&Sketch_3/SketchCircle_1_2][Extrusion_2_1_3/Generated_Face&Sketch_3/SketchLine_15][Extrusion_2_1_3/From_Face]"))
163 Recover_1 = model.addRecover(Part_1_doc, Cut_1, [Extrusion_3.result()])
164 Plane_13 = model.addPlane(Part_1_doc, model.selection("FACE", "Recover_1_1/Modified_Face&Sketch_3/SketchLine_10"), model.selection("EDGE", "[Recover_1_1/Modified_Face&Sketch_3/SketchLine_10][Recover_1_1/Modified_Face&Extrusion_3_1/To_Face]"), "90+45")
165 Plane_14 = model.addPlane(Part_1_doc, model.selection("FACE", "Recover_1_1/Modified_Face&Sketch_3/SketchLine_13"), model.selection("EDGE", "[Recover_1_1/Modified_Face&Sketch_3/SketchLine_13][Recover_1_1/Modified_Face&Extrusion_3_1/To_Face]"), "90+45")
166 Plane_15 = model.addPlane(Part_1_doc, model.selection("FACE", "Recover_1_1/Modified_Face&Sketch_3/SketchLine_12"), model.selection("EDGE", "[Recover_1_1/Modified_Face&Sketch_3/SketchLine_12][Recover_1_1/Modified_Face&Extrusion_3_1/To_Face]"), "90+45")
167 Plane_16 = model.addPlane(Part_1_doc, model.selection("FACE", "Recover_1_1/Modified_Face&Extrusion_3_1/To_Face"), model.selection("EDGE", "[Recover_1_1/Modified_Face&Sketch_3/SketchLine_11][Recover_1_1/Modified_Face&Extrusion_3_1/To_Face]"), 45)
168 Split_5_objects_2 = [model.selection("FACE", "Plane_6"), model.selection("FACE", "Plane_7"), model.selection("FACE", "Plane_8"), model.selection("FACE", "Plane_9"), model.selection("FACE", "Plane_10"), model.selection("FACE", "Plane_11"), model.selection("FACE", "Plane_12"), model.selection("FACE", "Plane_13")]
169 Split_5 = model.addSplit(Part_1_doc, [model.selection("SOLID", "demi-sphere")], Split_5_objects_2)
170 Split_5.result().subResult(0).setName("Split_5_1_1")
171 Split_5.result().subResult(1).setName("Split_5_1_2")
172 Split_5.result().subResult(2).setName("Split_5_1_3")
173 Split_5.result().subResult(3).setName("Split_5_1_4")
174 Split_5.result().subResult(4).setName("Split_5_1_5")
175 Split_5.result().subResult(5).setName("Split_5_1_6")
176 Split_5.result().subResult(6).setName("Split_5_1_7")
177 Split_5.result().subResult(7).setName("Split_5_1_8")
178 Split_5.result().subResult(8).setName("Split_5_1_9")
179 Split_5.result().subResult(9).setName("Split_5_1_10")
180 Split_5.result().subResult(10).setName("Split_5_1_11")
181 Split_5.result().subResult(11).setName("Split_5_1_12")
182 Split_5.result().subResult(12).setName("Split_5_1_13")
183 Split_5.result().subResult(13).setName("Split_5_1_14")
184 Split_5.result().subResult(14).setName("Split_5_1_15")
185 Split_5.result().subResult(15).setName("Split_5_1_16")
186 Union_2_objects = [model.selection("SOLID", "Split_5_1_14"), model.selection("SOLID", "Split_5_1_15"), model.selection("SOLID", "Split_5_1_16")]
187 Union_2 = model.addUnion(Part_1_doc, Union_2_objects)
188 Union_2.result().subResult(0).setName("Union_2_1_1")
189 Union_2.result().subResult(1).setName("Union_2_1_2")
190 Union_2.result().subResult(2).setName("Union_2_1_3")
191 Union_2.result().subResult(3).setName("Union_2_1_4")
192 Union_2.result().subResult(4).setName("Union_2_1_5")
193 Union_2.result().subResult(5).setName("Union_2_1_6")
194 Union_2.result().subResult(6).setName("Union_2_1_7")
195 Union_2.result().subResult(7).setName("Union_2_1_8")
196 Union_2.result().subResult(8).setName("Union_2_1_9")
197 Union_2.result().subResult(9).setName("Union_2_1_10")
198 Union_2.result().subResult(10).setName("Union_2_1_11")
199 Union_2.result().subResult(11).setName("Union_2_1_12")
200 Union_2.result().subResult(12).setName("Union_2_1_13")
201 Union_2.result().subResult(13).setName("Union_2_1_14")
202 Union_3_objects = [model.selection("SOLID", "Union_2_1_8"), model.selection("SOLID", "Union_2_1_4"), model.selection("SOLID", "Union_2_1_9"), model.selection("SOLID", "Union_2_1_11")]
203 Union_3 = model.addUnion(Part_1_doc, Union_3_objects)
204 Union_3.result().subResult(0).setName("Union_3_1_1")
205 Union_3.result().subResult(1).setName("Union_3_1_2")
206 Union_3.result().subResult(2).setName("Union_3_1_3")
207 Union_3.result().subResult(3).setName("Union_3_1_4")
208 Union_3.result().subResult(4).setName("Union_3_1_5")
209 Union_3.result().subResult(5).setName("Union_3_1_6")
210 Union_3.result().subResult(6).setName("Union_3_1_7")
211 Union_3.result().subResult(7).setName("Union_3_1_8")
212 Union_3.result().subResult(8).setName("Union_3_1_9")
213 Union_3.result().subResult(9).setName("Union_3_1_10")
214 Union_3.result().subResult(10).setName("Union_3_1_11")
215 Union_4_objects = [model.selection("SOLID", "Union_3_1_5"), model.selection("SOLID", "Union_3_1_7"), model.selection("SOLID", "Union_3_1_9")]
216 Union_4 = model.addUnion(Part_1_doc, Union_4_objects)
217 Union_4.result().subResult(0).setName("Union_4_1_1")
218 Union_4.result().subResult(1).setName("Union_4_1_2")
219 Union_4.result().subResult(2).setName("Union_4_1_3")
220 Union_4.result().subResult(3).setName("Union_4_1_4")
221 Union_4.result().subResult(4).setName("Union_4_1_5")
222 Union_4.result().subResult(5).setName("Union_4_1_6")
223 Union_4.result().subResult(6).setName("Union_4_1_7")
224 Union_4.result().subResult(7).setName("Union_4_1_8")
225 Union_4.result().subResult(8).setName("Union_4_1_9")
226 Union_5_objects = [model.selection("SOLID", "Union_4_1_2"), model.selection("SOLID", "Union_4_1_1"), model.selection("SOLID", "Union_4_1_3")]
227 Union_5 = model.addUnion(Part_1_doc, Union_5_objects)
228 Union_5.result().subResult(0).setName("Union_5_1_1")
229 Union_5.result().subResult(1).setName("Union_5_1_2")
230 Union_5.result().subResult(2).setName("Union_5_1_3")
231 Union_5.result().subResult(3).setName("Union_5_1_4")
232 Union_5.result().subResult(4).setName("Union_5_1_5")
233 Union_5.result().subResult(5).setName("Union_5_1_6")
234 Union_5.result().subResult(6).setName("Union_5_1_7")
235 Union_6_objects = [model.selection("SOLID", "Union_5_1_1"), model.selection("SOLID", "Union_5_1_2"), model.selection("SOLID", "Union_5_1_3")]
236 Union_6 = model.addUnion(Part_1_doc, Union_6_objects)
237 Union_6.result().setColor(0, 0, 204)
238 Union_6.result().subResult(0).setName("Union_6_1_1")
239 Union_6.result().subResult(0).setColor(204, 102, 102)
240 Union_6.result().subResult(1).setName("Union_6_1_2")
241 Union_6.result().subResult(1).setColor(127, 254, 127)
242 Union_6.result().subResult(2).setName("Union_6_1_3")
243 Union_6.result().subResult(2).setColor(102, 51, 102)
244 Union_6.result().subResult(3).setName("Union_6_1_4")
245 Union_6.result().subResult(3).setColor(76, 76, 153)
246 Union_6.result().subResult(4).setName("Union_6_1_5")
247 Union_6.result().subResult(4).setColor(0, 0, 254)
248 Partition_1_objects = [model.selection("SOLID", "Recover_1_1"), model.selection("COMPSOLID", "Union_1_1"), model.selection("COMPSOLID", "Extrusion_2_1"), model.selection("COMPSOLID", "demi-sphere")]
249 Partition_1 = model.addPartition(Part_1_doc, Partition_1_objects)
250 Partition_1.result().setColor(102, 0, 0)
251 Partition_1.result().subResult(0).setColor(255, 255, 0)
252 Partition_1.result().subResult(1).setColor(0, 254, 0)
253 Partition_1.result().subResult(2).setColor(0, 255, 255)
254 Partition_1.result().subResult(3).setColor(255, 85, 0)
255 Partition_1.result().subResult(4).setColor(153, 0, 0)
256 Partition_1.result().subResult(5).setColor(254, 0, 254)
257 Partition_1.result().subResult(6).setColor(127, 127, 254)
258 Partition_1.result().subResult(7).setColor(102, 204, 102)
259 Partition_1.result().subResult(8).setColor(127, 254, 127)
260 Partition_1.result().subResult(9).setColor(153, 153, 76)
261 Partition_1.result().subResult(10).setColor(204, 102, 102)
262 Partition_1.result().subResult(11).setColor(127, 254, 254)
263 Partition_1.result().subResult(12).setColor(255, 255, 0)
264 Partition_1.result().subResult(13).setColor(102, 51, 102)
265 Partition_1.result().subResult(14).setColor(102, 204, 204)
266 Partition_1.result().subResult(15).setColor(254, 127, 254)
267 Partition_1.result().subResult(16).setColor(153, 153, 0)
268 Partition_1.result().subResult(17).setColor(153, 153, 0)
269 Partition_1.result().subResult(18).setColor(204, 0, 204)
270 Folder_1 = model.addFolder(Part_1_doc, Revolution_1, Union_1)
271 Folder_2 = model.addFolder(Part_1_doc, Point_3, Union_6)
272 model.do()
273
274 # check the result
275 model.testNbResults(Partition_1, 1)
276 model.testNbSubResults(Partition_1, [19])
277 model.testNbSubShapes(Partition_1, GeomAPI_Shape.SOLID, [19])
278 model.testNbSubShapes(Partition_1, GeomAPI_Shape.FACE, [199])
279 model.testNbSubShapes(Partition_1, GeomAPI_Shape.EDGE, [814])
280 model.testNbSubShapes(Partition_1, GeomAPI_Shape.VERTEX, [1628])
281 model.testResultsVolumes(Partition_1, [103867.289635450288187712430953979])
282
283 # change parameter and check validity of the result
284 Param_Diam.setValue(8)
285 model.do()
286
287 model.testNbResults(Partition_1, 1)
288 model.testNbSubResults(Partition_1, [19])
289 model.testNbSubShapes(Partition_1, GeomAPI_Shape.SOLID, [19])
290 model.testNbSubShapes(Partition_1, GeomAPI_Shape.FACE, [191])
291 model.testNbSubShapes(Partition_1, GeomAPI_Shape.EDGE, [744])
292 model.testNbSubShapes(Partition_1, GeomAPI_Shape.VERTEX, [1488])
293 model.testResultsVolumes(Partition_1, [103221.354557478349306620657444])
294
295 model.end()
296
297 # too long
298 #assert(model.checkPythonDump())