From 8d7622b4a91d22b78d9839228b219867a60be4e2 Mon Sep 17 00:00:00 2001 From: Abdullah Tahiri Date: Fri, 11 May 2018 11:06:50 +0200 Subject: [PATCH] Sketcher: error message when trying to increase the degree of not-a-bspline fixes #3471 --- .../Sketcher/Gui/CommandSketcherBSpline.cpp | 33 ++++++++++++++----- 1 file changed, 24 insertions(+), 9 deletions(-) diff --git a/src/Mod/Sketcher/Gui/CommandSketcherBSpline.cpp b/src/Mod/Sketcher/Gui/CommandSketcherBSpline.cpp index b59f11b743..763d9905ce 100644 --- a/src/Mod/Sketcher/Gui/CommandSketcherBSpline.cpp +++ b/src/Mod/Sketcher/Gui/CommandSketcherBSpline.cpp @@ -452,6 +452,8 @@ void CmdSketcherIncreaseDegree::activated(int iMsg) Sketcher::SketchObject* Obj = static_cast(selection[0].getObject()); openCommand("Increase degree"); + + bool ignored=false; for (unsigned int i=0; igetGeometry(GeoId); + + if (geo->getTypeId() == Part::GeomBSplineCurve::getClassTypeId()) { + + Gui::Command::doCommand( + Doc,"App.ActiveDocument.%s.increaseBSplineDegree(%d) ", + selection[0].getFeatName(),GeoId); + + // add new control points + Gui::Command::doCommand(Gui::Command::Doc, + "App.ActiveDocument.%s.exposeInternalGeometry(%d)", + selection[0].getFeatName(), + GeoId); + } + else { + ignored=true; + } } } + if(ignored) { + QMessageBox::warning(Gui::getMainWindow(), QObject::tr("Wrong selection"), + QObject::tr("At least one of the selected objects was not a B-Spline and was ignored.")); + } + commitCommand(); tryAutoRecomputeIfNotSolve(Obj);