| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | import unittest |
| |
|
| | import FreeCAD |
| | import TestSketcherApp |
| |
|
| |
|
| | class TestLinearPattern(unittest.TestCase): |
| | def setUp(self): |
| | self.Doc = FreeCAD.newDocument("PartDesignTestLinearPattern") |
| |
|
| | def testXAxisLinearPattern(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.LinearPattern = self.Doc.addObject("PartDesign::LinearPattern", "LinearPattern") |
| | self.LinearPattern.Originals = [self.Box] |
| | self.LinearPattern.Direction = (self.Doc.X_Axis, [""]) |
| | self.LinearPattern.Length = 90.0 |
| | self.LinearPattern.Occurrences = 10 |
| | self.LinearPattern.Refine = True |
| | self.Body.addObject(self.LinearPattern) |
| | self.Doc.recompute() |
| | self.assertAlmostEqual(self.LinearPattern.Shape.Volume, 1e4) |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | self.assertEqual(self.LinearPattern.Shape.ElementMapSize, 26) |
| |
|
| | def testYAxisLinearPattern(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.LinearPattern = self.Doc.addObject("PartDesign::LinearPattern", "LinearPattern") |
| | self.LinearPattern.Originals = [self.Box] |
| | self.LinearPattern.Direction = (self.Doc.Y_Axis, [""]) |
| | self.LinearPattern.Length = 90.0 |
| | self.LinearPattern.Occurrences = 10 |
| | self.LinearPattern.Refine = True |
| | self.Body.addObject(self.LinearPattern) |
| | self.Doc.recompute() |
| | self.assertAlmostEqual(self.LinearPattern.Shape.Volume, 1e4) |
| | |
| | self.assertEqual(self.LinearPattern.Shape.ElementMapSize, 26) |
| |
|
| | def testZAxisLinearPattern(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.LinearPattern = self.Doc.addObject("PartDesign::LinearPattern", "LinearPattern") |
| | self.LinearPattern.Originals = [self.Box] |
| | self.LinearPattern.Direction = (self.Doc.Z_Axis, [""]) |
| | self.LinearPattern.Length = 90.0 |
| | self.LinearPattern.Occurrences = 10 |
| | self.LinearPattern.Refine = True |
| | self.Body.addObject(self.LinearPattern) |
| | self.Doc.recompute() |
| | self.assertAlmostEqual(self.LinearPattern.Shape.Volume, 1e4) |
| | |
| | self.assertEqual(self.LinearPattern.Shape.ElementMapSize, 26) |
| |
|
| | def testNormalSketchAxisLinearPattern(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.LinearPattern = self.Doc.addObject("PartDesign::LinearPattern", "LinearPattern") |
| | self.LinearPattern.Originals = [self.Pad] |
| | self.LinearPattern.Direction = (self.PadSketch, ["N_Axis"]) |
| | self.LinearPattern.Length = 90.0 |
| | self.LinearPattern.Occurrences = 10 |
| | self.LinearPattern.Refine = True |
| | self.Body.addObject(self.LinearPattern) |
| | self.Doc.recompute() |
| | self.assertAlmostEqual(self.LinearPattern.Shape.Volume, 1e4) |
| | |
| | self.assertEqual(self.LinearPattern.Shape.ElementMapSize, 26) |
| |
|
| | def testVerticalSketchAxisLinearPattern(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.LinearPattern = self.Doc.addObject("PartDesign::LinearPattern", "LinearPattern") |
| | self.LinearPattern.Originals = [self.Pad] |
| | self.LinearPattern.Direction = (self.PadSketch, ["V_Axis"]) |
| | self.LinearPattern.Length = 90.0 |
| | self.LinearPattern.Occurrences = 10 |
| | self.LinearPattern.Refine = True |
| | self.Body.addObject(self.LinearPattern) |
| | self.Doc.recompute() |
| | self.assertAlmostEqual(self.LinearPattern.Shape.Volume, 1e4) |
| | |
| | self.assertEqual(self.LinearPattern.Shape.ElementMapSize, 26) |
| |
|
| | def testHorizontalSketchAxisLinearPattern(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.LinearPattern = self.Doc.addObject("PartDesign::LinearPattern", "LinearPattern") |
| | self.LinearPattern.Originals = [self.Pad] |
| | self.LinearPattern.Direction = (self.PadSketch, ["H_Axis"]) |
| | self.LinearPattern.Length = 90.0 |
| | self.LinearPattern.Occurrences = 10 |
| | self.LinearPattern.Refine = True |
| | self.Body.addObject(self.LinearPattern) |
| | self.Doc.recompute() |
| | self.assertAlmostEqual(self.LinearPattern.Shape.Volume, 1e4) |
| | |
| | |
| | self.assertEqual(self.LinearPattern.Shape.ElementMapSize, 26) |
| |
|
| | def tearDown(self): |
| | |
| | FreeCAD.closeDocument("PartDesignTestLinearPattern") |
| | |
| |
|