Flesh out basic dressup feature tests

This commit is contained in:
Kurt Kremitzki
2017-07-10 05:00:23 -05:00
parent fb5aeeaa7b
commit d9277c4567
4 changed files with 41 additions and 36 deletions

View File

@@ -26,7 +26,7 @@ class TestChamfer(unittest.TestCase):
def setUp(self):
self.Doc = FreeCAD.newDocument("PartDesignTestChamfer")
def testChamfer(self):
def testChamferCubeToOctahedron(self):
self.Body = self.Doc.addObject('PartDesign::Body','Body')
self.Box = self.Doc.addObject('PartDesign::AdditiveBox','Box')
self.Body.addObject(self.Box)
@@ -34,15 +34,13 @@ class TestChamfer(unittest.TestCase):
self.Box.Width=10.00
self.Box.Height=10.00
self.Doc.recompute()
self.Revolution = self.Doc.addObject("PartDesign::Revolution","Revolution")
self.Revolution.Profile = (self.Box, ["Face6"])
self.Revolution.ReferenceAxis = (self.Doc.Y_Axis,[""])
self.Revolution.Angle = 180.0
self.Revolution.Reversed = 1
self.Body.addObject(self.Revolution)
self.Chamfer = self.Doc.addObject("PartDesign::Chamfer","Chamfer")
self.Chamfer.Base = (self.Box, ['Face'+str(i+1) for i in range(6)])
self.Chamfer.Size = 4.999999
self.Body.addObject(self.Chamfer)
self.Doc.recompute()
# depending on if refinement is done we expect 8 or 10 faces
self.assertIn(len(self.Revolution.Shape.Faces), (8, 10))
self.MajorFaces = [face for face in self.Chamfer.Shape.Faces if face.Area > 1e-3]
self.assertEqual(len(self.MajorFaces), 8)
def tearDown(self):
#closing doc

View File

@@ -26,7 +26,7 @@ class TestDraft(unittest.TestCase):
def setUp(self):
self.Doc = FreeCAD.newDocument("PartDesignTestDraft")
def testDraft(self):
def testSimpleDraft(self):
self.Body = self.Doc.addObject('PartDesign::Body','Body')
self.Box = self.Doc.addObject('PartDesign::AdditiveBox','Box')
self.Body.addObject(self.Box)
@@ -34,15 +34,21 @@ class TestDraft(unittest.TestCase):
self.Box.Width=10.00
self.Box.Height=10.00
self.Doc.recompute()
self.Revolution = self.Doc.addObject("PartDesign::Revolution","Revolution")
self.Revolution.Profile = (self.Box, ["Face6"])
self.Revolution.ReferenceAxis = (self.Doc.Y_Axis,[""])
self.Revolution.Angle = 180.0
self.Revolution.Reversed = 1
self.Body.addObject(self.Revolution)
self.Draft = self.Doc.addObject("PartDesign::Draft","Draft")
self.Draft.Base = (self.Box, ["Face1"])
n1, n2 = self.Box.Shape.Faces[0].Surface.Axis, self.Box.Shape.Faces[1].Surface.Axis
if n1.dot(n2) == 0:
self.Draft.NeutralPlane = (self.Box, ["Face2"])
else:
self.Draft.NeutralPlane = (self.Box, ["Face3"])
self.Draft.PullDirection = None
self.Draft.Angle = 45.0
self.Body.addObject(self.Draft)
self.Doc.recompute()
# depending on if refinement is done we expect 8 or 10 faces
self.assertIn(len(self.Revolution.Shape.Faces), (8, 10))
if round(self.Draft.Shape.Volume, 7) - 500 == 0:
self.Draft.Reversed = 1
self.Doc.recompute()
self.assertAlmostEqual(self.Draft.Shape.Volume, 1500)
def tearDown(self):
#closing doc

View File

@@ -18,6 +18,8 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 *
# USA *
#**************************************************************************
from __future__ import division
from math import pi
import unittest
import FreeCAD
@@ -26,7 +28,7 @@ class TestFillet(unittest.TestCase):
def setUp(self):
self.Doc = FreeCAD.newDocument("PartDesignTestFillet")
def testRevolveFace(self):
def testFilletCubeToSphere(self):
self.Body = self.Doc.addObject('PartDesign::Body','Body')
self.Box = self.Doc.addObject('PartDesign::AdditiveBox','Box')
self.Body.addObject(self.Box)
@@ -34,15 +36,12 @@ class TestFillet(unittest.TestCase):
self.Box.Width=10.00
self.Box.Height=10.00
self.Doc.recompute()
self.Revolution = self.Doc.addObject("PartDesign::Revolution","Revolution")
self.Revolution.Profile = (self.Box, ["Face6"])
self.Revolution.ReferenceAxis = (self.Doc.Y_Axis,[""])
self.Revolution.Angle = 180.0
self.Revolution.Reversed = 1
self.Body.addObject(self.Revolution)
self.Fillet = self.Doc.addObject("PartDesign::Fillet","Fillet")
self.Fillet.Base = (self.Box, ['Face'+str(i+1) for i in range(6)])
self.Fillet.Radius = 4.999999
self.Body.addObject(self.Fillet)
self.Doc.recompute()
# depending on if refinement is done we expect 8 or 10 faces
self.assertIn(len(self.Revolution.Shape.Faces), (8, 10))
self.assertAlmostEqual(self.Fillet.Shape.Volume, 4/3 * pi * 5**3, places=3)
def tearDown(self):
#closing doc

View File

@@ -26,7 +26,7 @@ class TestThickness(unittest.TestCase):
def setUp(self):
self.Doc = FreeCAD.newDocument("PartDesignTestThickness")
def testThickness(self):
def testReversedThickness(self):
self.Body = self.Doc.addObject('PartDesign::Body','Body')
self.Box = self.Doc.addObject('PartDesign::AdditiveBox','Box')
self.Body.addObject(self.Box)
@@ -34,15 +34,17 @@ class TestThickness(unittest.TestCase):
self.Box.Width=10.00
self.Box.Height=10.00
self.Doc.recompute()
self.Revolution = self.Doc.addObject("PartDesign::Revolution","Revolution")
self.Revolution.Profile = (self.Box, ["Face6"])
self.Revolution.ReferenceAxis = (self.Doc.Y_Axis,[""])
self.Revolution.Angle = 180.0
self.Revolution.Reversed = 1
self.Body.addObject(self.Revolution)
self.Thickness = self.Doc.addObject("PartDesign::Thickness", "Thickness")
self.Thickness.Base = (self.Box, ["Face1"])
self.Body.addObject(self.Thickness)
self.Doc.recompute()
# depending on if refinement is done we expect 8 or 10 faces
self.assertIn(len(self.Revolution.Shape.Faces), (8, 10))
self.Thickness.Value = 1.0
self.Thickness.Reversed = 1
self.Thickness.Mode = 0
self.Thickness.Join = 0
self.Thickness.Base = (self.Box, ["Face1"])
self.Doc.recompute()
self.assertEqual(len(self.Thickness.Shape.Faces), 11)
def tearDown(self):
#closing doc