From 9ae96083d37d0952307fda2ad3cc3764d3ff793c Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Fri, 15 Jun 2012 18:20:52 -0300 Subject: [PATCH] Draft: Small fix to wire object --- src/Mod/Draft/Draft.py | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/src/Mod/Draft/Draft.py b/src/Mod/Draft/Draft.py index 4fd8258fb..9f2eef25d 100644 --- a/src/Mod/Draft/Draft.py +++ b/src/Mod/Draft/Draft.py @@ -2416,16 +2416,17 @@ class _Wire: for v in shape.Vertexes: p.append(v.Point) if fp.Points != p: fp.Points = p elif fp.Base and fp.Tool: - if ('Shape' in fp.Base.PropertiesList) and ('Shape' in fp.Tool.PropertiesList): - sh1 = fp.Base.Shape.copy() - sh2 = fp.Tool.Shape.copy() - shape = sh1.fuse(sh2) - if DraftGeomUtils.isCoplanar(shape.Faces): - shape = DraftGeomUtils.concatenate(shape) - fp.Shape = shape - p = [] - for v in shape.Vertexes: p.append(v.Point) - if fp.Points != p: fp.Points = p + if fp.Base.isDerivedFrom("Part::Feature") and fp.Tool.isDerivedFrom("Part::Feature"): + if (not fp.Base.Shape.isNull()) and (not fp.Tool.Shape.isNull()): + sh1 = fp.Base.Shape.copy() + sh2 = fp.Tool.Shape.copy() + shape = sh1.fuse(sh2) + if DraftGeomUtils.isCoplanar(shape.Faces): + shape = DraftGeomUtils.concatenate(shape) + fp.Shape = shape + p = [] + for v in shape.Vertexes: p.append(v.Point) + if fp.Points != p: fp.Points = p elif fp.Points: if fp.Points[0] == fp.Points[-1]: if not fp.Closed: fp.Closed = True