From 562e44c01d852e25a0b69b7885d0630b77bec01e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hasan=20Yavuz=20=C3=96ZDERYA?= Date: Thu, 17 Sep 2015 07:41:52 +0300 Subject: [PATCH] fail to prevent creating random workplanes --- cadquery/CQ.py | 4 ++++ tests/TestCadQuery.py | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/cadquery/CQ.py b/cadquery/CQ.py index 7504b16b..cc03f8b2 100644 --- a/cadquery/CQ.py +++ b/cadquery/CQ.py @@ -298,6 +298,10 @@ class CQ(object): For now you can work around by creating a workplane and then offsetting the center afterwards. """ + if len(self.objects) > 1: + raise ValueError("Workplane cannot be created if more than" + " 1 object is selected.") + obj = self.objects[0] def _computeXdir(normal): diff --git a/tests/TestCadQuery.py b/tests/TestCadQuery.py index 975fecae..e58b5940 100644 --- a/tests/TestCadQuery.py +++ b/tests/TestCadQuery.py @@ -442,7 +442,7 @@ class TestCadQuery(BaseTest): c = CQ( makeUnitCube()) #the cube is the context solid self.assertEqual(6,c.faces().size()) #cube has six faces - r = c.faces().workplane().circle(0.125).extrude(0.5,True) #make a boss, not updating the original + r = c.faces('>Z').workplane().circle(0.125).extrude(0.5,True) #make a boss, not updating the original self.assertEqual(8,r.faces().size()) #just the boss faces self.assertEqual(8,c.faces().size()) #original is modified too