From f80d776b79aba0579e1e599a3534f9b1f4ba1cb7 Mon Sep 17 00:00:00 2001 From: SaraP Date: Wed, 4 Jun 2025 16:34:00 +0200 Subject: [PATCH] EgtMachKernel : - piccole correzioni WaterJet. --- WaterJetting.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/WaterJetting.cpp b/WaterJetting.cpp index cfe256d..921422d 100644 --- a/WaterJetting.cpp +++ b/WaterJetting.cpp @@ -2434,7 +2434,7 @@ WaterJetting::AddStandardWj( const ICurveComposite* pCompo, const Vector3d& vtTo } } if ( ! bSlowFull) { - dAccLen = min( dFreeLen - EXTRA_ACC_LEN, ( bReduceFeed ? m_Params.m_dCornerSlowLen : INTANG_ROT_LEN)) ; + dAccLen = min( dFreeLen / 2 - EXTRA_ACC_LEN, ( bReduceFeed ? m_Params.m_dCornerSlowLen : INTANG_ROT_LEN)) ; if ( m_Params.m_dSideAngle > 0) { double dW = m_dElev * sin( m_Params.m_dSideAngle * DEGTORAD) ; double dSlowLen = dW / tan( ( 180 - abs( dAng)) / 2 * DEGTORAD) ; @@ -2458,6 +2458,8 @@ WaterJetting::AddStandardWj( const ICurveComposite* pCompo, const Vector3d& vtTo double dCoeff = j / double( ACC_PNT_NUM) ; double dU ; pCrvC->GetParamAtLength( dCoeff * dAccLen, dU) ; PtrOwner pCrvT( pCrvC->Clone()) ; + if ( abs( dUprev - dU) < EPS_SMALL) + continue ; if ( IsNull( pCrvT) || ! pCrvT->TrimStartEndAtParam( dUprev, dU)) return false ; Vector3d vtTool = ( 1 - dCoeff) * vtTp + dCoeff * vtTn ; @@ -2868,9 +2870,11 @@ WaterJetting::CalcAndSetToolCorrAuxDir( const ICurveComposite* pCompo, double dU // verifico curva if ( pCompo == nullptr) return false ; - // se utensile centrato, direzione di correzione nulla - if ( m_Params.m_nWorkSide == WJET_WS_CENTER) + // se utensile centrato, direzione di correzione nulla e direzione utensile sempre Z+ + if ( m_Params.m_nWorkSide == WJET_WS_CENTER) { + SetToolDir( Z_AX) ; return true ; + } // calcolo del versore fresa Vector3d vtTool = CalcToolDir( pCompo, dU) ; // calcolo del versore correzione