From 8a574f5a5182eaed97b2628e82255dcbf3f9d3a4 Mon Sep 17 00:00:00 2001 From: 0penBrain <48731257+0penBrain@users.noreply.github.com> Date: Thu, 17 Nov 2022 13:55:38 +0100 Subject: [PATCH] Sketcher: Clone: do not apply parallel constraint if angle constraint is applied on arc --- src/Mod/Sketcher/App/SketchObject.cpp | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/src/Mod/Sketcher/App/SketchObject.cpp b/src/Mod/Sketcher/App/SketchObject.cpp index 0f7ccfd7c1..4d77fb44a5 100644 --- a/src/Mod/Sketcher/App/SketchObject.cpp +++ b/src/Mod/Sketcher/App/SketchObject.cpp @@ -4302,13 +4302,15 @@ int SketchObject::addCopy(const std::vector &geoIdList, const Base::Vector3 constNew->Second = fit->second; // first is already (*it->First) newconstrVals.push_back(constNew); } - else if ((*it)->Type == Sketcher::Angle && clone){ - // Angles on a single Element are mapped to parallel constraints in clone mode - Constraint *constNew = (*it)->copy(); - constNew->Type = Sketcher::Parallel; - constNew->isDriving = true; - constNew->Second = fit->second; // first is already (*it->First) - newconstrVals.push_back(constNew); + else if ((*it)->Type == Sketcher::Angle && clone) { + if (getGeometry((*it)->First)->getTypeId() == Part::GeomLineSegment::getClassTypeId()) { + // Angles on a single Element are mapped to parallel constraints in clone mode + Constraint *constNew = (*it)->copy(); + constNew->Type = Sketcher::Parallel; + constNew->isDriving = true; + constNew->Second = fit->second; // first is already (*it->First) + newconstrVals.push_back(constNew); + } } else { Constraint *constNew = (*it)->copy();