Arch: Fixed bug in removing objects from section planes

This commit is contained in:
Yorik van Havre
2018-06-15 12:36:25 -03:00
parent 5efe63c06a
commit 88afb9e7b9

View File

@@ -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()