From 3e5f3a9a5725b82747ec4df54de8d9de2859dcb2 Mon Sep 17 00:00:00 2001 From: Ajinkya Dahale Date: Tue, 28 Feb 2023 21:53:16 +0530 Subject: [PATCH] [Sketcher] Constrain first pole weight in `exposeInternalGeometry` This commit is part of a project funded by the Open Toolchain Foundation under the title "Open Toolchain Foundation - Curve drawing tool in Sketcher Workbench" --- src/Mod/Sketcher/App/SketchObject.cpp | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/Mod/Sketcher/App/SketchObject.cpp b/src/Mod/Sketcher/App/SketchObject.cpp index 3a8f335831..6d033f4fac 100644 --- a/src/Mod/Sketcher/App/SketchObject.cpp +++ b/src/Mod/Sketcher/App/SketchObject.cpp @@ -5349,6 +5349,17 @@ int SketchObject::exposeInternalGeometry(int GeoId) } else { controlpointgeoids[0] = currentgeoid+incrgeo+1; + if (weights[0] == 1.0) { + // if the first weight is 1.0 it's probably going to be non-rational + Sketcher::Constraint *newConstr3 = new Sketcher::Constraint(); + newConstr3->Type = Sketcher::Weight; + newConstr3->First = controlpointgeoids[0]; + newConstr3->setValue(weights[0]); + + icon.push_back(newConstr3); + + isfirstweightconstrained = true; + } } incrgeo++; }