From 12f990f0912fde0db0be8543557f5700f1db9777 Mon Sep 17 00:00:00 2001 From: azv Date: Mon, 29 Feb 2016 13:18:47 +0300 Subject: [PATCH] Update all arc attributes on execute() (issue #1339) --- src/SketchPlugin/SketchPlugin_Arc.cpp | 3 +++ src/SketchPlugin/SketchPlugin_ConstraintFillet.cpp | 4 ++-- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/src/SketchPlugin/SketchPlugin_Arc.cpp b/src/SketchPlugin/SketchPlugin_Arc.cpp index 2c55b1ddf..c2b9e4ea7 100644 --- a/src/SketchPlugin/SketchPlugin_Arc.cpp +++ b/src/SketchPlugin/SketchPlugin_Arc.cpp @@ -200,6 +200,9 @@ void SketchPlugin_Arc::execute() setResult(aConstr2, 1); } + // update radius and angle + updateDependentAttributes(); + AttributeRefAttrPtr aTangentPoint = std::dynamic_pointer_cast( attribute(TANGENT_POINT_ID())); if (!hasResult && aTangentPoint->attr()) diff --git a/src/SketchPlugin/SketchPlugin_ConstraintFillet.cpp b/src/SketchPlugin/SketchPlugin_ConstraintFillet.cpp index 0576e0654..41bb895b9 100644 --- a/src/SketchPlugin/SketchPlugin_ConstraintFillet.cpp +++ b/src/SketchPlugin/SketchPlugin_ConstraintFillet.cpp @@ -313,7 +313,7 @@ void SketchPlugin_ConstraintFillet::execute() aResultEdgeB->execute(); // update fillet arc: make the arc correct for sure, so, it is not needed to process the "attribute updated" // by arc; moreover, it may cause cyclicity in hte mechanism of updater - //aResultArc->data()->blockSendAttributeUpdated(true); + aResultArc->data()->blockSendAttributeUpdated(true); std::dynamic_pointer_cast( aResultArc->attribute(SketchPlugin_Arc::CENTER_ID()))->setValue(aCenter->x(), aCenter->y()); if(isReversed) { @@ -332,7 +332,7 @@ void SketchPlugin_ConstraintFillet::execute() } aStartPoint->setValue(aTangentPntA->x(), aTangentPntA->y()); aEndPoint->setValue(aTangentPntB->x(), aTangentPntB->y()); - //aResultArc->data()->blockSendAttributeUpdated(false); + aResultArc->data()->blockSendAttributeUpdated(false); aResultArc->execute(); if(anIsNeedNewObjects) { -- 2.39.2