EgtMachKernel 1.6k8 :
- modifiche per tagli di lama inclinati.
This commit is contained in:
@@ -469,6 +469,35 @@ Machine::AdjustAngleInStroke( int nId, double& dAng)
|
||||
return false ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
Machine::GetNearestAngleInStroke( int nId, double dAngRef, double& dAng)
|
||||
{
|
||||
// se non ci sono assi rotanti, non c'è alcunchè da fare
|
||||
if ( m_vCalcRotAx.size() == 0)
|
||||
return true ;
|
||||
// se primo angolo ed esiste primo asse rotante
|
||||
if ( nId == 1 && m_vCalcRotAx.size() >= 1) {
|
||||
while ( dAng - dAngRef > ANG_STRAIGHT && dAng - ANG_FULL >= m_vCalcRotAx[0].stroke.Min)
|
||||
dAng -= ANG_FULL ;
|
||||
while ( dAng - dAngRef < - ANG_STRAIGHT && dAng + ANG_FULL <= m_vCalcRotAx[0].stroke.Max)
|
||||
dAng += ANG_FULL ;
|
||||
return ( dAng >= m_vCalcRotAx[0].stroke.Min &&
|
||||
dAng <= m_vCalcRotAx[0].stroke.Max) ;
|
||||
}
|
||||
// se secondo angolo ed esiste secondo asse rotante
|
||||
if ( nId == 2 && m_vCalcRotAx.size() >= 2) {
|
||||
while ( dAng - dAngRef > ANG_STRAIGHT && dAng - ANG_FULL >= m_vCalcRotAx[1].stroke.Min)
|
||||
dAng -= ANG_FULL ;
|
||||
while ( dAng - dAngRef < - ANG_STRAIGHT && dAng + ANG_FULL <= m_vCalcRotAx[1].stroke.Max)
|
||||
dAng += ANG_FULL ;
|
||||
return ( dAng >= m_vCalcRotAx[1].stroke.Min &&
|
||||
dAng <= m_vCalcRotAx[1].stroke.Max) ;
|
||||
}
|
||||
// errore
|
||||
return false ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
Machine::VerifyOutOfStroke( double dX, double dY, double dZ, double dAngA, double dAngB, int& nStat)
|
||||
|
||||
Reference in New Issue
Block a user