5 #-----------------------------------------------------------------------------
8 class FeaturesAddExtrusionFixture(unittest.TestCase):
13 partset = model.moduleDocument()
14 self.part = model.addPart(partset).document()
22 class FeaturesExtrusionFixture(FeaturesAddExtrusionFixture):
25 FeaturesAddExtrusionFixture.setUp(self)
27 sketch = model.addSketch(self.part, model.defaultPlane("XOY"))
28 circle = sketch.addCircle(0, 0, 10)
29 self.extrusion = model.addExtrusion(self.part,
30 sketch.selectFace(circle.result()),
35 FeaturesAddExtrusionFixture.tearDown(self)
37 #-----------------------------------------------------------------------------
40 class FeaturesAddExtrusionTestCase(FeaturesAddExtrusionFixture):
42 def test_add_extrusion_no_base(self):
44 extrusion = model.addExtrusion(self.part)
45 fail("addExtrusion should assert if base is not None")
46 except AssertionError:
49 def test_add_extrusion_by_face_and_size(self):
50 sketch = model.addSketch(self.part, model.defaultPlane("XOY"))
51 circle = sketch.addCircle(0, 0, 10)
52 extrusion = model.addExtrusion(self.part,
53 sketch.selectFace(circle.result()),
56 def test_add_extrusion_by_face_and_planes(self):
58 base_sketch = model.addSketch(self.part, model.defaultPlane("XOY"))
59 base_circle = base_sketch.addCircle(0, 0, 10)
60 base_sketch.selectFace(base_circle.result())
62 to_plane = model.defaultPlane("XOY")
63 to_plane.location().setZ(10)
64 to_sketch = model.addSketch(self.part, to_plane)
65 to_circle = to_sketch.addCircle(0, 0, 10)
66 to_sketch.selectFace(to_circle.result())
68 from_plane = model.defaultPlane("XOY")
69 from_plane.location().setZ(-10)
70 from_sketch = model.addSketch(self.part, from_plane)
71 from_circle = from_sketch.addCircle(0, 0, 10)
72 from_sketch.selectFace(from_circle.result())
74 extrusion = model.addExtrusion(self.part,
80 class FeaturesExtrusionTestCase(FeaturesExtrusionFixture):
82 def test_extrusion_feature_calls(self):
83 # call method of the feature
84 self.assertEqual(self.extrusion.getKind(), "Extrusion")
86 def test_extrusion_set_sizes(self):
87 self.extrusion.setSize(15, 20)
89 def test_extrusion_set_planes_and_offsets(self):
91 base_sketch = model.addSketch(self.part, model.defaultPlane("XOY"))
92 base_circle = base_sketch.addCircle(0, 0, 10)
93 base_sketch.selectFace(base_circle.result())
95 to_plane = model.defaultPlane("XOY")
96 to_plane.location().setZ(10)
97 to_sketch = model.addSketch(self.part, to_plane)
98 to_circle = to_sketch.addCircle(0, 0, 10)
99 to_sketch.selectFace(to_circle.result())
101 from_plane = model.defaultPlane("XOY")
102 from_plane.location().setZ(-10)
103 from_sketch = model.addSketch(self.part, from_plane)
104 from_circle = from_sketch.addCircle(0, 0, 10)
105 from_sketch.selectFace(from_circle.result())
107 self.extrusion.setPlanesAndOffsets(to_sketch, 15, from_sketch, 20)
110 if __name__ == "__main__":