From 5133a874ad7b0ff84afaa55056d04aa7649daaed Mon Sep 17 00:00:00 2001 From: Abdullah Tahiri Date: Mon, 20 Feb 2017 00:17:50 +0100 Subject: [PATCH] Sketcher: Delete non-suported BSpline constraints on NURBS conversion --- src/Mod/Sketcher/App/SketchObject.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/Mod/Sketcher/App/SketchObject.cpp b/src/Mod/Sketcher/App/SketchObject.cpp index a8e21d709..84429f3e1 100644 --- a/src/Mod/Sketcher/App/SketchObject.cpp +++ b/src/Mod/Sketcher/App/SketchObject.cpp @@ -3806,6 +3806,21 @@ bool SketchObject::ConvertToNURBS(int GeoId) else { // normal geometry newVals[GeoId] = bspline; + + const std::vector< Sketcher::Constraint * > &cvals = Constraints.getValues(); + + std::vector< Constraint * > newcVals(cvals); + + int index = cvals.size()-1; + // delete constraints on this elements other than coincident constraints (bspline does not support them currently) + for (; index >= 0; index--) { + if (cvals[index]->Type != Sketcher::Coincident && ( cvals[index]->First == GeoId || cvals[index]->Second == GeoId || cvals[index]->Third == GeoId)) { + + newcVals.erase(newcVals.begin()+index); + + } + } + this->Constraints.setValues(newcVals); } Geometry.setValues(newVals);