ResultConstructionPtr aConstr = document()->createConstruction(data());
aConstr->setShape(aProjection->lastResult()->shape());
aConstr->setIsInHistory(false);
+ aConstr->setDisplayed(false);
setResult(aConstr);
aProjection->selection(EXTERNAL_ID())->setValue(lastResult(), lastResult()->shape());
std::shared_ptr<GeomAPI_Pln> aSketchPlane = sketch()->plane();
+ ResultConstructionPtr aResult =
+ std::dynamic_pointer_cast<ModelAPI_ResultConstruction>(lastResult());
+ if (aResult && aResult->shape()) {
+ aResult->setShape(std::shared_ptr<GeomAPI_Edge>());
+ aProjection->selection(EXTERNAL_ID())->setValue(lastResult(), lastResult()->shape());
+ }
+
if (anEdge->isLine()) {
std::shared_ptr<GeomAPI_Pnt> aFirst = aSketchPlane->project(anEdge->firstPoint());
std::shared_ptr<GeomAPI_Pnt> aLast = aSketchPlane->project(anEdge->lastPoint());
aFixed->execute();
}
- if (theID == EXTERNAL_FEATURE_ID())
+ if (theID == EXTERNAL_FEATURE_ID()) {
selection(EXTERNAL_ID())->setValue(aExtFeature->context(), aExtFeature->context()->shape());
+
+ if (aResult) {
+ aResult->setShape(aProjection->lastResult()->shape());
+ setResult(aResult);
+ aProjection->selection(EXTERNAL_ID())->setValue(lastResult(), lastResult()->shape());
+ }
+ }
}