diff --git a/src/Mod/Part/CMakeLists.txt b/src/Mod/Part/CMakeLists.txt index 6fa26eda2b..17cfd699a8 100644 --- a/src/Mod/Part/CMakeLists.txt +++ b/src/Mod/Part/CMakeLists.txt @@ -64,6 +64,7 @@ set(CompoundTools_Scripts set(Part_tests parttests/__init__.py + parttests/BRep_tests.py parttests/Geom2d_tests.py parttests/part_test_objects.py parttests/regression_tests.py diff --git a/src/Mod/Part/TestPartApp.py b/src/Mod/Part/TestPartApp.py index 0dedc5a1da..968864dc83 100644 --- a/src/Mod/Part/TestPartApp.py +++ b/src/Mod/Part/TestPartApp.py @@ -27,6 +27,7 @@ from FreeCAD import Units from FreeCAD import Base App = FreeCAD +from parttests.BRep_tests import BRepTests from parttests.Geom2d_tests import Geom2dTests from parttests.regression_tests import RegressionTests from parttests.TopoShapeListTest import TopoShapeListTest diff --git a/src/Mod/Part/parttests/BRep_tests.py b/src/Mod/Part/parttests/BRep_tests.py new file mode 100644 index 0000000000..20dcd90469 --- /dev/null +++ b/src/Mod/Part/parttests/BRep_tests.py @@ -0,0 +1,26 @@ +import FreeCAD as App +import Part + +import unittest + +class BRepTests(unittest.TestCase): + + def testProject(self): + """ + This is a unit test for PR #13507 + """ + num = 18 + alt = [0,1] * num + pts = [App.Vector(i, alt[i], 0) for i in range(num)] + + bsc = Part.BSplineCurve() + bsc.buildFromPoles(pts, False, 1) + edge = bsc.toShape() + + rts = Part.RectangularTrimmedSurface(Part.Plane(), -50, 50, -50, 50) + plane_shape = rts.toShape() + + proj = plane_shape.project([edge]) + self.assertFalse(proj.isNull()) + self.assertEqual(len(proj.Edges), 1) +