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
+11 -11
View File
@@ -65,7 +65,7 @@ Machining::Init( MachMgr* pMchMgr)
//----------------------------------------------------------------------------
//----------------------------------------------------------------------------
Machining::Machining( void)
: m_nOwnerId( GDB_ID_NULL), m_pGeomDB( nullptr), m_pMchMgr( nullptr),
: m_nOwnerId( GDB_ID_NULL), m_pGeomDB( nullptr), m_pMchMgr( nullptr), m_nPhase( 1),
m_nPathId( GDB_ID_NULL), m_bCurr( false), m_ptCurr(),
m_vtTool(), m_vtCorr(), m_vtAux(), m_dFeed( 0), m_nFlag( 0)
{
@@ -483,7 +483,7 @@ Machining::GetClPathInitialAxesValues( int nClPathId, DBLVECTOR& vAxVal)
// recupero la prima entità di questo percorso
int nEntId = m_pGeomDB->GetFirstInGroup( nClPathId) ;
// recupero i dati Cam dell'entità
CamData* pCamData = dynamic_cast<CamData*>( m_pGeomDB->GetUserObj( nEntId)) ;
CamData* pCamData = GetCamData( m_pGeomDB->GetUserObj( nEntId)) ;
if ( pCamData == nullptr)
return false ;
// assegno i valori degli assi
@@ -516,7 +516,7 @@ Machining::GetClPathFinalAxesValues( int nClPathId, DBLVECTOR& vAxVal)
// recupero l'ultima entità di questo percorso
int nEntId = m_pGeomDB->GetLastInGroup( nClPathId) ;
// recupero i dati Cam dell'entità
CamData* pCamData = dynamic_cast<CamData*>( m_pGeomDB->GetUserObj( nEntId)) ;
CamData* pCamData = GetCamData( m_pGeomDB->GetUserObj( nEntId)) ;
if ( pCamData == nullptr)
return false ;
// assegno i valori degli assi
@@ -532,13 +532,13 @@ Machining::CalculateAxesValues( void)
return false ;
// recupero la lavorazione precedente non vuota
int nPrevOpId = m_pMchMgr->GetPrevActiveOperation( m_nOwnerId) ;
Machining* pPrevMch = dynamic_cast<Machining*>( m_pGeomDB->GetUserObj( nPrevOpId)) ;
Machining* pPrevMch = GetMachining( m_pGeomDB->GetUserObj( nPrevOpId)) ;
while ( pPrevMch != nullptr) {
if ( ! pPrevMch->IsEmpty())
break ;
else {
nPrevOpId = m_pMchMgr->GetPrevActiveOperation( nPrevOpId) ;
pPrevMch = dynamic_cast<Machining*>( m_pGeomDB->GetUserObj( nPrevOpId)) ;
pPrevMch = GetMachining( m_pGeomDB->GetUserObj( nPrevOpId)) ;
}
}
// recupero l'utensile precedente
@@ -616,7 +616,7 @@ Machining::CalculateClPathAxesValues( int nClPathId, int nLinAxes, int nRotAxes,
nEntId != GDB_ID_NULL ;
nEntId = m_pGeomDB->GetNext( nEntId)) {
// recupero i dati Cam dell'entità
CamData* pCamData = dynamic_cast<CamData*>( m_pGeomDB->GetUserObj( nEntId)) ;
CamData* pCamData = GetCamData( m_pGeomDB->GetUserObj( nEntId)) ;
if ( pCamData == nullptr)
continue ;
// calcolo degli assi rotanti della macchina
@@ -701,13 +701,13 @@ Machining::AdjustStartEndMovements(void)
// recupero la lavorazione precedente non vuota
int nPrevOpId = m_pMchMgr->GetPrevActiveOperation( m_nOwnerId) ;
Machining* pPrevMch = dynamic_cast<Machining*>( m_pGeomDB->GetUserObj( nPrevOpId)) ;
Machining* pPrevMch = GetMachining( m_pGeomDB->GetUserObj( nPrevOpId)) ;
while ( pPrevMch != nullptr) {
if ( ! pPrevMch->IsEmpty())
break ;
else {
nPrevOpId = m_pMchMgr->GetPrevActiveOperation( nPrevOpId) ;
pPrevMch = dynamic_cast<Machining*>( m_pGeomDB->GetUserObj( nPrevOpId)) ;
pPrevMch = GetMachining( m_pGeomDB->GetUserObj( nPrevOpId)) ;
}
}
// recupero l'utensile precedente e i dati della sua testa
@@ -780,7 +780,7 @@ Machining::AdjustOneStartMovement( int nClPathId, const DBLVECTOR& vAxPrev)
// recupero la prima entità di questo percorso
int nEntId = m_pGeomDB->GetFirstInGroup( nClPathId) ;
// recupero i dati Cam dell'entità
CamData* pCamData = dynamic_cast<CamData*>( m_pGeomDB->GetUserObj( nEntId)) ;
CamData* pCamData = GetCamData( m_pGeomDB->GetUserObj( nEntId)) ;
if ( pCamData == nullptr)
return false ;
// recupero i valori degli assi
@@ -853,7 +853,7 @@ Machining::AddRise( DBLVECTOR& vAxVal, double dDelta)
if ( nEntId == GDB_ID_NULL)
return false ;
// ne recupero i dati Cam
CamData* pCamData = dynamic_cast<CamData*>( m_pGeomDB->GetUserObj( nEntId)) ;
CamData* pCamData = GetCamData( m_pGeomDB->GetUserObj( nEntId)) ;
if ( pCamData == nullptr)
return false ;
// creo oggetto punto per DB geometrico
@@ -950,7 +950,7 @@ Machining::AddHome( void)
if ( nEntId == GDB_ID_NULL)
return false ;
// ne recupero i dati Cam
CamData* pCamData = dynamic_cast<CamData*>( m_pGeomDB->GetUserObj( nEntId)) ;
CamData* pCamData = GetCamData( m_pGeomDB->GetUserObj( nEntId)) ;
if ( pCamData == nullptr)
return false ;
// creo oggetto punto per DB geometrico