From 6a6a3d3bd05144e910741c88491f86bf0142acea Mon Sep 17 00:00:00 2001 From: Sebastian Hoogen Date: Wed, 25 Mar 2015 16:08:31 +0100 Subject: [PATCH] use multiFuse in Draft/Array issue #1971 --- src/Mod/Draft/Draft.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/src/Mod/Draft/Draft.py b/src/Mod/Draft/Draft.py index 89b2298d7..2a3c5b5c1 100644 --- a/src/Mod/Draft/Draft.py +++ b/src/Mod/Draft/Draft.py @@ -4785,11 +4785,8 @@ class _Array(_DraftObject): nshape = shape.copy() nshape.translate(currentzvector) base.append(nshape) - if fuse: - fshape = base.pop() - for s in base: - fshape = fshape.fuse(s) - return fshape.removeSplitter() + if fuse and len(base) > 1: + return base[0].multiFuse(base[1:]).removeSplitter() else: return Part.makeCompound(base) @@ -4811,11 +4808,8 @@ class _Array(_DraftObject): if not DraftVecUtils.isNull(axisvector): nshape.translate(FreeCAD.Vector(axisvector).multiply(i+1)) base.append(nshape) - if fuse: - fshape = base.pop() - for s in base: - fshape = fshape.fuse(s) - return fshape.removeSplitter() + if fuse and len(base) > 1: + return base[0].multiFuse(base[1:]).removeSplitter() else: return Part.makeCompound(base)