EgtMachKernel 2.4e2 :
- corretta GetPartDirFromAngles per asse rotante di testa speciale (ralla).
This commit is contained in:
+9
-1
@@ -1305,7 +1305,7 @@ Machine::GetAuxDirFromAngles( const DBLVECTOR& vAng, Vector3d& vtDir) const
|
||||
bool
|
||||
Machine::GetPartDirFromAngles( const Vector3d& vtPart, const DBLVECTOR& vAng, Vector3d& vtDir) const
|
||||
{
|
||||
// è espressa nel riferimento di macchina (tiene conto delle sole rotazioni di tavola)
|
||||
// è espressa nel riferimento di macchina (tiene conto delle sole rotazioni di tavola e asse rotante speciale di testa)
|
||||
|
||||
// verifico dimensione vettore angoli rispetto al numero di assi rotanti
|
||||
if ( vAng.size() < m_vCalcRotAx.size())
|
||||
@@ -1321,6 +1321,14 @@ Machine::GetPartDirFromAngles( const Vector3d& vtPart, const DBLVECTOR& vAng, Ve
|
||||
vtDir.Rotate( m_vCalcRotAx[i-1].vtDir, vAng[i-1]) ;
|
||||
}
|
||||
|
||||
// eseguo rotazione inversa eventuale asse rotante speciale di testa
|
||||
if ( m_nHeadSpecRotAxis != -1) {
|
||||
if ( m_nHeadSpecRotAxis < 0 || m_nHeadSpecRotAxis >= int( m_vCalcRotAx.size()))
|
||||
return false ;
|
||||
int i = m_nHeadSpecRotAxis ;
|
||||
vtDir.Rotate( m_vCalcRotAx[i].vtDir, -vAng[i]) ;
|
||||
}
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user