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);