EgtMachKernel 2.7e2 :

- modifiche per gestione lavorazioni con percorsi vuoti.
This commit is contained in:
Dario Sassi
2025-05-12 09:47:18 +02:00
parent 39a03c7b93
commit 662241c8e1
25 changed files with 302 additions and 190 deletions
+16 -12
View File
@@ -100,48 +100,52 @@ MachMgr::GetPrevOperation( int nId) const
//----------------------------------------------------------------------------
int
MachMgr::GetFirstActiveOperation( void) const
MachMgr::GetFirstActiveOperation( bool bNeedMachNotEmpty) const
{
int nId = GetFirstOperation() ;
int nMode ;
while ( nId != GDB_ID_NULL &&
m_pGeomDB->GetCalcMode( nId, nMode) && nMode == GDB_MD_HIDDEN)
(( m_pGeomDB->GetCalcMode( nId, nMode) && nMode == GDB_MD_HIDDEN) ||
( bNeedMachNotEmpty && IsValidMachiningType( GetOperationType( nId)) && IsOperationEmpty( nId, NEED_ONE_TP_OK))))
nId = GetNextOperation( nId) ;
return nId ;
}
//----------------------------------------------------------------------------
int
MachMgr::GetNextActiveOperation( int nId) const
MachMgr::GetNextActiveOperation( int nId, bool bNeedMachNotEmpty) const
{
int nNextId = GetNextOperation( nId) ;
int nMode ;
while ( nNextId != GDB_ID_NULL &&
m_pGeomDB->GetCalcMode( nNextId, nMode) && nMode == GDB_MD_HIDDEN)
(( m_pGeomDB->GetCalcMode( nNextId, nMode) && nMode == GDB_MD_HIDDEN) ||
( bNeedMachNotEmpty && IsValidMachiningType( GetOperationType( nNextId)) && IsOperationEmpty( nNextId, NEED_ONE_TP_OK))))
nNextId = GetNextOperation( nNextId) ;
return nNextId ;
}
//----------------------------------------------------------------------------
int
MachMgr::GetLastActiveOperation( void) const
MachMgr::GetLastActiveOperation( bool bNeedMachNotEmpty) const
{
int nId = GetLastOperation() ;
int nMode ;
while ( nId != GDB_ID_NULL &&
m_pGeomDB->GetCalcMode( nId, nMode) && nMode == GDB_MD_HIDDEN)
(( m_pGeomDB->GetCalcMode( nId, nMode) && nMode == GDB_MD_HIDDEN) ||
( bNeedMachNotEmpty && IsValidMachiningType( GetOperationType( nId)) && IsOperationEmpty( nId, NEED_ONE_TP_OK))))
nId = GetPrevOperation( nId) ;
return nId ;
}
//----------------------------------------------------------------------------
int
MachMgr::GetPrevActiveOperation( int nId) const
MachMgr::GetPrevActiveOperation( int nId, bool bNeedMachNotEmpty) const
{
int nPrevId = GetPrevOperation( nId) ;
int nMode ;
while ( nPrevId != GDB_ID_NULL &&
m_pGeomDB->GetCalcMode( nPrevId, nMode) && nMode == GDB_MD_HIDDEN)
(( m_pGeomDB->GetCalcMode( nPrevId, nMode) && nMode == GDB_MD_HIDDEN) ||
( bNeedMachNotEmpty && IsValidMachiningType( GetOperationType( nPrevId)) && IsOperationEmpty( nPrevId, NEED_ONE_TP_OK))))
nPrevId = GetPrevOperation( nPrevId) ;
return nPrevId ;
}
@@ -263,7 +267,7 @@ MachMgr::GetOperationId( const string& sName) const
//----------------------------------------------------------------------------
bool
MachMgr::IsOperationEmpty( int nId) const
MachMgr::IsOperationEmpty( int nId, int nEmptyType) const
{
// verifiche
if ( m_pGeomDB == nullptr || m_pGeomDB->GetParentId( nId) != GetCurrOperId())
@@ -273,7 +277,7 @@ MachMgr::IsOperationEmpty( int nId) const
if ( pOpe == nullptr)
return true ;
// restituisco se vuota
return pOpe->IsEmpty() ;
return pOpe->IsEmpty( nEmptyType) ;
}
//----------------------------------------------------------------------------
@@ -1279,7 +1283,7 @@ MachMgr::GetMachiningSkippedGeometry( SELVECTOR& vIds) const
//----------------------------------------------------------------------------
bool
MachMgr::IsMachiningEmpty( void) const
MachMgr::IsMachiningEmpty( int nEmptyType) const
{
// recupero la lavorazione corrente
int nCurrMchId = GetCurrMachining() ;
@@ -1290,7 +1294,7 @@ MachMgr::IsMachiningEmpty( void) const
if ( pMch == nullptr)
return true ;
// restituisco lo stato
return pMch->IsEmpty() ;
return pMch->IsEmpty( nEmptyType) ;
}
//----------------------------------------------------------------------------