// click on the digit of dimension constrain comes here
// with an empty shape, so we need the check
if (aFeature == anOpFeature && aShape.get() && !aShape->isNull()) {
+ // if feature has only one result and shape of result is equal to selected shape
+ // this attribute is not processed. It is a case of Sketch Point.
+ if (aFeature->results().size() == 1) {
+ ResultPtr aResult = aFeature->results().front();
+ if (aResult.get() && aResult->shape()->isEqual(aShape))
+ return aProcessed;
+ }
const TopoDS_Shape& aTDShape = aShape->impl<TopoDS_Shape>();
AttributePtr anAttribute = PartSet_Tools::findAttributeBy2dPoint(anObject, aTDShape,
mySketchMgr->activeSketch());
aFirstValue = myPreSelected;
}
// if we have selection and use it
- if (aFirstValue.get() && isValidSelectionCustom(aFirstValue)) {
+ if (aFirstValue.get() && isValidSelectionCustom(aFirstValue) &&
+ aFirstValue->shape().get()) { /// Trihedron Axis may be selected, but shape is empty
GeomShapePtr aGeomShape = aFirstValue->shape();
TopoDS_Shape aShape = aGeomShape->impl<TopoDS_Shape>();
ObjectPtr aObject = aFirstValue->object();