From 8e4dd8ca8496595d4718dc24c872f7ed668b2521 Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Fri, 15 Jun 2018 12:36:25 -0300 Subject: [PATCH] Arch: Fixed bug in removing objects from section planes --- src/Mod/Arch/ArchCommands.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/Mod/Arch/ArchCommands.py b/src/Mod/Arch/ArchCommands.py index 002628eb26..6ccfdef8dd 100644 --- a/src/Mod/Arch/ArchCommands.py +++ b/src/Mod/Arch/ArchCommands.py @@ -183,6 +183,12 @@ def removeComponents(objectsList,host=None): if not Draft.getType(o) in ["Window","Roof"]: setAsSubcomponent(o) host.Subtractions = s + elif Draft.getType(host) in ["SectionPlane"]: + a = host.Objects + for o in objectsList: + if o in a: + a.remove(o) + host.Objects = a else: for o in objectsList: if o.InList: @@ -1319,7 +1325,7 @@ class _CommandRemove: FreeCADGui.doCommand("Arch.removeSpaceBoundaries( FreeCAD.ActiveDocument."+sel[-1].Name+", FreeCADGui.Selection.getSelection() )") else: FreeCAD.ActiveDocument.openTransaction(translate("Arch","Ungrouping")) - if (Draft.getType(sel[-1]) in ["Wall","Structure","Stairs","Roof","Window","Panel"]) and (len(sel) > 1): + if len(sel) > 1: host = sel.pop() ss = "[" for o in sel: @@ -1331,7 +1337,7 @@ class _CommandRemove: FreeCADGui.doCommand("Arch.removeComponents("+ss+",FreeCAD.ActiveDocument."+host.Name+")") else: FreeCADGui.addModule("Arch") - FreeCADGui.doCommand("Arch.removeComponents(FreeCAD.ActiveDocument."+sel[-1].Name+")") + FreeCADGui.doCommand("Arch.removeComponents(FreeCAD.ActiveDocument."+sel[0].Name+")") FreeCAD.ActiveDocument.commitTransaction() FreeCAD.ActiveDocument.recompute()