diff --git a/Milling.cpp b/Milling.cpp index 866cac5..9ab179d 100644 --- a/Milling.cpp +++ b/Milling.cpp @@ -5017,7 +5017,8 @@ Milling::GetPointOutOfRaw( const Point3d& ptP, const Vector3d& vtTool, double dE double dTemp ; Vector3d vtMove = ( m_bAboveHead ? Z_AX : -Z_AX) ; Vector3d vtSafe = vtTool ; vtSafe.z = 0 ; vtSafe.Normalize() ; - Point3d ptQ = ptP - vtSafe * 0.5 * dSafeZ ; + const double MIN_SAFEDIST = 5.0 ; + Point3d ptQ = ptP - vtSafe * max( 0.2 * dSafeZ, MIN_SAFEDIST) ; if ( ! GetElevation( m_nPhase, ptQ, vtTool, 0.5 * m_TParams.m_dDiam, vtMove, dTemp) || dTemp > 10 * EPS_SMALL) return false ; Point3d ptR = ptP + vtTool * m_TParams.m_dThick ;