diff --git a/EgtMachKernel.rc b/EgtMachKernel.rc index e3d9210..711d35f 100644 Binary files a/EgtMachKernel.rc and b/EgtMachKernel.rc differ diff --git a/Pocketing.cpp b/Pocketing.cpp index 72cc99c..9fc91da 100644 --- a/Pocketing.cpp +++ b/Pocketing.cpp @@ -3446,6 +3446,8 @@ Pocketing::AddSpiralIn( const ICurveComposite* pCompo, const Vector3d& vtTool, c m_pMchMgr->SetLastError( 2416, "Error in Pocketing : LeadOut not computable") ; return false ; } + if ( ! m_bAboveHead) + dEndElev = max( dEndElev, j * dStep) ; // aggiungo retrazione if ( ! AddRetract( ptP1, vtTool, dSafeZ, dSafeAggrBottZ, dEndElev, dAppr)) { m_pMchMgr->SetLastError( 2417, "Error in Pocketing : Retract not computable") ; @@ -3578,7 +3580,7 @@ Pocketing::AddSpiralOut( const ICurveComposite* pCompo, const Vector3d& vtTool, dStElev = dStep ; bool bUnderRaw = m_bAboveHead && ! m_bAggrBottom && GetPointUnderRaw( ptP1, vtTool, 0, GetRadiusForStartEndElevation(), m_TParams.m_dLen, false, dSafeZ, vtTool, dStElev) ; - if ( bUnderRaw) + if ( bUnderRaw || ( bOutStart && ! m_bAboveHead)) dStElev = max( dStElev, dStep) ; dStElev -= ( ptP1 - ptStart) * vtExtr ; // se attacco a zigzag o a spirale o a scivolo, l'elevazione va nell'attacco @@ -3670,6 +3672,8 @@ Pocketing::AddSpiralOut( const ICurveComposite* pCompo, const Vector3d& vtTool, m_pMchMgr->SetLastError( 2416, "Error in Pocketing : LeadOut not computable") ; return false ; } + if ( ! m_bAboveHead) + dEndElev = max( dEndElev, j * dStep) ; // aggiungo retrazione if ( ! AddRetract( ptQ, vtTool, dSafeZ, dSafeAggrBottZ, dEndElev, dAppr)) { m_pMchMgr->SetLastError( 2417, "Error in Pocketing : Retract not computable") ;