| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | import unittest |
| |
|
| | import FreeCAD |
| | import TestSketcherApp |
| |
|
| |
|
| | class TestPolarPattern(unittest.TestCase): |
| | def setUp(self): |
| | self.Doc = FreeCAD.newDocument("PartDesignTestPolarPattern") |
| |
|
| | def testXAxisPolarPattern(self): |
| | self.Body = self.Doc.addObject("PartDesign::Body", "Body") |
| | self.Box = self.Doc.addObject("PartDesign::AdditiveBox", "Box") |
| | self.Body.addObject(self.Box) |
| | self.Box.Length = 10.00 |
| | self.Box.Width = 10.00 |
| | self.Box.Height = 10.00 |
| | self.Doc.recompute() |
| | self.PolarPattern = self.Doc.addObject("PartDesign::PolarPattern", "PolarPattern") |
| | self.PolarPattern.Originals = [self.Box] |
| | self.PolarPattern.Axis = (self.Doc.X_Axis, [""]) |
| | self.PolarPattern.Angle = 360 |
| | self.PolarPattern.Occurrences = 4 |
| | self.PolarPattern.Refine = True |
| | self.Body.addObject(self.PolarPattern) |
| | self.Doc.recompute() |
| | self.assertAlmostEqual(self.PolarPattern.Shape.Volume, 4000) |
| | |
| | self.assertEqual(self.PolarPattern.Shape.ElementMapSize, 26) |
| |
|
| | def testYAxisPolarPattern(self): |
| | self.Body = self.Doc.addObject("PartDesign::Body", "Body") |
| | self.Box = self.Doc.addObject("PartDesign::AdditiveBox", "Box") |
| | self.Body.addObject(self.Box) |
| | self.Box.Length = 10.00 |
| | self.Box.Width = 10.00 |
| | self.Box.Height = 10.00 |
| | self.Doc.recompute() |
| | self.PolarPattern = self.Doc.addObject("PartDesign::PolarPattern", "PolarPattern") |
| | self.PolarPattern.Originals = [self.Box] |
| | self.PolarPattern.Axis = (self.Doc.Y_Axis, [""]) |
| | self.PolarPattern.Angle = 360 |
| | self.PolarPattern.Occurrences = 4 |
| | self.PolarPattern.Refine = True |
| | self.Body.addObject(self.PolarPattern) |
| | self.Doc.recompute() |
| | self.assertAlmostEqual(self.PolarPattern.Shape.Volume, 4000) |
| | |
| | self.assertEqual(self.PolarPattern.Shape.ElementMapSize, 26) |
| |
|
| | def testZAxisPolarPattern(self): |
| | self.Body = self.Doc.addObject("PartDesign::Body", "Body") |
| | self.Box = self.Doc.addObject("PartDesign::AdditiveBox", "Box") |
| | self.Body.addObject(self.Box) |
| | self.Box.Length = 10.00 |
| | self.Box.Width = 10.00 |
| | self.Box.Height = 10.00 |
| | self.Doc.recompute() |
| | self.PolarPattern = self.Doc.addObject("PartDesign::PolarPattern", "PolarPattern") |
| | self.PolarPattern.Originals = [self.Box] |
| | self.PolarPattern.Axis = (self.Doc.Z_Axis, [""]) |
| | self.PolarPattern.Angle = 360 |
| | self.PolarPattern.Occurrences = 4 |
| | self.PolarPattern.Refine = True |
| | self.Body.addObject(self.PolarPattern) |
| | self.Doc.recompute() |
| | self.assertAlmostEqual(self.PolarPattern.Shape.Volume, 4000) |
| | |
| | self.assertEqual(self.PolarPattern.Shape.ElementMapSize, 26) |
| |
|
| | def testNormalSketchAxisPolarPattern(self): |
| | self.Body = self.Doc.addObject("PartDesign::Body", "Body") |
| | self.PadSketch = self.Doc.addObject("Sketcher::SketchObject", "SketchPad") |
| | self.Body.addObject(self.PadSketch) |
| | TestSketcherApp.CreateRectangleSketch(self.PadSketch, (0, 0), (10, 10)) |
| | self.Doc.recompute() |
| | self.Pad = self.Doc.addObject("PartDesign::Pad", "Pad") |
| | self.Body.addObject(self.Pad) |
| | self.Pad.Profile = self.PadSketch |
| | self.Pad.Length = 10 |
| | self.Doc.recompute() |
| | self.PolarPattern = self.Doc.addObject("PartDesign::PolarPattern", "PolarPattern") |
| | self.PolarPattern.Originals = [self.Pad] |
| | self.PolarPattern.Axis = (self.PadSketch, ["N_Axis"]) |
| | self.PolarPattern.Angle = 360 |
| | self.PolarPattern.Occurrences = 4 |
| | self.PolarPattern.Refine = True |
| | self.Body.addObject(self.PolarPattern) |
| | self.Doc.recompute() |
| | self.assertAlmostEqual(self.PolarPattern.Shape.Volume, 4000) |
| | |
| | self.assertEqual(self.PolarPattern.Shape.ElementMapSize, 26) |
| |
|
| | def testVerticalSketchAxisPolarPattern(self): |
| | self.Body = self.Doc.addObject("PartDesign::Body", "Body") |
| | self.PadSketch = self.Doc.addObject("Sketcher::SketchObject", "SketchPad") |
| | self.Body.addObject(self.PadSketch) |
| | TestSketcherApp.CreateRectangleSketch(self.PadSketch, (0, 0), (10, 10)) |
| | self.Doc.recompute() |
| | self.Pad = self.Doc.addObject("PartDesign::Pad", "Pad") |
| | self.Body.addObject(self.Pad) |
| | self.Pad.Profile = self.PadSketch |
| | self.Pad.Length = 10 |
| | self.Doc.recompute() |
| | self.PolarPattern = self.Doc.addObject("PartDesign::PolarPattern", "PolarPattern") |
| | self.PolarPattern.Originals = [self.Pad] |
| | self.PolarPattern.Axis = (self.PadSketch, ["V_Axis"]) |
| | self.PolarPattern.Angle = 360 |
| | self.PolarPattern.Occurrences = 4 |
| | self.PolarPattern.Refine = True |
| | self.Body.addObject(self.PolarPattern) |
| | self.Doc.recompute() |
| | self.assertAlmostEqual(self.PolarPattern.Shape.Volume, 4000) |
| | |
| | self.assertEqual(self.PolarPattern.Shape.ElementMapSize, 26) |
| |
|
| | def testHorizontalSketchAxisPolarPattern(self): |
| | self.Body = self.Doc.addObject("PartDesign::Body", "Body") |
| | self.PadSketch = self.Doc.addObject("Sketcher::SketchObject", "SketchPad") |
| | self.Body.addObject(self.PadSketch) |
| | TestSketcherApp.CreateRectangleSketch(self.PadSketch, (0, 0), (10, 10)) |
| | self.Doc.recompute() |
| | self.Pad = self.Doc.addObject("PartDesign::Pad", "Pad") |
| | self.Body.addObject(self.Pad) |
| | self.Pad.Profile = self.PadSketch |
| | self.Pad.Length = 10 |
| | self.Doc.recompute() |
| | self.PolarPattern = self.Doc.addObject("PartDesign::PolarPattern", "PolarPattern") |
| | self.PolarPattern.Originals = [self.Pad] |
| | self.PolarPattern.Axis = (self.PadSketch, ["H_Axis"]) |
| | self.PolarPattern.Angle = 360 |
| | self.PolarPattern.Occurrences = 4 |
| | self.PolarPattern.Refine = True |
| | self.Body.addObject(self.PolarPattern) |
| | self.Doc.recompute() |
| | self.assertAlmostEqual(self.PolarPattern.Shape.Volume, 4000) |
| | |
| | |
| | |
| | |
| | |
| | self.assertEqual(self.PolarPattern.Shape.ElementMapSize, 26) |
| |
|
| | def tearDown(self): |
| | |
| | FreeCAD.closeDocument("PartDesignTestPolarPattern") |
| | |
| |
|