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:
Dario Sassi
2025-07-28 08:38:34 +02:00
parent 037c52c913
commit 517a1021b5
3 changed files with 30 additions and 9 deletions
+16 -5
View File
@@ -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 ;
}