From 9cc19c0d31e5496c2f1cdc600d2b01ce8efdebd2 Mon Sep 17 00:00:00 2001 From: Dario Sassi Date: Tue, 8 May 2018 16:59:37 +0000 Subject: [PATCH] EgtMachKernel 1.9e3 : - nella verifica di collisione dei rapidi si accetta di diminuire la distanza di sicurezza del 10% di quella impostata - nelle forature si aggiunge l'elevazione nel calcolo della posizione di sicurezza, come in tutte le altre lavorazioni. --- Drilling.cpp | 10 ++++++++-- EgtMachKernel.rc | Bin 11774 -> 11774 bytes Operation.cpp | 3 ++- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/Drilling.cpp b/Drilling.cpp index 14971a4..c31df87 100644 --- a/Drilling.cpp +++ b/Drilling.cpp @@ -1338,6 +1338,9 @@ Drilling::DoStandardDrilling( const Hole& hole, SelData Id, int nPathId) bool bStartSlow = ( dStartSlowLen > EPS_SMALL) ; bool bStd = ( ( hole.dLen - dStartSlowLen - dEndSlowLen) > EPS_SMALL) ; bool bEndSlow = ( dEndSlowLen > EPS_SMALL) ; + // determino l'elevazione + double dElev = 0 ; + GetElevation( m_nPhase, hole.ptIni, hole.vtDir, dElev) ; // determino alcune caratteristiche dell'utensile double dTExtrLen = max( 0.0, m_TParams.m_dTLen - m_TParams.m_dLen) ; // imposto dati comuni @@ -1348,7 +1351,7 @@ Drilling::DoStandardDrilling( const Hole& hole, SelData Id, int nPathId) double dSafeZ = m_pMchMgr->GetCurrMachiningsMgr()->GetSafeZ() ; double dSafeAggrBottZ = m_pMchMgr->GetCurrMachiningsMgr()->GetSafeAggrBottZ() ; double dAppr = ( m_bAggrBottom ? dSafeAggrBottZ : dSafeZ) ; - Point3d ptP1 = hole.ptIni + hole.vtDir * ( dAppr + dTExtrLen) ; + Point3d ptP1 = hole.ptIni + hole.vtDir * ( dAppr + dElev + dTExtrLen) ; if ( m_bAggrBottom) { Point3d ptP0 = ptP1 + m_vtAggrBottom * ( m_dDistBottom + m_AggrBottom.dEncH + dSafeZ) ; Point3d ptP00 = ptP0 + Z_AX * ( m_AggrBottom.dEncV + m_TParams.m_dLen + dAppr + dTExtrLen) ; @@ -1464,6 +1467,9 @@ Drilling::DoPeckDrilling( const Hole& hole, SelData Id, int nPathId) bool bStartSlow = ( dStartSlowLen > EPS_SMALL) ; bool bStd = ( dStdLen > EPS_SMALL) ; bool bEndSlow = ( dEndSlowLen > EPS_SMALL) ; + // determino l'elevazione + double dElev = 0 ; + GetElevation( m_nPhase, hole.ptIni, hole.vtDir, dElev) ; // determino alcune caratteristiche dell'utensile double dTExtrLen = max( 0.0, m_TParams.m_dTLen - m_TParams.m_dLen) ; // imposto dati comuni @@ -1474,7 +1480,7 @@ Drilling::DoPeckDrilling( const Hole& hole, SelData Id, int nPathId) double dSafeZ = m_pMchMgr->GetCurrMachiningsMgr()->GetSafeZ() ; double dSafeAggrBottZ = m_pMchMgr->GetCurrMachiningsMgr()->GetSafeAggrBottZ() ; double dAppr = ( m_bAggrBottom ? dSafeAggrBottZ : dSafeZ) ; - Point3d ptP1 = hole.ptIni + hole.vtDir * ( dAppr + dTExtrLen) ; + Point3d ptP1 = hole.ptIni + hole.vtDir * ( dAppr + dElev + dTExtrLen) ; if ( m_bAggrBottom) { Point3d ptP0 = ptP1 + m_vtAggrBottom * ( m_dDistBottom + m_AggrBottom.dEncH + dSafeZ) ; Point3d ptP00 = ptP0 + Z_AX * ( m_AggrBottom.dEncV + m_TParams.m_dLen + dAppr + dTExtrLen) ; diff --git a/EgtMachKernel.rc b/EgtMachKernel.rc index 730c2a78d8b8247d460b2dd1572f4a5d30d59568..c604696686d0fdc2c8b2a7c7960f8e7be6bf2b8b 100644 GIT binary patch delta 97 zcmewt{V#gMFE&Qw&A-`fnHh~IKa|wnoW?bQ1uSxrY4Qod0+^@}R1`^_2jk{d(jGv4 NK<#LXK~l;gTmUD-Bai?9 delta 97 zcmewt{V#gMFE&P_&A-`fnHh~HKa|wnoW?bQ1uSxrY4Qod0+^@}R1`^_2jk{d(jGv4 NK<#LXK~l;gTmU8!BZvS1 diff --git a/Operation.cpp b/Operation.cpp index e8b685d..f2ba688 100644 --- a/Operation.cpp +++ b/Operation.cpp @@ -1951,7 +1951,8 @@ Operation::TestCollisionAvoid( const DBLVECTOR& vAxStart, const DBLVECTOR& vAxEn for ( const auto nFxtId : vFxtId) pMch->LinkFixtureToGroup( nFxtId, sTable) ; // distanza di sicurezza - double dSafeDist = m_pMchMgr->GetCurrMachiningsMgr()->GetSafeZ() - 100 * EPS_SMALL ; + double dSafeDist = m_pMchMgr->GetCurrMachiningsMgr()->GetSafeZ() ; + dSafeDist = max( 0.9 * dSafeDist, dSafeDist - 10.0) ; // Vado nelle posizioni da controllare const int COLL_STEP = 16 ; bool bCollide = false ;