7 #-----------------------------------------------------------------------------
10 class FeaturesAddRevolutionFixture(unittest.TestCase):
15 partset = model.moduleDocument()
16 self.part = model.addPart(partset).document()
21 assert(model.checkPythonDump())
25 class FeaturesRevolutionFixture(FeaturesAddRevolutionFixture):
28 FeaturesAddRevolutionFixture.setUp(self)
31 base_sketch = model.addSketch(self.part, model.defaultPlane("XOY"))
32 circle = base_sketch.addCircle(0, 0, 10)
36 base = base_sketch.selectFace()
37 axis_point1 = model.addPoint(self.part, 20, -10, 0).result()
38 axis_point2 = model.addPoint(self.part, 20, 10, 0).result()
39 axis_object = model.addAxis(self.part, axis_point1[0], axis_point2[0]).result()
41 self.revolution = model.addRevolution(self.part, base, axis_object[0],
47 FeaturesAddRevolutionFixture.tearDown(self)
49 #-----------------------------------------------------------------------------
52 class FeaturesAddRevolutionTestCase(FeaturesAddRevolutionFixture):
54 def test_add_revolution_by_face_and_angles(self):
56 base_sketch = model.addSketch(self.part, model.defaultPlane("XOY"))
57 circle = base_sketch.addCircle(0, 0, 10)
61 base = base_sketch.selectFace()
62 axis_point1 = model.addPoint(self.part, 20, -10, 0).result()
63 axis_point2 = model.addPoint(self.part, 20, 10, 0).result()
64 axis_object = model.addAxis(self.part, axis_point1[0], axis_point2[0]).result()
66 revolution = model.addRevolution(self.part, base, axis_object[0],
69 self.assertEqual(revolution.creationMethod().value(), "ByAngles")
70 self.assertEqual(revolution.toAngle().value(), 0)
71 self.assertEqual(revolution.fromAngle().value(), 180)
72 self.assertEqual(revolution.toObject().context(), None)
73 self.assertEqual(revolution.toOffset().value(), 0)
74 self.assertEqual(revolution.fromObject().context(), None)
75 self.assertEqual(revolution.fromOffset().value(), 0)
77 def test_add_revolution_by_face_and_planes(self):
79 base_sketch = model.addSketch(self.part, model.defaultPlane("XOY"))
80 base_circle = base_sketch.addCircle(0, 0, 10)
82 to_plane = model.defaultPlane("XOY")
83 to_plane.origin().setZ(10)
84 to_sketch = model.addSketch(self.part, to_plane)
85 to_circle = to_sketch.addCircle(0, 0, 10)
87 from_plane = model.defaultPlane("XOY")
88 from_plane.origin().setZ(-10)
89 from_sketch = model.addSketch(self.part, from_plane)
90 from_circle = from_sketch.addCircle(0, 0, 10)
94 base = base_sketch.selectFace()
95 axis_point1 = model.addPoint(self.part, 20, -10, 0).result()
96 axis_point2 = model.addPoint(self.part, 20, 10, 0).result()
97 axis_object = model.addAxis(self.part, axis_point1[0], axis_point2[0]).result()
98 to_obejct = to_sketch.selectFace()[0]
99 from_object = from_sketch.selectFace()[0]
101 revolution = model.addRevolution(self.part, base, axis_object[0],
105 self.assertEqual(revolution.creationMethod().value(), "ByPlanesAndOffsets")
106 self.assertEqual(revolution.toAngle().value(), 0)
107 self.assertEqual(revolution.fromAngle().value(), 0)
108 # self.assertEqual(revolution.getToObject().context(),
109 # to_sketch.result())
110 self.assertEqual(revolution.toOffset().value(), 15)
111 # self.assertEqual(revolution.getFromObject().context(),
112 # from_sketch.result())
113 self.assertEqual(revolution.fromOffset().value(), 20)
116 class FeaturesRevolutionTestCase(FeaturesRevolutionFixture):
118 def test_revolution_feature_calls(self):
119 # call method of the feature
120 self.assertEqual(self.revolution.getKind(), "Revolution")
122 def test_revolution_get_attribute(self):
123 # call method of the feature
124 self.assertTrue(isinstance(self.revolution.baseObjects(),
125 ModelAPI.ModelAPI_AttributeSelectionList))
126 self.assertTrue(isinstance(self.revolution.axis(),
127 ModelAPI.ModelAPI_AttributeSelection))
128 self.assertTrue(isinstance(self.revolution.creationMethod(),
129 ModelAPI.ModelAPI_AttributeString))
130 self.assertTrue(isinstance(self.revolution.toAngle(),
131 ModelAPI.ModelAPI_AttributeDouble))
132 self.assertTrue(isinstance(self.revolution.fromAngle(),
133 ModelAPI.ModelAPI_AttributeDouble))
134 self.assertTrue(isinstance(self.revolution.toObject(),
135 ModelAPI.ModelAPI_AttributeSelection))
136 self.assertTrue(isinstance(self.revolution.toOffset(),
137 ModelAPI.ModelAPI_AttributeDouble))
138 self.assertTrue(isinstance(self.revolution.fromObject(),
139 ModelAPI.ModelAPI_AttributeSelection))
140 self.assertTrue(isinstance(self.revolution.fromOffset(),
141 ModelAPI.ModelAPI_AttributeDouble))
143 def test_revolution_set_angles(self):
144 self.revolution.setAngles(90, 270)
145 self.assertEqual(self.revolution.creationMethod().value(), "ByAngles")
146 self.assertEqual(self.revolution.toAngle().value(), 90)
147 self.assertEqual(self.revolution.fromAngle().value(), 270)
148 self.assertEqual(self.revolution.toObject().context(), None)
149 self.assertEqual(self.revolution.toOffset().value(), 0)
150 self.assertEqual(self.revolution.fromObject().context(), None)
151 self.assertEqual(self.revolution.fromOffset().value(), 0)
153 def test_revolution_set_planes_and_offsets(self):
155 base_sketch = model.addSketch(self.part, model.defaultPlane("XOY"))
156 base_circle = base_sketch.addCircle(0, 0, 10)
158 to_plane = model.defaultPlane("XOY")
159 to_plane.origin().setZ(10)
160 to_sketch = model.addSketch(self.part, to_plane)
161 to_circle = to_sketch.addCircle(0, 0, 10)
163 from_plane = model.defaultPlane("XOY")
164 from_plane.origin().setZ(-10)
165 from_sketch = model.addSketch(self.part, from_plane)
166 from_circle = from_sketch.addCircle(0, 0, 10)
170 base = base_sketch.selectFace()
171 axis_point1 = model.addPoint(self.part, 20, -10, 0).result()
172 axis_point2 = model.addPoint(self.part, 20, 10, 0).result()
173 axis_object = model.addAxis(self.part, axis_point1[0], axis_point2[0]).result()
174 to_obejct = to_sketch.selectFace()[0]
175 from_object = from_sketch.selectFace()[0]
177 self.revolution.setPlanesAndOffsets(to_obejct, 15, from_object, 20)
179 self.assertEqual(self.revolution.creationMethod().value(), "ByPlanesAndOffsets")
180 # self.assertEqual(self.revolution.toAngle().value(), 0)
181 # self.assertEqual(self.revolution.fromAngle().value(), 0)
182 # self.assertEqual(self.revolution.getToObject().context(), None)
183 self.assertEqual(self.revolution.toOffset().value(), 15)
184 # self.assertEqual(self.revolution.getFromObject().context(), None)
185 self.assertEqual(self.revolution.fromOffset().value(), 20)
188 if __name__ == "__main__":