| | |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | import FreeCAD as App |
| | import Path |
| | import Path.Base.Drillable as Drillable |
| | import CAMTests.PathTestUtils as PathTestUtils |
| |
|
| |
|
| | if False: |
| | Path.Log.setLevel(Path.Log.Level.DEBUG, Path.Log.thisModule()) |
| | Path.Log.trackModule(Path.Log.thisModule()) |
| | else: |
| | Path.Log.setLevel(Path.Log.Level.INFO, Path.Log.thisModule()) |
| |
|
| |
|
| | class TestPathDrillable(PathTestUtils.PathTestBase): |
| | def setUp(self): |
| | App.ConfigSet("SuppressRecomputeRequiredDialog", "True") |
| | self.doc = App.open(App.getHomePath() + "/Mod/CAM/CAMTests/Drilling_1.FCStd") |
| | App.ConfigSet("SuppressRecomputeRequiredDialog", "") |
| | self.obj = self.doc.getObject("Pocket011") |
| |
|
| | def tearDown(self): |
| | App.closeDocument(self.doc.Name) |
| |
|
| | def test00(self): |
| | """Test CompareVecs""" |
| |
|
| | |
| | v1 = App.Vector(0, 0, 10) |
| | v2 = App.Vector(0, 0, 0) |
| | self.assertTrue(Drillable.compareVecs(v1, v2)) |
| |
|
| | |
| | v1 = App.Vector(0, 10, 0) |
| | v2 = App.Vector(0, 20, 0) |
| | self.assertTrue(Drillable.compareVecs(v1, v2)) |
| |
|
| | |
| | v1 = App.Vector(0, 10, 0) |
| | v2 = App.Vector(10, 0, 0) |
| | self.assertFalse(Drillable.compareVecs(v1, v2)) |
| |
|
| | def test10(self): |
| | """Test isDrillable""" |
| |
|
| | |
| | candidate = self.obj.getSubObject("Vertex1") |
| | self.assertRaises(TypeError, lambda: Drillable.isDrillable(self.obj.Shape, candidate)) |
| |
|
| | |
| |
|
| | |
| | candidate = self.obj.getSubObject("Face30") |
| |
|
| | |
| | self.assertTrue(Drillable.isDrillable(self.obj.Shape, candidate)) |
| |
|
| | |
| | self.assertTrue(Drillable.isDrillable(self.obj.Shape, candidate, tooldiameter=20)) |
| |
|
| | |
| | self.assertFalse(Drillable.isDrillable(self.obj.Shape, candidate, tooldiameter=30)) |
| |
|
| | |
| | candidate = self.obj.getSubObject("Face44") |
| |
|
| | |
| | self.assertFalse(Drillable.isDrillable(self.obj.Shape, candidate)) |
| |
|
| | |
| | self.assertTrue(Drillable.isDrillable(self.obj.Shape, candidate, vector=None)) |
| |
|
| | |
| | self.assertTrue( |
| | Drillable.isDrillable(self.obj.Shape, candidate, vector=App.Vector(0, -1, 0)) |
| | ) |
| |
|
| | |
| | self.assertTrue( |
| | Drillable.isDrillable( |
| | self.obj.Shape, candidate, tooldiameter=10, vector=App.Vector(0, -1, 0) |
| | ) |
| | ) |
| |
|
| | |
| | self.assertFalse( |
| | Drillable.isDrillable( |
| | self.obj.Shape, candidate, tooldiameter=30, vector=App.Vector(0, -1, 0) |
| | ) |
| | ) |
| |
|
| | |
| | candidate = self.obj.getSubObject("Face29") |
| |
|
| | |
| | self.assertFalse(Drillable.isDrillable(self.obj.Shape, candidate)) |
| |
|
| | |
| | self.assertFalse(Drillable.isDrillable(self.obj.Shape, candidate, vector=None)) |
| |
|
| | |
| | candidate = self.obj.getSubObject("Face32") |
| |
|
| | |
| | self.assertFalse(Drillable.isDrillable(self.obj.Shape, candidate)) |
| |
|
| | |
| | self.assertFalse(Drillable.isDrillable(self.obj.Shape, candidate, vector=None)) |
| |
|
| | |
| | candidate = self.obj.getSubObject("Face24") |
| | |
| | self.assertTrue(Drillable.isDrillable(self.obj.Shape, candidate)) |
| |
|
| | |
| | self.assertTrue(Drillable.isDrillable(self.obj.Shape, candidate, vector=None)) |
| |
|
| | |
| | candidate = self.obj.getSubObject("Face54") |
| |
|
| | |
| | self.assertTrue(Drillable.isDrillable(self.obj.Shape, candidate)) |
| |
|
| | |
| | self.assertTrue(Drillable.isDrillable(self.obj.Shape, candidate, vector=None)) |
| |
|
| | |
| | self.assertTrue( |
| | Drillable.isDrillable(self.obj.Shape, candidate, vector=App.Vector(0, 0, 1)) |
| | ) |
| |
|
| | |
| | self.assertTrue(Drillable.isDrillable(self.obj.Shape, candidate, tooldiameter=10)) |
| |
|
| | |
| | self.assertFalse(Drillable.isDrillable(self.obj.Shape, candidate, tooldiameter=30)) |
| |
|
| | |
| | candidate = self.obj.getSubObject("Face58") |
| |
|
| | |
| | self.assertFalse(Drillable.isDrillable(self.obj.Shape, candidate)) |
| |
|
| | |
| | self.assertTrue(Drillable.isDrillable(self.obj.Shape, candidate, vector=None)) |
| |
|
| | |
| | self.assertTrue( |
| | Drillable.isDrillable(self.obj.Shape, candidate, vector=App.Vector(0, -1, 0)) |
| | ) |
| |
|
| | |
| | candidate = self.obj.getSubObject("Face49") |
| | |
| | self.assertTrue(Drillable.isDrillable(self.obj.Shape, candidate)) |
| |
|
| | |
| | self.assertTrue(Drillable.isDrillable(self.obj.Shape, candidate, vector=None)) |
| |
|
| | |
| | candidate = self.obj.getSubObject("Face50") |
| | |
| | self.assertFalse(Drillable.isDrillable(self.obj.Shape, candidate)) |
| |
|
| | |
| | self.assertFalse(Drillable.isDrillable(self.obj.Shape, candidate, vector=None)) |
| |
|
| | |
| | candidate = self.obj.getSubObject("Face48") |
| | |
| | self.assertTrue(Drillable.isDrillable(self.obj.Shape, candidate)) |
| |
|
| | |
| | self.assertTrue(Drillable.isDrillable(self.obj.Shape, candidate, vector=None)) |
| |
|
| | |
| | |
| | candidate = self.obj.getSubObject("Edge55") |
| |
|
| | |
| | self.assertTrue(Drillable.isDrillable(self.obj.Shape, candidate)) |
| |
|
| | |
| | self.assertTrue(Drillable.isDrillable(self.obj.Shape, candidate, vector=None)) |
| |
|
| | |
| | self.assertTrue( |
| | Drillable.isDrillable(self.obj.Shape, candidate, vector=App.Vector(0, 0, 1)) |
| | ) |
| |
|
| | |
| | self.assertTrue(Drillable.isDrillable(self.obj.Shape, candidate, tooldiameter=10)) |
| |
|
| | |
| | self.assertFalse( |
| | Drillable.isDrillable(self.obj.Shape, candidate, tooldiameter=30, vector=None) |
| | ) |
| |
|
| | |
| | candidate = self.obj.getSubObject("Edge74") |
| |
|
| | |
| | self.assertFalse(Drillable.isDrillable(self.obj.Shape, candidate)) |
| |
|
| | |
| | self.assertTrue(Drillable.isDrillable(self.obj.Shape, candidate, vector=None)) |
| |
|
| | |
| | self.assertTrue( |
| | Drillable.isDrillable(self.obj.Shape, candidate, vector=App.Vector(0, 1, 0)) |
| | ) |
| |
|
| | |
| | candidate = self.obj.getSubObject("Edge39") |
| | |
| | self.assertFalse(Drillable.isDrillable(self.obj.Shape, candidate)) |
| |
|
| | |
| | self.assertFalse(Drillable.isDrillable(self.obj.Shape, candidate, vector=None)) |
| |
|
| | |
| | candidate = self.obj.getSubObject("Edge56") |
| | |
| | self.assertFalse(Drillable.isDrillable(self.obj.Shape, candidate)) |
| |
|
| | |
| | self.assertFalse(Drillable.isDrillable(self.obj.Shape, candidate, vector=None)) |
| |
|
| | def test20(self): |
| | """Test getDrillableTargets""" |
| | results = Drillable.getDrillableTargets(self.obj) |
| | self.assertEqual(len(results), 15) |
| |
|
| | results = Drillable.getDrillableTargets(self.obj, vector=None) |
| | self.assertEqual(len(results), 20) |
| |
|
| | results = Drillable.getDrillableTargets(self.obj, ToolDiameter=20, vector=None) |
| | self.assertEqual(len(results), 5) |
| |
|