From 07036ddfdf51605929aca10c8b1bdd72db60e70d Mon Sep 17 00:00:00 2001 From: Kurt Kremitzki Date: Wed, 28 Jun 2017 10:46:31 -0500 Subject: [PATCH] Add basic PartDesign AdditivePipe and SubtractivePipe tests --- src/Mod/PartDesign/TestPartDesignApp.py | 65 +++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/src/Mod/PartDesign/TestPartDesignApp.py b/src/Mod/PartDesign/TestPartDesignApp.py index 0c0fc57cef..d3cb08087f 100644 --- a/src/Mod/PartDesign/TestPartDesignApp.py +++ b/src/Mod/PartDesign/TestPartDesignApp.py @@ -423,3 +423,68 @@ class PartDesignPocketTestCases(unittest.TestCase): #closing doc FreeCAD.closeDocument("PartDesignTestPocket") #print ("omit closing document for debugging") + +class PartDesignPipeTestCases(unittest.TestCase): + def setUp(self): + self.Doc = FreeCAD.newDocument("PartDesignTestPipe") + + def testSimpleAdditivePipeCase(self): + self.Body = self.Doc.addObject('PartDesign::Body','Body') + self.ProfileSketch = self.Doc.addObject('Sketcher::SketchObject', 'ProfileSketch') + self.Body.addObject(self.ProfileSketch) + TestSketcherApp.CreateCircleSketch(self.ProfileSketch, (0, 0), 1) + self.Doc.recompute() + self.SpineSketch = self.Doc.addObject('Sketcher::SketchObject', 'SpineSketch') + self.Body.addObject(self.SpineSketch) + self.SpineSketch.MapMode = 'FlatFace' + self.SpineSketch.Support = (App.ActiveDocument.XZ_Plane, ['']) + self.Doc.recompute() + self.SpineSketch.addGeometry(Part.LineSegment(App.Vector(0.0,0.0,0),App.Vector(0,1,0)),False) + self.SpineSketch.addConstraint(Sketcher.Constraint('Coincident',0,1,-1,1)) + self.SpineSketch.addConstraint(Sketcher.Constraint('PointOnObject',0,2,-2)) + self.SpineSketch.addConstraint(Sketcher.Constraint('DistanceY',0,1,0,2,1)) + self.Doc.recompute() + self.AdditivePipe = self.Doc.addObject("PartDesign::AdditivePipe","AdditivePipe") + self.Body.addObject(self.AdditivePipe) + self.AdditivePipe.Profile = self.ProfileSketch + self.AdditivePipe.Spine = self.SpineSketch + self.Doc.recompute() + self.assertAlmostEqual(self.AdditivePipe.Shape.Volume, 3.14159265) + + def testSimpleSubtractivePipeCase(self): + self.Body = self.Doc.addObject('PartDesign::Body','Body') + self.ProfileSketch = self.Doc.addObject('Sketcher::SketchObject', 'ProfileSketch') + self.Body.addObject(self.ProfileSketch) + TestSketcherApp.CreateCircleSketch(self.ProfileSketch, (0, 0), 1) + self.Doc.recompute() + self.SpineSketch = self.Doc.addObject('Sketcher::SketchObject', 'SpineSketch') + self.Body.addObject(self.SpineSketch) + self.SpineSketch.MapMode = 'FlatFace' + self.SpineSketch.Support = (App.ActiveDocument.XZ_Plane, ['']) + self.Doc.recompute() + self.SpineSketch.addGeometry(Part.LineSegment(App.Vector(0.0,0.0,0),App.Vector(0,1,0)),False) + self.SpineSketch.addConstraint(Sketcher.Constraint('Coincident',0,1,-1,1)) + self.SpineSketch.addConstraint(Sketcher.Constraint('PointOnObject',0,2,-2)) + self.SpineSketch.addConstraint(Sketcher.Constraint('DistanceY',0,1,0,2,1)) + self.Doc.recompute() + self.PadSketch = self.Doc.addObject('Sketcher::SketchObject', 'PadSketch') + self.Body.addObject(self.PadSketch) + TestSketcherApp.CreateRectangleSketch(self.PadSketch, (-5, -5), (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 = 1.0 + self.Doc.recompute() + self.SubtractivePipe = self.Doc.addObject("PartDesign::SubtractivePipe","SubtractivePipe") + self.Body.addObject(self.SubtractivePipe) + self.SubtractivePipe.Profile = self.ProfileSketch + self.SubtractivePipe.Spine = self.SpineSketch + self.Doc.recompute() + self.assertAlmostEqual(self.SubtractivePipe.Shape.Volume, 100 - 3.14159265) + + + def tearDown(self): + #closing doc + FreeCAD.closeDocument("PartDesignTestPipe") + #print ("omit closing document for debugging")