From 66fceda45efb8085eeb1f372c25d49247d62cc6a Mon Sep 17 00:00:00 2001 From: PaddleStroke Date: Fri, 17 May 2024 16:41:32 +0200 Subject: [PATCH] Sketcher: Fix line to arc point distance movement problem --- src/Mod/Sketcher/Gui/ViewProviderSketch.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp index 03ecc61253..1b7d7932b3 100644 --- a/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp +++ b/src/Mod/Sketcher/Gui/ViewProviderSketch.cpp @@ -1766,7 +1766,7 @@ void ViewProviderSketch::moveConstraint(Sketcher::Constraint* Constr, int constN const Part::Geometry *geo2 = GeoList::getGeometryFromGeoId (geomlist, Constr->Second); if (isLineSegment(*geo2)) { - if (isCircleOrArc(*geo1)){ + if (isCircleOrArc(*geo1) && Constr->FirstPos == Sketcher::PointPos::none){ std::swap(geo1, geo2); // see below } else { @@ -1818,7 +1818,7 @@ void ViewProviderSketch::moveConstraint(Sketcher::Constraint* Constr, int constN p2 = lineSeg->getEndPoint(); } else if (geo->is()) { - const Part::GeomArcOfCircle* arc = static_cast(geo); + auto* arc = static_cast(geo); double radius = arc->getRadius(); Base::Vector3d center = arc->getCenter(); double startangle, endangle;