EgtMachKernel 3.1c5 :
- in Operation corretta assegnazione entità/camData con Info per funzione AdjustOneStartEndMovement.
This commit is contained in:
Binary file not shown.
+36
-16
@@ -3589,7 +3589,12 @@ Operation::AdjustOneStartEndMovement( int nClPathId, int nPrevClPathId, Operatio
|
||||
// se centro di lavoro
|
||||
if ( m_pMchMgr->GetCurrIsMcent()) {
|
||||
// copio l'entità
|
||||
if ( m_pGeomDB->Copy( nEntId, GDB_ID_NULL, nEntId, GDB_AFTER) == GDB_ID_NULL)
|
||||
int nNewEntId = m_pGeomDB->Copy( nEntId, GDB_ID_NULL, nEntId, GDB_BEFORE) ;
|
||||
if ( nNewEntId == GDB_ID_NULL)
|
||||
return false ;
|
||||
// aggiorno il CamData
|
||||
pCamData = GetCamData( m_pGeomDB->GetUserObj( nNewEntId)) ;
|
||||
if ( pCamData == nullptr)
|
||||
return false ;
|
||||
// recupero HomeZ
|
||||
double dHomeZ ;
|
||||
@@ -3605,9 +3610,9 @@ Operation::AdjustOneStartEndMovement( int nClPathId, int nPrevClPathId, Operatio
|
||||
if ( abs( dExtraZ) > EPS_SMALL)
|
||||
dHomeZ += dExtraZ ;
|
||||
}
|
||||
// modifico quella originale (è la prima del percorso)
|
||||
m_pGeomDB->SetName( nEntId, MCH_CL_CLIMB) ;
|
||||
m_pGeomDB->RemoveInfo( nEntId, KEY_CL_DOUBLE) ;
|
||||
// modifico quella copiata (è la prima del percorso)
|
||||
m_pGeomDB->SetName( nNewEntId, MCH_CL_CLIMB) ;
|
||||
m_pGeomDB->RemoveInfo( nNewEntId, KEY_CL_DOUBLE) ;
|
||||
DBLVECTOR vAxNew = vAxCurr ;
|
||||
vAxNew[2] = dHomeZ ;
|
||||
int nFlagNew = 2 ;
|
||||
@@ -3714,11 +3719,16 @@ Operation::AdjustOneStartEndMovement( int nClPathId, int nPrevClPathId, Operatio
|
||||
return false ;
|
||||
}
|
||||
// aggiungo posizione elevata prima dell'inizio del percorso corrente
|
||||
if ( m_pGeomDB->Copy( nEntId, GDB_ID_NULL, nEntId, GDB_AFTER) == GDB_ID_NULL)
|
||||
int nNewEntId = m_pGeomDB->Copy( nEntId, GDB_ID_NULL, nEntId, GDB_BEFORE) ;
|
||||
if ( nNewEntId == GDB_ID_NULL)
|
||||
return false ;
|
||||
// modifico l'entità originale (è la prima del percorso)
|
||||
m_pGeomDB->SetName( nEntId, MCH_CL_CLIMB) ;
|
||||
m_pGeomDB->RemoveInfo( nEntId, KEY_CL_DOUBLE) ;
|
||||
// aggiorno il CamData
|
||||
pCamData = GetCamData( m_pGeomDB->GetUserObj( nNewEntId)) ;
|
||||
if ( pCamData == nullptr)
|
||||
return false ;
|
||||
// modifico l'entità copiata (è la prima del percorso)
|
||||
m_pGeomDB->SetName( nNewEntId, MCH_CL_CLIMB) ;
|
||||
m_pGeomDB->RemoveInfo( nNewEntId, KEY_CL_DOUBLE) ;
|
||||
DBLVECTOR vAxNew = vAxCurr ;
|
||||
vAxNew[2] = vAxNew1[2] ;
|
||||
int nFlagNew = 2 ;
|
||||
@@ -3783,11 +3793,16 @@ Operation::AdjustOneStartEndMovement( int nClPathId, int nPrevClPathId, Operatio
|
||||
// altrimenti Z corrente minore della precedente
|
||||
else {
|
||||
// aggiungo posizione elevata prima dell'inizio del percorso corrente
|
||||
if ( m_pGeomDB->Copy( nEntId, GDB_ID_NULL, nEntId, GDB_AFTER) == GDB_ID_NULL)
|
||||
int nNewEntId = m_pGeomDB->Copy( nEntId, GDB_ID_NULL, nEntId, GDB_BEFORE) ;
|
||||
if ( nNewEntId == GDB_ID_NULL)
|
||||
return false ;
|
||||
// modifico l'entità originale (è la prima del percorso)
|
||||
m_pGeomDB->SetName( nEntId, MCH_CL_CLIMB) ;
|
||||
m_pGeomDB->RemoveInfo( nEntId, KEY_CL_DOUBLE) ;
|
||||
// aggiorno il CamData
|
||||
pCamData = GetCamData( m_pGeomDB->GetUserObj( nNewEntId)) ;
|
||||
if ( pCamData == nullptr)
|
||||
return false ;
|
||||
// modifico l'entità copiata (è la prima del percorso)
|
||||
m_pGeomDB->SetName( nNewEntId, MCH_CL_CLIMB) ;
|
||||
m_pGeomDB->RemoveInfo( nNewEntId, KEY_CL_DOUBLE) ;
|
||||
DBLVECTOR vAxNew = vAxCurr ;
|
||||
vAxNew[2] = vAxPrev[2] ;
|
||||
int nFlagNew = 2 ;
|
||||
@@ -3822,11 +3837,16 @@ Operation::AdjustOneStartEndMovement( int nClPathId, int nPrevClPathId, Operatio
|
||||
if ( nLKAMO == LKAMO_HEAD_BEFORE || nLKAMO == LKAMO_HEAD_AFTER) {
|
||||
// aggiungo prima della corrente
|
||||
nEntId = m_pGeomDB->GetFirstInGroup( nClPathId) ;
|
||||
if ( m_pGeomDB->Copy( nEntId, GDB_ID_NULL, nEntId, GDB_AFTER) == GDB_ID_NULL)
|
||||
int nNewEntId = m_pGeomDB->Copy( nEntId, GDB_ID_NULL, nEntId, GDB_BEFORE) ;
|
||||
if ( nNewEntId == GDB_ID_NULL)
|
||||
return false ;
|
||||
// modifico l'entità originale (è la prima del percorso)
|
||||
m_pGeomDB->SetName( nEntId, MCH_CL_CLIMB) ;
|
||||
m_pGeomDB->RemoveInfo( nEntId, KEY_CL_DOUBLE) ;
|
||||
// aggiorno il CamData
|
||||
pCamData = GetCamData( m_pGeomDB->GetUserObj( nNewEntId)) ;
|
||||
if ( pCamData == nullptr)
|
||||
return false ;
|
||||
// modifico l'entità copiata (è la prima del percorso)
|
||||
m_pGeomDB->SetName( nNewEntId, MCH_CL_CLIMB) ;
|
||||
m_pGeomDB->RemoveInfo( nNewEntId, KEY_CL_DOUBLE) ;
|
||||
DBLVECTOR vAxNew = pCamData->GetAxesVal() ;
|
||||
for ( int i = 0 ; i < 2 ; ++ i) {
|
||||
bool bLinear, bHead ; pMch->GetCurrAxisType( i, bLinear, bHead) ;
|
||||
|
||||
Reference in New Issue
Block a user