From 2101161af1d97b510cf6a5ea34012b6268883256 Mon Sep 17 00:00:00 2001 From: hyOzd Date: Sun, 2 Aug 2015 14:53:41 +0300 Subject: [PATCH] clean should be called in case of `combine=False` --- cadquery/CQ.py | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/cadquery/CQ.py b/cadquery/CQ.py index 0ea6d0f..cdc765f 100644 --- a/cadquery/CQ.py +++ b/cadquery/CQ.py @@ -1890,9 +1890,11 @@ class Workplane(CQ): r = r.fuse(thisObj) if combine: - return self._combineWithBase(r, clean) + newS = self._combineWithBase(r) else: - return self.newObject([r]) + newS = self.newObject([r]) + if clean: newS = newS.clean() + return newS def extrude(self, distance, combine=True, clean=True): """ @@ -1919,9 +1921,11 @@ class Workplane(CQ): """ r = self._extrude(distance) # returns a Solid (or a compound if there were multiple) if combine: - return self._combineWithBase(r, clean) + newS = self._combineWithBase(r) else: - return self.newObject([r]) + newS = self.newObject([r]) + if clean: newS = newS.clean() + return newS def revolve(self, angleDegrees=360.0, axisStart=None, axisEnd=None, combine=True, clean=True): """ @@ -1972,11 +1976,13 @@ class Workplane(CQ): # returns a Solid (or a compound if there were multiple) r = self._revolve(angleDegrees, axisStart, axisEnd) if combine: - return self._combineWithBase(r, clean) + newS = self._combineWithBase(r) else: - return self.newObject([r]) + news = self.newObject([r]) + if clean: newS = newS.clean() + return newS - def _combineWithBase(self, obj, clean): + def _combineWithBase(self, obj): """ Combines the provided object with the base solid, if one can be found. :param obj: @@ -1989,8 +1995,6 @@ class Workplane(CQ): r = baseSolid.fuse(obj) baseSolid.wrapped = r.wrapped - if clean: r = r.clean() - return self.newObject([r]) def combine(self, clean=True):