From f0dd9a318288ecfee95e968b44711ff8fbed4170 Mon Sep 17 00:00:00 2001 From: Sebastian Hoogen Date: Fri, 13 Feb 2015 00:29:58 +0100 Subject: [PATCH] refuse to change the placement of PartDesign::Feature Objects in OpenSCAD/Explode Group command --- src/Mod/OpenSCAD/OpenSCADCommands.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Mod/OpenSCAD/OpenSCADCommands.py b/src/Mod/OpenSCAD/OpenSCADCommands.py index 4f919672d1..3adf719301 100644 --- a/src/Mod/OpenSCAD/OpenSCADCommands.py +++ b/src/Mod/OpenSCAD/OpenSCADCommands.py @@ -58,7 +58,9 @@ class ExplodeGroup: obj.isDerivedFrom('Part::Compound'): plm = obj.Placement outlist = obj.OutList[:] - if plm.isNull() or all(len(oo.InList)==1 for oo in obj.OutList): + if plm.isNull() or all((len(oo.InList)==1 and \ + not oo.isDerivedFrom('PartDesign::Feature')) \ + for oo in obj.OutList): obj.Document.removeObject(obj.Name) for oo in outlist: if not plm.isNull(): @@ -71,6 +73,9 @@ class ExplodeGroup: oo.ViewObject.DiffuseColor=randomcolor() else: oo.ViewObject.DiffuseColor=color + else: + FreeCAD.Console.PrintError(unicode(translate('OpenSCAD',\ + 'Unable to explode %s')) % obj.Name +u'\n') for obj in FreeCADGui.Selection.getSelection(): if len(obj.InList) == 0: # allowed only for for top level objects