From 5e4b64d99f5d9f6b2484749654b707934f3ef0cb Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Wed, 20 Sep 2017 11:12:11 -0300 Subject: [PATCH] Draft: Add support for App::Part in Draft Clones --- src/Mod/Draft/Draft.py | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/src/Mod/Draft/Draft.py b/src/Mod/Draft/Draft.py index 7c1ea92983..ade8cbc41b 100644 --- a/src/Mod/Draft/Draft.py +++ b/src/Mod/Draft/Draft.py @@ -5793,10 +5793,19 @@ class _Clone(_DraftObject): return objs = getGroupContents(obj.Objects) for o in objs: + sh = None if o.isDerivedFrom("Part::Feature"): - if o.Shape.isNull(): - return - sh = o.Shape.copy() + if not o.Shape.isNull(): + sh = o.Shape.copy() + elif o.isDerivedFrom("App::Part"): + shps = [] + for so in o.Group: + if so.isDerivedFrom("Part::Feature"): + if not so.Shape.isNull(): + shps.append(so.Shape) + if shps: + sh = Part.makeCompound(shps) + if sh: m = FreeCAD.Matrix() if hasattr(obj,"Scale") and not sh.isNull(): sx,sy,sz = obj.Scale