- if (theID == EXTERNAL_FEATURE_ID())
- selection(EXTERNAL_ID())->setValue(aExtFeature->context(), aExtFeature->context()->shape());
+ if (!hasPrevProj) {
+ FeaturePtr aFixed = sketch()->addFeature(SketchPlugin_ConstraintRigid::ID());
+ aFixed->refattr(SketchPlugin_Constraint::ENTITY_A())->setObject(aProjection->lastResult());
+ aFixed->execute();
+ }
+
+ if (theID == EXTERNAL_FEATURE_ID()) {
+ selection(EXTERNAL_ID())->setValue(aExtFeature->context(), aExtFeature->value());
+
+ if (aResult) {
+ aResult->setShape(aProjection->lastResult()->shape());
+ setResult(aResult);
+ aProjection->selection(EXTERNAL_ID())->setValue(lastResult(), lastResult()->shape());
+ }
+ }