EgtMachKernel 1.6n3 :

- prima versione della gestione delle fasi di lavorazione.
This commit is contained in:
Dario Sassi
2016-02-11 10:20:54 +00:00
parent 63f3492566
commit a8c34397be
30 changed files with 488 additions and 133 deletions
+27 -17
View File
@@ -371,18 +371,27 @@ MachMgr::AddDisposition( const string& sName)
string sNewName = sName ;
if ( ! GetOperationNewName( sNewName))
return GDB_ID_NULL ;
// eseguo
return AddDisposition( sNewName, nOperGrpId, m_nCurrPhase) ;
}
//----------------------------------------------------------------------------
int
MachMgr::AddDisposition( const string& sName, int nOperGrpId, int nPhase)
{
// inserisco il gruppo
int nId = m_pGeomDB->AddGroup( GDB_ID_NULL, nOperGrpId, GLOB_FRM) ;
if ( nId == GDB_ID_NULL)
return GDB_ID_NULL ;
// assegno il nome
m_pGeomDB->SetName( nId, sNewName) ;
m_pGeomDB->SetName( nId, sName) ;
// installo il gestore della disposizione
Disposition* pDisp = new(nothrow) Disposition ;
if ( pDisp == nullptr)
return GDB_ID_NULL ;
m_pGeomDB->SetUserObj( nId, pDisp) ;
pDisp->Init( this) ;
pDisp->SetPhase( nPhase) ;
return nId ;
}
@@ -400,7 +409,7 @@ MachMgr::SetCurrMachining( int nId)
if ( m_pGeomDB->GetParentId( nId) != nOperGrpId)
return false ;
// verifico che questo gruppo sia realmente una lavorazione
Machining* pMch = dynamic_cast<Machining*>( m_pGeomDB->GetUserObj( nId)) ;
Machining* pMch = GetMachining( m_pGeomDB->GetUserObj( nId)) ;
if ( pMch == nullptr)
return false ;
// gli imposto il manager generale delle lavorazioni
@@ -472,7 +481,8 @@ MachMgr::AddMachining( const string& sName, const std::string& sMachining)
case MT_MILLING : pMch = new( nothrow) Milling ; break ;
}
m_pGeomDB->SetUserObj( nId, pMch) ;
if ( pMch == nullptr || ! pMch->Init( this) || ! pMch->Prepare( sMachining)) {
if ( pMch == nullptr || ! pMch->Init( this) ||
! pMch->SetPhase( m_nCurrPhase) || ! pMch->Prepare( sMachining)) {
string sOut = "AddMachining error : " + sMachining + " on " + sName ;
LOG_INFO( GetEMkLogger(), sOut.c_str())
m_pGeomDB->Erase( nId) ;
@@ -492,7 +502,7 @@ MachMgr::SetMachiningParam( int nType, bool bVal)
if ( nCurrMchId == GDB_ID_NULL)
return false ;
// ne recupero il gestore
Machining* pMch = dynamic_cast<Machining*>( m_pGeomDB->GetUserObj( nCurrMchId)) ;
Machining* pMch = GetMachining( m_pGeomDB->GetUserObj( nCurrMchId)) ;
if ( pMch == nullptr)
return false ;
// imposto il parametro
@@ -508,7 +518,7 @@ MachMgr::SetMachiningParam( int nType, int nVal)
if ( nCurrMchId == GDB_ID_NULL)
return false ;
// ne recupero il gestore
Machining* pMch = dynamic_cast<Machining*>( m_pGeomDB->GetUserObj( nCurrMchId)) ;
Machining* pMch = GetMachining( m_pGeomDB->GetUserObj( nCurrMchId)) ;
if ( pMch == nullptr)
return false ;
// imposto il parametro
@@ -524,7 +534,7 @@ MachMgr::SetMachiningParam( int nType, double dVal)
if ( nCurrMchId == GDB_ID_NULL)
return false ;
// ne recupero il gestore
Machining* pMch = dynamic_cast<Machining*>( m_pGeomDB->GetUserObj( nCurrMchId)) ;
Machining* pMch = GetMachining( m_pGeomDB->GetUserObj( nCurrMchId)) ;
if ( pMch == nullptr)
return false ;
// imposto il parametro
@@ -540,7 +550,7 @@ MachMgr::SetMachiningParam( int nType, const string& sVal)
if ( nCurrMchId == GDB_ID_NULL)
return false ;
// ne recupero il gestore
Machining* pMch = dynamic_cast<Machining*>( m_pGeomDB->GetUserObj( nCurrMchId)) ;
Machining* pMch = GetMachining( m_pGeomDB->GetUserObj( nCurrMchId)) ;
if ( pMch == nullptr)
return false ;
// imposto il parametro
@@ -556,7 +566,7 @@ MachMgr::SetMachiningGeometry( const SELVECTOR& vIds)
if ( nCurrMchId == GDB_ID_NULL)
return false ;
// ne recupero il gestore
Machining* pMch = dynamic_cast<Machining*>( m_pGeomDB->GetUserObj( nCurrMchId)) ;
Machining* pMch = GetMachining( m_pGeomDB->GetUserObj( nCurrMchId)) ;
if ( pMch == nullptr)
return false ;
// imposto la geometria
@@ -572,7 +582,7 @@ MachMgr::MachiningPreview( bool bRecalc)
if ( nCurrMchId == GDB_ID_NULL)
return false ;
// ne recupero il gestore
Machining* pMch = dynamic_cast<Machining*>( m_pGeomDB->GetUserObj( nCurrMchId)) ;
Machining* pMch = GetMachining( m_pGeomDB->GetUserObj( nCurrMchId)) ;
if ( pMch == nullptr)
return false ;
// calcolo l'anteprima della lavorazione
@@ -588,7 +598,7 @@ MachMgr::MachiningApply( bool bRecalc)
if ( nCurrMchId == GDB_ID_NULL)
return false ;
// ne recupero il gestore
Machining* pMch = dynamic_cast<Machining*>( m_pGeomDB->GetUserObj( nCurrMchId)) ;
Machining* pMch = GetMachining( m_pGeomDB->GetUserObj( nCurrMchId)) ;
if ( pMch == nullptr)
return false ;
// calcolo la lavorazione
@@ -604,7 +614,7 @@ MachMgr::GetMachiningParam( int nType, bool& bVal) const
if ( nCurrMchId == GDB_ID_NULL)
return false ;
// ne recupero il gestore
Machining* pMch = dynamic_cast<Machining*>( m_pGeomDB->GetUserObj( nCurrMchId)) ;
Machining* pMch = GetMachining( m_pGeomDB->GetUserObj( nCurrMchId)) ;
if ( pMch == nullptr)
return false ;
// recupero il parametro
@@ -620,7 +630,7 @@ MachMgr::GetMachiningParam( int nType, int& nVal) const
if ( nCurrMchId == GDB_ID_NULL)
return false ;
// ne recupero il gestore
Machining* pMch = dynamic_cast<Machining*>( m_pGeomDB->GetUserObj( nCurrMchId)) ;
Machining* pMch = GetMachining( m_pGeomDB->GetUserObj( nCurrMchId)) ;
if ( pMch == nullptr)
return false ;
// recupero il parametro
@@ -636,7 +646,7 @@ MachMgr::GetMachiningParam( int nType, double& dVal) const
if ( nCurrMchId == GDB_ID_NULL)
return false ;
// ne recupero il gestore
Machining* pMch = dynamic_cast<Machining*>( m_pGeomDB->GetUserObj( nCurrMchId)) ;
Machining* pMch = GetMachining( m_pGeomDB->GetUserObj( nCurrMchId)) ;
if ( pMch == nullptr)
return false ;
// recupero il parametro
@@ -652,7 +662,7 @@ MachMgr::GetMachiningParam( int nType, string& sVal) const
if ( nCurrMchId == GDB_ID_NULL)
return false ;
// ne recupero il gestore
Machining* pMch = dynamic_cast<Machining*>( m_pGeomDB->GetUserObj( nCurrMchId)) ;
Machining* pMch = GetMachining( m_pGeomDB->GetUserObj( nCurrMchId)) ;
if ( pMch == nullptr)
return false ;
// recupero il parametro
@@ -668,7 +678,7 @@ MachMgr::GetMachiningToolData( void) const
if ( nCurrMchId == GDB_ID_NULL)
return nullptr ;
// ne recupero il gestore
Machining* pMch = dynamic_cast<Machining*>( m_pGeomDB->GetUserObj( nCurrMchId)) ;
Machining* pMch = GetMachining( m_pGeomDB->GetUserObj( nCurrMchId)) ;
if ( pMch == nullptr)
return nullptr ;
// recupero il parametro
@@ -684,7 +694,7 @@ MachMgr::GetMachiningGeometry( SELVECTOR& vIds) const
if ( nCurrMchId == GDB_ID_NULL)
return false ;
// ne recupero il gestore
Machining* pMch = dynamic_cast<Machining*>( m_pGeomDB->GetUserObj( nCurrMchId)) ;
Machining* pMch = GetMachining( m_pGeomDB->GetUserObj( nCurrMchId)) ;
if ( pMch == nullptr)
return false ;
// restituisco la geometria originale
@@ -700,7 +710,7 @@ MachMgr::IsEmpty( void) const
if ( nCurrMchId == GDB_ID_NULL)
return false ;
// ne recupero il gestore
Machining* pMch = dynamic_cast<Machining*>( m_pGeomDB->GetUserObj( nCurrMchId)) ;
Machining* pMch = GetMachining( m_pGeomDB->GetUserObj( nCurrMchId)) ;
if ( pMch == nullptr)
return false ;
// restituisco lo stato