Salome HOME
Implementation of shared faces inspection, bos #29568
[modules/shaper.git] / src / FeaturesPlugin / Test / Test3076.py
1 from SketchAPI import *
2
3 from salome.shaper import model
4
5 model.begin()
6 partSet = model.moduleDocument()
7 Part_1 = model.addPart(partSet)
8 Part_1_doc = Part_1.document()
9 anAngle = model.addParameter(Part_1_doc, "angle", "45")
10 model.addParameter(Part_1_doc, "r1", "0.6671")
11 model.addParameter(Part_1_doc, "ep", "0.02")
12 Sketch_1 = model.addSketch(Part_1_doc, model.defaultPlane("YOZ"))
13 SketchLine_1 = Sketch_1.addLine(1.25, 4.0171, 1.25, 2.5971)
14 SketchLine_2 = Sketch_1.addLine(1.25, 2.5971, 1.4, 2.5971)
15 SketchConstraintCoincidence_1 = Sketch_1.setCoincident(SketchLine_1.endPoint(), SketchLine_2.startPoint())
16 SketchLine_3 = Sketch_1.addLine(1.4, 2.5971, 1.4, 2.0871)
17 SketchConstraintCoincidence_2 = Sketch_1.setCoincident(SketchLine_2.endPoint(), SketchLine_3.startPoint())
18 SketchLine_4 = Sketch_1.addLine(1.4, 2.0871, 1.25, 2.0871)
19 SketchConstraintCoincidence_3 = Sketch_1.setCoincident(SketchLine_3.endPoint(), SketchLine_4.startPoint())
20 SketchConstraintVertical_1 = Sketch_1.setVertical(SketchLine_1.result())
21 SketchConstraintVertical_2 = Sketch_1.setVertical(SketchLine_3.result())
22 SketchConstraintHorizontal_1 = Sketch_1.setHorizontal(SketchLine_4.result())
23 SketchConstraintHorizontal_2 = Sketch_1.setHorizontal(SketchLine_2.result())
24 SketchProjection_1 = Sketch_1.addProjection(model.selection("EDGE", "PartSet/OY"), False)
25 SketchLine_5 = SketchProjection_1.createdFeature()
26 SketchLine_5.setName("SketchLine_6")
27 SketchLine_5.result().setName("SketchLine_6")
28 SketchProjection_2 = Sketch_1.addProjection(model.selection("EDGE", "PartSet/OZ"), False)
29 SketchLine_6 = SketchProjection_2.createdFeature()
30 SketchLine_6.setName("SketchLine_7")
31 SketchLine_6.result().setName("SketchLine_7")
32 SketchLine_7 = Sketch_1.addLine(1.25, 2.0871, 1.25, 0.6671)
33 SketchLine_7.setName("SketchLine_12")
34 SketchLine_7.result().setName("SketchLine_12")
35 SketchEllipticArc_1 = Sketch_1.addEllipticArc(0, 0.6671, 1.057108125973878, 0.6671, 0, 2.733995794193338e-31, 1.25, 0.6671000000000001, False)
36 [SketchPoint_1, SketchPoint_2, SketchPoint_3, SketchPoint_4, SketchPoint_5, SketchPoint_6, SketchPoint_7, SketchLine_8, SketchLine_9] = SketchEllipticArc_1.construction(center = "aux", firstFocus = "aux", secondFocus = "aux", majorAxisStart = "aux", majorAxisEnd = "aux", minorAxisStart = "aux", minorAxisEnd = "aux", majorAxis = "aux", minorAxis = "aux")
37 SketchConstraintVertical_3 = Sketch_1.setVertical(SketchLine_9.result())
38 SketchConstraintVertical_3.setName("SketchConstraintVertical_4")
39 SketchConstraintCoincidence_4 = Sketch_1.setCoincident(SketchAPI_Line(SketchLine_9).startPoint(), SketchEllipticArc_1.startPoint())
40 SketchConstraintCoincidence_4.setName("SketchConstraintCoincidence_22")
41 SketchConstraintCoincidence_5 = Sketch_1.setCoincident(SketchEllipticArc_1.endPoint(), SketchAPI_Point(SketchPoint_5).coordinates())
42 SketchConstraintCoincidence_5.setName("SketchConstraintCoincidence_23")
43 SketchConstraintDistance_1 = Sketch_1.setDistance(SketchEllipticArc_1.minorAxisNegative(), SketchLine_8.result(), "r1", True)
44 SketchConstraintCoincidence_6 = Sketch_1.setCoincident(SketchLine_7.endPoint(), SketchEllipticArc_1.majorAxisPositive())
45 SketchConstraintCoincidence_6.setName("SketchConstraintCoincidence_27")
46 SketchConstraintVertical_4 = Sketch_1.setVertical(SketchLine_7.result())
47 SketchConstraintVertical_4.setName("SketchConstraintVertical_5")
48 SketchConstraintDistance_2 = Sketch_1.setDistance(SketchEllipticArc_1.majorAxisPositive(), SketchLine_6.result(), 1.25, True)
49 SketchConstraintLength_1 = Sketch_1.setLength(SketchLine_7.result(), 1.42)
50 SketchConstraintCoincidence_7 = Sketch_1.setCoincident(SketchLine_4.endPoint(), SketchLine_7.startPoint())
51 SketchConstraintCoincidence_7.setName("SketchConstraintCoincidence_13")
52 SketchConstraintCoincidence_8 = Sketch_1.setCoincident(SketchLine_1.endPoint(), SketchLine_7.result())
53 SketchConstraintCoincidence_8.setName("SketchConstraintCoincidence_14")
54 SketchConstraintLength_2 = Sketch_1.setLength(SketchLine_3.result(), 0.51)
55 SketchConstraintLength_3 = Sketch_1.setLength(SketchLine_2.result(), 0.15)
56 SketchConstraintLength_4 = Sketch_1.setLength(SketchLine_1.result(), 1.42)
57 SketchConstraintCoincidence_9 = Sketch_1.setCoincident(SketchEllipticArc_1.minorAxisNegative(), SketchLine_5.result())
58 SketchConstraintCoincidence_9.setName("SketchConstraintCoincidence_9")
59 SketchConstraintCoincidence_10 = Sketch_1.setCoincident(SketchAPI_Point(SketchPoint_6).coordinates(), SketchLine_6.result())
60 SketchConstraintCoincidence_10.setName("SketchConstraintCoincidence_10")
61 SketchEllipticArc_2 = Sketch_1.addEllipticArc(0, 4.0171, 1.057108125973878, 4.0171, 1.25, 4.0171, -1.323488743421758e-23, 4.6842, False)
62 [SketchPoint_8, SketchPoint_9, SketchPoint_10, SketchPoint_11, SketchPoint_12, SketchPoint_13, SketchPoint_14, SketchLine_10, SketchLine_11] = SketchEllipticArc_2.construction(center = "aux", firstFocus = "aux", secondFocus = "aux", majorAxisStart = "aux", majorAxisEnd = "aux", minorAxisStart = "aux", minorAxisEnd = "aux", majorAxis = "aux", minorAxis = "aux")
63 SketchConstraintCoincidence_11 = Sketch_1.setCoincident(SketchLine_6.result(), SketchEllipticArc_2.center())
64 SketchConstraintCoincidence_11.setName("SketchConstraintCoincidence_11")
65 SketchConstraintCoincidence_12 = Sketch_1.setCoincident(SketchEllipticArc_2.startPoint(), SketchAPI_Line(SketchLine_10).endPoint())
66 SketchConstraintCoincidence_12.setName("SketchConstraintCoincidence_12")
67 SketchConstraintCoincidence_13 = Sketch_1.setCoincident(SketchEllipticArc_2.endPoint(), SketchAPI_Line(SketchLine_11).endPoint())
68 SketchConstraintCoincidence_13.setName("SketchConstraintCoincidence_15")
69 SketchConstraintHorizontal_3 = Sketch_1.setHorizontal(SketchLine_10.result())
70 SketchConstraintCoincidence_14 = Sketch_1.setCoincident(SketchAPI_Point(SketchPoint_12).coordinates(), SketchLine_1.startPoint())
71 SketchConstraintCoincidence_14.setName("SketchConstraintCoincidence_16")
72 SketchConstraintDistance_3 = Sketch_1.setDistance(SketchEllipticArc_2.minorAxisPositive(), SketchLine_10.result(), "r1", True)
73 SketchLine_12 = Sketch_1.addLine(1.229999999999999, 4.0171, 1.229999999999999, 0.6671)
74 SketchLine_12.setName("SketchLine_13")
75 SketchLine_12.result().setName("SketchLine_13")
76 SketchConstraintCoincidence_15 = Sketch_1.setCoincident(SketchLine_12.startPoint(), SketchLine_10.result())
77 SketchConstraintCoincidence_15.setName("SketchConstraintCoincidence_17")
78 SketchConstraintCoincidence_16 = Sketch_1.setCoincident(SketchLine_12.endPoint(), SketchLine_8.result())
79 SketchConstraintCoincidence_16.setName("SketchConstraintCoincidence_18")
80 SketchConstraintVertical_5 = Sketch_1.setVertical(SketchLine_12.result())
81 SketchConstraintVertical_5.setName("SketchConstraintVertical_6")
82 SketchConstraintDistance_4 = Sketch_1.setDistance(SketchLine_12.startPoint(), SketchLine_1.result(), "ep", True)
83 SketchEllipticArc_3 = Sketch_1.addEllipticArc(0, 4.0171, 1.046021792316405, 4.0171, 0, 4.664199999999999, 1.23, 4.0171, True)
84 [SketchPoint_15, SketchPoint_16, SketchPoint_17, SketchPoint_18, SketchPoint_19, SketchPoint_20, SketchPoint_21, SketchLine_13, SketchLine_14] = SketchEllipticArc_3.construction(center = "aux", firstFocus = "aux", secondFocus = "aux", majorAxisStart = "aux", majorAxisEnd = "aux", minorAxisStart = "aux", minorAxisEnd = "aux", majorAxis = "aux", minorAxis = "aux")
85 SketchConstraintCoincidence_17 = Sketch_1.setCoincident(SketchEllipticArc_2.center(), SketchEllipticArc_3.center())
86 SketchConstraintCoincidence_17.setName("SketchConstraintCoincidence_19")
87 SketchConstraintCoincidence_18 = Sketch_1.setCoincident(SketchLine_6.result(), SketchEllipticArc_3.startPoint())
88 SketchConstraintCoincidence_18.setName("SketchConstraintCoincidence_20")
89 SketchConstraintCoincidence_19 = Sketch_1.setCoincident(SketchLine_10.result(), SketchEllipticArc_3.endPoint())
90 SketchConstraintCoincidence_19.setName("SketchConstraintCoincidence_21")
91 SketchConstraintCoincidence_20 = Sketch_1.setCoincident(SketchEllipticArc_3.endPoint(), SketchLine_12.startPoint())
92 SketchConstraintCoincidence_20.setName("SketchConstraintCoincidence_24")
93 SketchConstraintDistanceVertical_1 = Sketch_1.setVerticalDistance(SketchEllipticArc_2.minorAxisPositive(), SketchEllipticArc_3.startPoint(), "ep")
94 SketchConstraintHorizontal_4 = Sketch_1.setHorizontal(SketchLine_13.result())
95 SketchEllipticArc_4 = Sketch_1.addEllipticArc(0, 0.6671, 1.046021792316011, 0.6671, 0, 0.02, 1.229999999999999, 0.6670999999999999, False)
96 [SketchPoint_22, SketchPoint_23, SketchPoint_24, SketchPoint_25, SketchPoint_26, SketchPoint_27, SketchPoint_28, SketchLine_15, SketchLine_16] = SketchEllipticArc_4.construction(center = "aux", firstFocus = "aux", secondFocus = "aux", majorAxisStart = "aux", majorAxisEnd = "aux", minorAxisStart = "aux", minorAxisEnd = "aux", majorAxis = "aux", minorAxis = "aux")
97 SketchConstraintCoincidence_21 = Sketch_1.setCoincident(SketchEllipticArc_1.center(), SketchEllipticArc_4.center())
98 SketchConstraintCoincidence_21.setName("SketchConstraintCoincidence_25")
99 SketchConstraintCoincidence_22 = Sketch_1.setCoincident(SketchLine_12.endPoint(), SketchEllipticArc_4.result())
100 SketchConstraintCoincidence_22.setName("SketchConstraintCoincidence_26")
101 SketchConstraintCoincidence_23 = Sketch_1.setCoincident(SketchLine_6.result(), SketchEllipticArc_4.startPoint())
102 SketchConstraintCoincidence_23.setName("SketchConstraintCoincidence_28")
103 SketchConstraintCoincidence_24 = Sketch_1.setCoincident(SketchLine_12.endPoint(), SketchEllipticArc_4.endPoint())
104 SketchConstraintCoincidence_24.setName("SketchConstraintCoincidence_29")
105 SketchConstraintDistanceVertical_2 = Sketch_1.setVerticalDistance(SketchEllipticArc_4.minorAxisNegative(), SketchEllipticArc_1.minorAxisNegative(), "ep")
106 SketchConstraintHorizontal_5 = Sketch_1.setHorizontal(SketchLine_15.result())
107 SketchLine_17 = Sketch_1.addLine(9.702173021404511e-32, 0.02, -2.296340201324298e-16, -1.110223024625157e-16)
108 SketchConstraintCoincidence_25 = Sketch_1.setCoincident(SketchEllipticArc_4.minorAxisNegative(), SketchLine_17.startPoint())
109 SketchConstraintCoincidence_25.setName("SketchConstraintCoincidence_30")
110 SketchConstraintCoincidence_26 = Sketch_1.setCoincident(SketchAPI_Line(SketchLine_5).startPoint(), SketchLine_17.endPoint())
111 SketchConstraintCoincidence_26.setName("SketchConstraintCoincidence_31")
112 SketchLine_18 = Sketch_1.addLine(7.654042494670958e-17, 4.684199999999996, 7.524363077049401e-17, 4.664199999999999)
113 SketchConstraintCoincidence_27 = Sketch_1.setCoincident(SketchEllipticArc_2.minorAxisPositive(), SketchLine_18.startPoint())
114 SketchConstraintCoincidence_27.setName("SketchConstraintCoincidence_32")
115 SketchConstraintCoincidence_28 = Sketch_1.setCoincident(SketchEllipticArc_3.minorAxisPositive(), SketchLine_18.endPoint())
116 SketchConstraintCoincidence_28.setName("SketchConstraintCoincidence_33")
117 model.do()
118 Revolution_1 = model.addRevolution(Part_1_doc, [model.selection("FACE", "Sketch_1/Face-SketchEllipticArc_2f-SketchLine_18f-SketchEllipticArc_3r-SketchLine_13f-SketchEllipticArc_4r-SketchLine_17f-SketchEllipticArc_1f-SketchLine_12r-SketchLine_4r-SketchLine_3r-SketchLine_2r-SketchLine_1r")], model.selection("EDGE", "PartSet/OZ"), "angle", 0)
119 Group_1_objects = [model.selection("FACE", "Revolution_1_1/Generated_Face&Sketch_1/SketchEllipticArc_4"), model.selection("FACE", "Revolution_1_1/Generated_Face&Sketch_1/SketchLine_13"), model.selection("FACE", "Revolution_1_1/Generated_Face&Sketch_1/SketchEllipticArc_3")]
120 Group_1 = model.addGroup(Part_1_doc, "Faces", Group_1_objects)
121 Group_1.setName("Group_int")
122 Group_1.result().setName("Group_int")
123 Group_1.result().setColor(170, 0, 0)
124 Group_2_objects = [model.selection("FACE", "Revolution_1_1/Generated_Face&Sketch_1/SketchEllipticArc_2"), model.selection("FACE", "Revolution_1_1/Generated_Face&Sketch_1/SketchLine_1"), model.selection("FACE", "Revolution_1_1/Generated_Face&Sketch_1/SketchLine_2"), model.selection("FACE", "Revolution_1_1/Generated_Face&Sketch_1/SketchLine_3"), model.selection("FACE", "Revolution_1_1/Generated_Face&Sketch_1/SketchLine_4"), model.selection("FACE", "Revolution_1_1/Generated_Face&Sketch_1/SketchLine_12"), model.selection("FACE", "Revolution_1_1/Generated_Face&Sketch_1/SketchEllipticArc_1")]
125 Group_2 = model.addGroup(Part_1_doc, "Faces", Group_2_objects)
126 Group_2.setName("Group_ext")
127 Group_2.result().setName("Group_ext")
128 Group_2.result().setColor(0, 170, 0)
129 Group_3 = model.addGroup(Part_1_doc, "Faces", [model.selection("FACE", "Revolution_1_1/From_Face")])
130 Group_3.setName("Face_lat1")
131 Group_3.result().setName("Face_lat1")
132 Group_4 = model.addGroup(Part_1_doc, "Faces", [model.selection("FACE", "Revolution_1_1/To_Face")])
133 Group_4.setName("Face_lat2")
134 Group_4.result().setName("Face_lat2")
135 model.do()
136 # change revolution to be 360 degrees => no lateral faces anymore
137 anAngle.setValue(360)
138 model.end()
139
140 # check that group 3 and group 4 become invalid
141 assert(Group_3.groupList().value(0).isInvalid())
142 assert(Group_4.groupList().value(0).isInvalid())