From c8c07b7d7e6e22f7a32d17cfc543e4bb569b2aa0 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Wed, 29 Mar 2017 16:14:22 +0000 Subject: [PATCH] EgtMachKernel 1.8c6 : - corretta verifica collisioni per parti di testa disabilitate - modifica aggiusta Start percorso con precedente percorso. --- EgtMachKernel.rc | Bin 11774 -> 11774 bytes Operation.cpp | 16 +++++++++++----- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/EgtMachKernel.rc b/EgtMachKernel.rc index d31586c8552950ce54df9b5279f8a5b7f18b57f3..22f3368e7ba85f8a1cd026b615c800d9e1cdb497 100644 GIT binary patch delta 97 zcmewt{V#gMFE&QA&A-`fnHkL{Ka|wnoW?bQ1uSxrY4Qod0+^@}R1`^_2jk{d(jGv4 NK<#LXK~l;gTmUTDBd7oX delta 97 zcmewt{V#gMFE&Qg&A-`fnHfzdKa|wnoW?bQ1uSxrY4Qod0+^@}R1`^_2jk{d(jGv4 NK<#LXK~l;gTmUO4BcK2P diff --git a/Operation.cpp b/Operation.cpp index 78af160..64e6220 100644 --- a/Operation.cpp +++ b/Operation.cpp @@ -1144,10 +1144,16 @@ Operation::AdjustStartEndMovements( void) // imposto l'utensile precedente per i calcoli macchina if ( ! m_pMchMgr->SetCalcTool( pPrevOp->GetToolName(), pPrevOp->GetHeadName(), pPrevOp->GetExitNbr())) return false ; - // ricalcolo risalita di lavorazione precedente - pPrevOp->RemoveRise() ; - if ( ! pPrevOp->AddRise( vAxVal)) - return false ; + // ricalcolo risalita di lavorazione precedente (se già calcolata) + if ( pPrevOp->RemoveRise()) { + if ( ! pPrevOp->AddRise( vAxVal)) + return false ; + } + else { + // recupero posizione home + if ( ! m_pMchMgr->GetAllCalcAxesHomePos( vAxVal)) + return false ; + } // imposto l'utensile per i calcoli macchina if ( ! m_pMchMgr->SetCalcTool( GetToolName(), GetHeadName(), GetExitNbr())) return false ; @@ -1653,7 +1659,7 @@ Operation::TestCollisionAvoid( const DBLVECTOR& vAxStart, const DBLVECTOR& vAxEn } // Eseguo controllo BBox3d b3Head ; - m_pGeomDB->GetGlobalBBox( pMch->GetCurrHead(), b3Head) ; + m_pGeomDB->GetGlobalBBox( pMch->GetCurrHead(), b3Head, BBF_ONLY_VISIBLE) ; for ( const auto nRawId : vRawId) { BBox3d b3Raw ; int nRawSolidId = m_pGeomDB->GetFirstNameInGroup( nRawId, MACH_RAW_SOLID) ;