Flesh out basic dressup feature tests
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user