From b170e87801c3ccb038a82e004bd6cbe2fd9bb75c 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 89b2298d7a..2a3c5b5c1c 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)