From 0408aa4a60ede11129c3921c73f40082c3ea2d78 Mon Sep 17 00:00:00 2001 From: Yorik van Havre Date: Wed, 28 Dec 2016 14:30:38 -0200 Subject: [PATCH] Draft: Fixed bug in wire offsets --- src/Mod/Draft/Draft.py | 9 +++++++-- src/Mod/Draft/DraftGeomUtils.py | 2 ++ 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/Mod/Draft/Draft.py b/src/Mod/Draft/Draft.py index e6daf48eb..0f75b108a 100644 --- a/src/Mod/Draft/Draft.py +++ b/src/Mod/Draft/Draft.py @@ -1512,6 +1512,7 @@ def offset(obj,delta,copy=False,bind=False,sym=False,occ=False): else: return nr * math.cos(math.pi/obj.FacesNumber) + newwire = None if getType(obj) == "Circle": pass elif getType(obj) == "BSpline": @@ -1566,8 +1567,12 @@ def offset(obj,delta,copy=False,bind=False,sym=False,occ=False): newobj = None if sym: return None if getType(obj) == "Wire": - newobj = makeWire(p) - newobj.Closed = obj.Closed + if p: + newobj = makeWire(p) + newobj.Closed = obj.Closed + elif newwire: + newobj = FreeCAD.ActiveDocument.addObject("Part::Feature","Offset") + newobj.Shape = newwire elif getType(obj) == "Rectangle": length,height,plac = getRect(p,obj) newobj = makeRectangle(length,height,plac) diff --git a/src/Mod/Draft/DraftGeomUtils.py b/src/Mod/Draft/DraftGeomUtils.py index 054974f62..d6b04f4c1 100755 --- a/src/Mod/Draft/DraftGeomUtils.py +++ b/src/Mod/Draft/DraftGeomUtils.py @@ -1674,6 +1674,8 @@ def fillet(lEdges,r,chamfer=False): existingCurveType = { 'Line' : [], 'Arc' : [] } if issubclass(type(edge.Curve),Part.LineSegment) : existingCurveType['Line'] += [edge] + elif issubclass(type(edge.Curve),Part.Line) : + existingCurveType['Line'] += [edge] elif issubclass(type(edge.Curve),Part.Circle) : existingCurveType['Arc'] += [edge] else :