From fbf91fcafa8c9bf170c901719f8bae0662187bd6 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Thu, 13 Jun 2024 12:09:39 +0200 Subject: [PATCH] EgtMachKernel : - in foratura con teste con uscite multiple non si considerano gli utensili diversi da punta a forare. --- Drilling.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/Drilling.cpp b/Drilling.cpp index 1a3e77a..74fbdf8 100644 --- a/Drilling.cpp +++ b/Drilling.cpp @@ -741,8 +741,18 @@ Drilling::VerifyMultiParallelFixedDrills( void) continue ; string sToolName ; if ( m_pMchMgr->GetLoadedTool( m_TParams.m_sHead, nT + 1, sToolName) && ! sToolName.empty()) { + // verifico sia una punta a forare + int nType = TT_NONE ; + string sCurrTool ; m_pMchMgr->TdbGetCurrToolParam( TPA_NAME, sCurrTool) ; + if ( m_pMchMgr->TdbSetCurrTool( sToolName)) { + m_pMchMgr->TdbGetCurrToolParam( TPA_TYPE, nType) ; + if ( ! IsEmptyOrSpaces( sCurrTool)) + m_pMchMgr->TdbSetCurrTool( sCurrTool) ; + } + // verifico punta con direzione corretta Point3d ptExit ; Vector3d vtTool, vtAux ; - if ( m_pMchMgr->GetCurrMachine()->GetHeadExitPosDirAux(m_TParams.m_sHead, nT + 1, ptExit, vtTool, vtAux) && + if ( ( nType & TF_DRILLBIT) != 0 && + m_pMchMgr->GetCurrMachine()->GetHeadExitPosDirAux(m_TParams.m_sHead, nT + 1, ptExit, vtTool, vtAux) && AreSameVectorApprox( vtTool, vtMainTool)) return true ; } @@ -766,7 +776,7 @@ Drilling::StandardProcess( bool bRecalc, int nPvId, int nClId) for ( int i = 0 ; i < ( int)tabDrills.size() ; ++i) { // se richiesto preview if ( nPvId != GDB_ID_NULL) { - if ( ! GenerateHolePv( i, m_vId[tabDrills[i][0].nInd_id_hole], MCH_PATH, nClId)) + if ( ! GenerateHolePv( i, m_vId[tabDrills[i][0].nInd_id_hole], MCH_PATH, nPvId)) return false ; // creo la regione di ingombro del foro int nDriId = m_pGeomDB->GetFirstInGroup( m_pGeomDB->GetLastGroupInGroup( nPvId)) ;