diff --git a/cadquery/selectors.py b/cadquery/selectors.py index 1065eb6b..8ead7737 100644 --- a/cadquery/selectors.py +++ b/cadquery/selectors.py @@ -526,13 +526,11 @@ class _SimpleStringSyntaxSelector(Selector): self.operatorMinMax = { '>': True, '<': False, - '+': True, - '-': False } self.operator = { '+': DirectionSelector, - '-': DirectionSelector, + '-': lambda v: DirectionSelector(-v), '#': PerpendicularDirSelector, '|': ParallelDirSelector} diff --git a/tests/TestCQSelectors.py b/tests/TestCQSelectors.py index 48b1e3a1..d557375e 100644 --- a/tests/TestCQSelectors.py +++ b/tests/TestCQSelectors.py @@ -122,6 +122,8 @@ class TestCQSelectors(BaseTest): self.assertEqual(1, c.faces("+Y").size()) self.assertEqual(1, c.faces("-Y").size()) self.assertEqual(0, c.faces("XY").size()) + self.assertEqual(c.faces("+X").val().Center(), c.faces("X").val().Center()) + self.assertNotEqual(c.faces("+X").val().Center(), c.faces("-X").val().Center()) def testParallelPlaneFaceFilter(self): c = CQ(makeUnitCube())