7 #-----------------------------------------------------------------------------
10 class FeaturesAddRevolutionFixture(unittest.TestCase):
15 partset = model.moduleDocument()
16 self.part = model.addPart(partset).document()
24 class FeaturesRevolutionFixture(FeaturesAddRevolutionFixture):
27 FeaturesAddRevolutionFixture.setUp(self)
30 base_sketch = model.addSketch(self.part, model.defaultPlane("XOY"))
31 circle = base_sketch.addCircle(0, 0, 10)
35 base = base_sketch.selectFace()
36 axis_point1 = model.addPoint(self.part, 20, -10, 0).result()
37 axis_point2 = model.addPoint(self.part, 20, 10, 0).result()
38 axis_object = model.addAxis(self.part, axis_point1[0], axis_point2[0]).result()
40 self.revolution = model.addRevolution(self.part, base, axis_object[0],
46 FeaturesAddRevolutionFixture.tearDown(self)
48 #-----------------------------------------------------------------------------
51 class FeaturesAddRevolutionTestCase(FeaturesAddRevolutionFixture):
53 def test_add_revolution_by_face_and_angles(self):
55 base_sketch = model.addSketch(self.part, model.defaultPlane("XOY"))
56 circle = base_sketch.addCircle(0, 0, 10)
60 base = base_sketch.selectFace()
61 axis_point1 = model.addPoint(self.part, 20, -10, 0).result()
62 axis_point2 = model.addPoint(self.part, 20, 10, 0).result()
63 axis_object = model.addAxis(self.part, axis_point1[0], axis_point2[0]).result()
65 revolution = model.addRevolution(self.part, base, axis_object[0],
68 self.assertEqual(revolution.creationMethod().value(), "ByAngles")
69 self.assertEqual(revolution.toAngle().value(), 0)
70 self.assertEqual(revolution.fromAngle().value(), 180)
71 self.assertEqual(revolution.toObject().context(), None)
72 self.assertEqual(revolution.toOffset().value(), 0)
73 self.assertEqual(revolution.fromObject().context(), None)
74 self.assertEqual(revolution.fromOffset().value(), 0)
76 def test_add_revolution_by_face_and_planes(self):
78 base_sketch = model.addSketch(self.part, model.defaultPlane("XOY"))
79 base_circle = base_sketch.addCircle(0, 0, 10)
81 to_plane = model.defaultPlane("XOY")
82 to_plane.origin().setZ(10)
83 to_sketch = model.addSketch(self.part, to_plane)
84 to_circle = to_sketch.addCircle(0, 0, 10)
86 from_plane = model.defaultPlane("XOY")
87 from_plane.origin().setZ(-10)
88 from_sketch = model.addSketch(self.part, from_plane)
89 from_circle = from_sketch.addCircle(0, 0, 10)
93 base = base_sketch.selectFace()
94 axis_point1 = model.addPoint(self.part, 20, -10, 0).result()
95 axis_point2 = model.addPoint(self.part, 20, 10, 0).result()
96 axis_object = model.addAxis(self.part, axis_point1[0], axis_point2[0]).result()
97 to_obejct = to_sketch.selectFace()[0]
98 from_object = from_sketch.selectFace()[0]
100 revolution = model.addRevolution(self.part, base, axis_object[0],
104 self.assertEqual(revolution.creationMethod().value(), "ByPlanesAndOffsets")
105 self.assertEqual(revolution.toAngle().value(), 0)
106 self.assertEqual(revolution.fromAngle().value(), 0)
107 # self.assertEqual(revolution.getToObject().context(),
108 # to_sketch.result())
109 self.assertEqual(revolution.toOffset().value(), 15)
110 # self.assertEqual(revolution.getFromObject().context(),
111 # from_sketch.result())
112 self.assertEqual(revolution.fromOffset().value(), 20)
115 class FeaturesRevolutionTestCase(FeaturesRevolutionFixture):
117 def test_revolution_feature_calls(self):
118 # call method of the feature
119 self.assertEqual(self.revolution.getKind(), "Revolution")
121 def test_revolution_get_attribute(self):
122 # call method of the feature
123 self.assertTrue(isinstance(self.revolution.baseObjects(),
124 ModelAPI.ModelAPI_AttributeSelectionList))
125 self.assertTrue(isinstance(self.revolution.axis(),
126 ModelAPI.ModelAPI_AttributeSelection))
127 self.assertTrue(isinstance(self.revolution.creationMethod(),
128 ModelAPI.ModelAPI_AttributeString))
129 self.assertTrue(isinstance(self.revolution.toAngle(),
130 ModelAPI.ModelAPI_AttributeDouble))
131 self.assertTrue(isinstance(self.revolution.fromAngle(),
132 ModelAPI.ModelAPI_AttributeDouble))
133 self.assertTrue(isinstance(self.revolution.toObject(),
134 ModelAPI.ModelAPI_AttributeSelection))
135 self.assertTrue(isinstance(self.revolution.toOffset(),
136 ModelAPI.ModelAPI_AttributeDouble))
137 self.assertTrue(isinstance(self.revolution.fromObject(),
138 ModelAPI.ModelAPI_AttributeSelection))
139 self.assertTrue(isinstance(self.revolution.fromOffset(),
140 ModelAPI.ModelAPI_AttributeDouble))
142 def test_revolution_set_angles(self):
143 self.revolution.setAngles(90, 270)
144 self.assertEqual(self.revolution.creationMethod().value(), "ByAngles")
145 self.assertEqual(self.revolution.toAngle().value(), 90)
146 self.assertEqual(self.revolution.fromAngle().value(), 270)
147 self.assertEqual(self.revolution.toObject().context(), None)
148 self.assertEqual(self.revolution.toOffset().value(), 0)
149 self.assertEqual(self.revolution.fromObject().context(), None)
150 self.assertEqual(self.revolution.fromOffset().value(), 0)
152 def test_revolution_set_planes_and_offsets(self):
154 base_sketch = model.addSketch(self.part, model.defaultPlane("XOY"))
155 base_circle = base_sketch.addCircle(0, 0, 10)
157 to_plane = model.defaultPlane("XOY")
158 to_plane.origin().setZ(10)
159 to_sketch = model.addSketch(self.part, to_plane)
160 to_circle = to_sketch.addCircle(0, 0, 10)
162 from_plane = model.defaultPlane("XOY")
163 from_plane.origin().setZ(-10)
164 from_sketch = model.addSketch(self.part, from_plane)
165 from_circle = from_sketch.addCircle(0, 0, 10)
169 base = base_sketch.selectFace()
170 axis_point1 = model.addPoint(self.part, 20, -10, 0).result()
171 axis_point2 = model.addPoint(self.part, 20, 10, 0).result()
172 axis_object = model.addAxis(self.part, axis_point1[0], axis_point2[0]).result()
173 to_obejct = to_sketch.selectFace()[0]
174 from_object = from_sketch.selectFace()[0]
176 self.revolution.setPlanesAndOffsets(to_obejct, 15, from_object, 20)
178 self.assertEqual(self.revolution.creationMethod().value(), "ByPlanesAndOffsets")
179 # self.assertEqual(self.revolution.toAngle().value(), 0)
180 # self.assertEqual(self.revolution.fromAngle().value(), 0)
181 # self.assertEqual(self.revolution.getToObject().context(), None)
182 self.assertEqual(self.revolution.toOffset().value(), 15)
183 # self.assertEqual(self.revolution.getFromObject().context(), None)
184 self.assertEqual(self.revolution.fromOffset().value(), 20)
187 if __name__ == "__main__":