EgtMachKernel 2.7g4 :
- correione ad AdjustOneStartEndMovement (si aggiunge RISE anche a percorso finale di lavorazione precedente se non già presente) - in Rise e Climb per robot setto Flag2 a -1 per i punti intermedi aggiunti per garantire la traiettoria - nelle funzioni lua EmtAddRapidMove e EmtAddLinearMove aggiunto parametro opzionale Flag2.
This commit is contained in:
+16
-5
@@ -3399,9 +3399,20 @@ Operation::AdjustOneStartEndMovement( int nClPathId, int nPrevClPathId, Operatio
|
||||
// se Z corrente maggiore della precedente o viceversa se HomeZ sotto
|
||||
else if ( ( ! bZHomeDown && vAxCurr[2] > vAxPrev[2]) ||
|
||||
( bZHomeDown && vAxCurr[2] < vAxPrev[2]) ) {
|
||||
// se vengo da precedente lavorazione non devo fare alcunché
|
||||
if ( nPrevClPathId == GDB_ID_NULL)
|
||||
;
|
||||
// se vengo da ultimo percorso di precedente lavorazione
|
||||
if ( nPrevClPathId == GDB_ID_NULL) {
|
||||
// deve esistere lavorazione precedente
|
||||
if ( pPrevOp == nullptr)
|
||||
return false ;
|
||||
// se non presente risalita finale
|
||||
if ( m_pGeomDB->GetFirstNameInGroup( pPrevOp->GetLastFullToolpath(), MCH_CL_RISE) == GDB_ID_NULL) {
|
||||
// la aggiungo
|
||||
DBLVECTOR vAxNew ;
|
||||
double dDelta = ( ! bZHomeDown ? max( vAxCurr[2] - vAxPrev[2], 0.) : min( vAxCurr[2] - vAxPrev[2], 0.)) ;
|
||||
if ( ! pPrevOp->AddRise( vAxNew, dDelta, GDB_ID_NULL))
|
||||
return false ;
|
||||
}
|
||||
}
|
||||
// altrimenti vengo da precedente percorso della stessa lavorazione
|
||||
else {
|
||||
// aggiungo risalita alla fine del precedente percorso
|
||||
@@ -3848,7 +3859,7 @@ Operation::AddRise( DBLVECTOR& vAxVal, double dDelta, int nClPathId, int nToMinM
|
||||
return false ;
|
||||
pCdNew->SetAxes( CamData::AS_OK, vAxNew) ;
|
||||
pCdNew->SetFlag( 0) ;
|
||||
pCdNew->SetFlag2( 0) ;
|
||||
pCdNew->SetFlag2( -1) ;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4099,7 +4110,7 @@ Operation::AddRobotClimb( int nEntId, double dDeltaZ)
|
||||
return false ;
|
||||
pCdNew->SetAxes( CamData::AS_OK, vAxNew) ;
|
||||
pCdNew->SetFlag( 0) ;
|
||||
pCdNew->SetFlag2( 0) ;
|
||||
pCdNew->SetFlag2( -1) ;
|
||||
}
|
||||
return true ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user