From 6fe030d3d8d912733816cc436430c347935ce583 Mon Sep 17 00:00:00 2001 From: DarioS Date: Tue, 1 Sep 2026 13:19:37 +0200 Subject: [PATCH] EgtMachKernel : - piccola modifica in SawFinishing Along5a per step iniziale su angoli esterni (guidato da Riccardo). --- SawFinishing.cpp | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/SawFinishing.cpp b/SawFinishing.cpp index a10c69b..a5f4ebc 100644 --- a/SawFinishing.cpp +++ b/SawFinishing.cpp @@ -3928,8 +3928,13 @@ SawFinishing::CalcStepsFor5AxSections( SECTIONVECTOR& vSections) const // --- Inizio // Se angolo esterno all'inizio - if ( vAngleParams[i].second == EXTERNAL) - pCompo->ExtendStartByLen( max( SAW_EXTERNAL_ANGLE_LEN_TOL, m_TParams.m_dThick / 2. - m_Params.m_dSideStep)) ; + if ( vAngleParams[i].second == EXTERNAL) { + double dDelta = max( m_TParams.m_dThick / 2. - m_Params.m_dSideStep, SAW_EXTERNAL_ANGLE_LEN_TOL - m_TParams.m_dThick) ; + if ( dDelta > 0) + pCompo->ExtendStartByLen( dDelta) ; + else + pCompo->TrimStartAtLen( -dDelta) ; + } // Se angolo interno all'inizio else { // Mediante la bisezione verifico se esiste collisione @@ -3943,6 +3948,7 @@ SawFinishing::CalcStepsFor5AxSections( SECTIONVECTOR& vSections) const // --- Fine // Se angolo esterno alla fine if ( vAngleParams[i+1].second == EXTERNAL) { + // non faccio l'extend perchè spessore lama sempre maggiore del doppio di SAW_EXTERNAL_ANGLE_LEN_TOL = 0.5 double dLen ; pCompo->GetLength( dLen) ; pCompo->TrimEndAtLen( max( 0., dLen - m_TParams.m_dThick / 2. + SAW_EXTERNAL_ANGLE_LEN_TOL)) ; }