EgtMachKernel 2.1k1 :
- ora si esegue reset su OutstrokeInfo quando si ricalcolano gli angoli con C variato di un angolo giro - in lavorazione Waterjet corretto caso con archi prima e dopo angoli - in lavorazione Waterjet Preview con anche ingombro sotto.
This commit is contained in:
+5
-2
@@ -1136,13 +1136,16 @@ Operation::CalculateAxesValues( const string& sHint, bool bSolChExact)
|
||||
DBLVECTOR vAxRotPrecOri = vAxRotPrec ;
|
||||
int nOutStrC = 0 ;
|
||||
if ( ! CalculateClPathAxesValues( nClPathId, nLinAxes, nRotAxes, dRot1W, dAngDeltaMinForHome, vAxRotHome, vAxRotPrec, nOutStrC)) {
|
||||
// se attivata scelta angolo iniziale vicino ad home e extra corsa C, provo a rifarlo disattivando
|
||||
if ( dAngDeltaMinForHome < ANG_FULL && nOutStrC != 0)
|
||||
// se attivata scelta angolo iniziale vicino ad home ed extra corsa C, provo a rifarlo disattivando
|
||||
if ( dAngDeltaMinForHome < ANG_FULL && nOutStrC != 0) {
|
||||
m_pMchMgr->GetCurrMachine()->ResetOutstrokeInfo() ;
|
||||
CalculateClPathAxesValues( nClPathId, nLinAxes, nRotAxes, dRot1W, INFINITO, vAxRotHome, vAxRotPrec, nOutStrC) ;
|
||||
}
|
||||
// se extracorsa dell'asse C, provo a precaricarlo al contrario
|
||||
if ( nOutStrC != 0) {
|
||||
vAxRotPrec[0] = vAxRotPrecOri[0] + ( nOutStrC > 0 ? - ANG_FULL : ANG_FULL) ;
|
||||
vAxRotPrec[1] = vAxRotPrecOri[1] ;
|
||||
m_pMchMgr->GetCurrMachine()->ResetOutstrokeInfo() ;
|
||||
if ( ! CalculateClPathAxesValues( nClPathId, nLinAxes, nRotAxes, dRot1W, INFINITO, vAxRotHome, vAxRotPrec, nOutStrC))
|
||||
bOk = false ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user