From d59babb2c26bcfa8df5029e7b75a3a1d89ba4ece Mon Sep 17 00:00:00 2001 From: yorikvanhavre Date: Sat, 10 Dec 2011 23:25:11 +0000 Subject: [PATCH] + fixed bug in Arch Cells git-svn-id: https://free-cad.svn.sourceforge.net/svnroot/free-cad/trunk@5266 e8eeb9e2-ec13-0410-a4a9-efa5cf37419d --- src/Mod/Arch/Cell.py | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/src/Mod/Arch/Cell.py b/src/Mod/Arch/Cell.py index 5dac62901..40e9ab97b 100644 --- a/src/Mod/Arch/Cell.py +++ b/src/Mod/Arch/Cell.py @@ -89,12 +89,23 @@ class _Cell(Component.Component): pl = obj.Placement if obj.Components: if obj.JoinMode: - components = obj.Components[:] - f = components.pop(0) - baseShape = f.Shape - for comp in components: - if Draft.getType(comp) in ["Wall","Cell","Shape"]: - baseShape = baseShape.oldFuse(comp.Shape) + walls = [] + structs = [] + compshapes = [] + for comp in obj.Components: + if Draft.getType(comp) == "Wall": + walls.append(comp.Shape) + elif Draft.getType(comp) == "Structure": + structs.append(comp.Shape) + else: + compshapes.append(comp.Shape) + for gr in [walls,structs]: + if gr: + sh = gr.pop(0) + for csh in gr: + sh = sh.oldFuse(csh) + compshapes.append(sh) + baseShape = Part.makeCompound(compshapes) else: compshapes = [] for o in obj.Components: