+ if (isEqualPoints(myConstraint, aPnt1, aPnt2)) {
+ // adjust points to draw the dimension presentation
+ std::shared_ptr<GeomDataAPI_Dir> aDirAttr = std::dynamic_pointer_cast<GeomDataAPI_Dir>(
+ myConstraint->attribute(SketchPlugin_ConstraintDistance::DIRECTION_ID()));
+ double x = 0.0, y = 0.0;
+ if (aDirAttr && aDirAttr->isInitialized()) {
+ x = aDirAttr->x();
+ y = aDirAttr->y();
+ if (x == 0.0 && y == 0.0)
+ x = 1.0;
+ }
+ else if (myConstraint->getKind() == SketchPlugin_ConstraintDistanceVertical::ID())
+ y = 1.0;
+ else
+ x = 1.0;
+ GeomPointPtr aCoord = plane()->to3D(x, y);
+
+ gp_XYZ aDir(aCoord->x(), aCoord->y(), aCoord->z());
+ aPnt1.ChangeCoord().Add(aDir * (-Precision::Confusion()));
+ aPnt2.ChangeCoord().Add(aDir * Precision::Confusion());
+ }
+