EgtMachKernel :

- aggiornato a 1007 versione DB lavorazioni per aggiunta Finitura Superficie
- aggiunta gestione portautensili per utensili di tipo TT_MILL_NOTIP con specifica :MILL_NOTIP in dichiarazione file INI
- si imposta ricalcolo anche alla cancellazione delle lavorazioni.
This commit is contained in:
Dario Sassi
2019-06-17 15:39:18 +00:00
parent c0c249f6e8
commit 226640baee
4 changed files with 45 additions and 9 deletions
+33 -3
View File
@@ -61,6 +61,38 @@ Operation::GetGeomDB( void) const
return m_pGeomDB ;
}
//----------------------------------------------------------------------------
static bool
IsActiveOperation( int nId, IGeomDB* pGDB)
{
int nMode ;
return ( pGDB != nullptr && pGDB->GetCalcMode( nId, nMode) && nMode == GDB_MD_STD) ;
}
//----------------------------------------------------------------------------
bool
Operation::Removing(int nParentId, int nNextId)
{
if ( m_pMchMgr == nullptr || m_pGeomDB == nullptr)
return false ;
// imposto da verificare operazione attiva successiva
int nActId = nNextId ;
while ( nActId != GDB_ID_NULL && ! IsActiveOperation( nActId, m_pGeomDB))
nActId = m_pGeomDB->GetNextGroup( nActId) ;
// se non trovata, imposto da verificare operazione attiva precedente
if ( nActId == GDB_ID_NULL) {
nActId = m_pGeomDB->GetPrevGroup( m_nOwnerId) ;
while ( nActId != GDB_ID_NULL && ! IsActiveOperation( nActId, m_pGeomDB))
nActId = m_pGeomDB->GetPrevGroup( nActId) ;
}
// imposto stato operazione
Operation* pOpe = GetOperation( m_pGeomDB->GetUserObj( nActId)) ;
if ( pOpe != nullptr)
pOpe->UpdateStatus( MCH_ST_TO_VERIFY) ;
return true ;
}
//----------------------------------------------------------------------------
bool
Operation::Relocate( int nOrigParentId, int nOrigNextId, int nRefId, int nSonBeforeAfter, bool bGlob)
@@ -70,9 +102,7 @@ Operation::Relocate( int nOrigParentId, int nOrigNextId, int nRefId, int nSonBef
// imposto da verificare operazione
UpdateStatus( MCH_ST_TO_VERIFY) ;
// imposto da verificare operazione attiva successiva in posizione originale
int nMode ;
while ( nOrigNextId != GDB_ID_NULL &&
m_pGeomDB->GetCalcMode( nOrigNextId, nMode) && nMode == GDB_MD_HIDDEN)
while ( nOrigNextId != GDB_ID_NULL && ! IsActiveOperation( nOrigNextId, m_pGeomDB))
nOrigNextId = m_pGeomDB->GetNextGroup( nOrigNextId) ;
Operation* pOpe = GetOperation( m_pGeomDB->GetUserObj( nOrigNextId)) ;
if ( pOpe != nullptr)