7 #-----------------------------------------------------------------------------
10 class FeaturesAddExtrusionFixture(unittest.TestCase):
15 partset = model.moduleDocument()
16 self.part = model.addPart(partset).document()
21 assert(model.checkPythonDump())
25 class FeaturesExtrusionFixture(FeaturesAddExtrusionFixture):
28 FeaturesAddExtrusionFixture.setUp(self)
30 sketch = model.addSketch(self.part, model.defaultPlane("XOY"))
31 circle = sketch.addCircle(0, 0, 10)
34 base = sketch.selectFace()
35 self.extrusion = model.addExtrusion(self.part, base, 10, 0)
39 FeaturesAddExtrusionFixture.tearDown(self)
41 #-----------------------------------------------------------------------------
44 class FeaturesAddExtrusionTestCase(FeaturesAddExtrusionFixture):
46 def test_add_extrusion_by_face_and_size(self):
47 sketch = model.addSketch(self.part, model.defaultPlane("XOY"))
48 circle = sketch.addCircle(0, 0, 10)
51 base = sketch.selectFace()
52 extrusion = model.addExtrusion(self.part, base, 10, 0)
55 self.assertEqual(extrusion.creationMethod().value(), "BySizes")
56 self.assertEqual(extrusion.toSize().value(), 10)
57 self.assertEqual(extrusion.fromSize().value(), 0)
58 self.assertEqual(extrusion.toObject().context(), None)
59 self.assertEqual(extrusion.toOffset().isInitialized(), False)
60 self.assertEqual(extrusion.fromObject().context(), None)
61 self.assertEqual(extrusion.fromOffset().isInitialized(), False)
63 def test_add_extrusion_by_face_and_planes(self):
65 base_sketch = model.addSketch(self.part, model.defaultPlane("XOY"))
66 base_circle = base_sketch.addCircle(0, 0, 10)
68 to_plane = model.defaultPlane("XOY")
69 to_plane.origin().setZ(10)
70 to_sketch = model.addSketch(self.part, to_plane)
71 to_circle = to_sketch.addCircle(0, 0, 10)
73 from_plane = model.defaultPlane("XOY")
74 from_plane.origin().setZ(-10)
75 from_sketch = model.addSketch(self.part, from_plane)
76 from_circle = from_sketch.addCircle(0, 0, 10)
80 base = base_sketch.selectFace()
81 to_object = to_sketch.selectFace()[0]
82 from_object = from_sketch.selectFace()[0]
83 extrusion = model.addExtrusion(self.part, base,
87 self.assertEqual(extrusion.creationMethod().value(), "ByPlanesAndOffsets")
88 self.assertEqual(extrusion.toSize().isInitialized(), False)
89 self.assertEqual(extrusion.fromSize().isInitialized(), False)
90 # self.assertEqual(extrusion.getToObject().context(),
92 self.assertEqual(extrusion.toOffset().value(), 15)
93 # self.assertEqual(extrusion.getFromObject().context(),
94 # from_sketch.result())
95 self.assertEqual(extrusion.fromOffset().value(), 20)
98 class FeaturesExtrusionTestCase(FeaturesExtrusionFixture):
100 def test_extrusion_feature_calls(self):
101 # call method of the feature
102 self.assertEqual(self.extrusion.getKind(), "Extrusion")
104 def test_extrusion_get_attribute(self):
105 # call method of the feature
106 self.assertTrue(isinstance(self.extrusion.baseObjects(),
107 ModelAPI.ModelAPI_AttributeSelectionList))
108 self.assertTrue(isinstance(self.extrusion.creationMethod(),
109 ModelAPI.ModelAPI_AttributeString))
110 self.assertTrue(isinstance(self.extrusion.toSize(),
111 ModelAPI.ModelAPI_AttributeDouble))
112 self.assertTrue(isinstance(self.extrusion.fromSize(),
113 ModelAPI.ModelAPI_AttributeDouble))
114 self.assertTrue(isinstance(self.extrusion.toObject(),
115 ModelAPI.ModelAPI_AttributeSelection))
116 self.assertTrue(isinstance(self.extrusion.toOffset(),
117 ModelAPI.ModelAPI_AttributeDouble))
118 self.assertTrue(isinstance(self.extrusion.fromObject(),
119 ModelAPI.ModelAPI_AttributeSelection))
120 self.assertTrue(isinstance(self.extrusion.fromOffset(),
121 ModelAPI.ModelAPI_AttributeDouble))
123 def test_extrusion_set_sizes(self):
124 self.extrusion.setSizes(15, 20)
125 self.assertEqual(self.extrusion.creationMethod().value(), "BySizes")
126 self.assertEqual(self.extrusion.toSize().value(), 15)
127 self.assertEqual(self.extrusion.fromSize().value(), 20)
128 self.assertEqual(self.extrusion.toObject().context(), None)
129 self.assertEqual(self.extrusion.toOffset().isInitialized(), False)
130 self.assertEqual(self.extrusion.fromObject().context(), None)
131 self.assertEqual(self.extrusion.fromOffset().isInitialized(), False)
133 def test_extrusion_set_planes_and_offsets(self):
135 to_plane = model.defaultPlane("XOY")
136 to_plane.origin().setZ(10)
137 to_sketch = model.addSketch(self.part, to_plane)
138 to_circle = to_sketch.addCircle(0, 0, 10)
140 from_plane = model.defaultPlane("XOY")
141 from_plane.origin().setZ(-10)
142 from_sketch = model.addSketch(self.part, from_plane)
143 from_circle = from_sketch.addCircle(0, 0, 10)
147 to_object = to_sketch.selectFace()[0]
148 from_object = from_sketch.selectFace()[0]
150 self.part.moveFeature(self.extrusion.feature(), from_sketch.feature())
152 self.extrusion.setPlanesAndOffsets(to_object, 15, from_object, 20)
155 if __name__ == "__main__":