From 00cc5af5d8210150f143b2d2171bf01f742d1cdd Mon Sep 17 00:00:00 2001 From: wmayer Date: Tue, 19 Feb 2013 15:17:24 +0100 Subject: [PATCH] Fix for sweep if selected trajectory is broken --- src/Mod/Part/App/PartFeatures.cpp | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/Mod/Part/App/PartFeatures.cpp b/src/Mod/Part/App/PartFeatures.cpp index 61a18aec03..5cf9e98393 100644 --- a/src/Mod/Part/App/PartFeatures.cpp +++ b/src/Mod/Part/App/PartFeatures.cpp @@ -259,12 +259,16 @@ App::DocumentObjectExecReturn *Sweep::execute(void) path = mkWire.Wire(); } catch (Standard_Failure) { - if (shape._Shape.ShapeType() == TopAbs_EDGE) + if (shape._Shape.ShapeType() == TopAbs_EDGE) { path = shape._Shape; - else if (shape._Shape.ShapeType() == TopAbs_WIRE) - path = shape._Shape; - else + } + else if (shape._Shape.ShapeType() == TopAbs_WIRE) { + BRepBuilderAPI_MakeWire mkWire(TopoDS::Wire(shape._Shape)); + path = mkWire.Wire(); + } + else { return new App::DocumentObjectExecReturn("Spine is neither an edge nor a wire."); + } } }