EgtMachKernel 2.2k3 :

- in interfaccia aggiunta funzione GetCalcTipFromPositions con vettore angoli
- in interfaccia corretta funzione GetCalcPositions con vettore angoli
- migliorato controllo angoli dati rispetto ad assi rotanti.
This commit is contained in:
Dario Sassi
2020-11-14 08:07:52 +00:00
parent 1d25de4caa
commit aed3ebe4d1
5 changed files with 14 additions and 16 deletions
+8 -9
View File
@@ -968,15 +968,6 @@ Machine::GetMyAngles( const Vector3d& vtDirT, const Vector3d& vtDirA,
return true ;
}
//----------------------------------------------------------------------------
bool
Machine::GetPositions( const Point3d& ptP, double dAngA, double dAngB,
int& nStat, double& dX, double& dY, double& dZ) const
{
DBLVECTOR vAng( 2) ; vAng[0] = dAngA ; vAng[1] = dAngB ;
return GetPositions( ptP, vAng, nStat, dX, dY, dZ) ;
}
//----------------------------------------------------------------------------
bool
Machine::GetPositions( const Point3d& ptP, const DBLVECTOR& vAng,
@@ -985,6 +976,10 @@ Machine::GetPositions( const Point3d& ptP, const DBLVECTOR& vAng,
// la posizione deve essere espressa rispetto allo ZERO MACCHINA
// il punto è dato rispetto alla posizione home della tavola
// verifico che siano stati assegnati gli angoli necessari, altrimenti errore
if ( vAng.size() < m_vCalcRotAx.size())
return false ;
// aggiorno punto di lavoro mediante ciclo diretto sugli assi di tavola
Point3d ptW = ptP ;
// annullo la posizione home degli assi lineari
@@ -1037,6 +1032,10 @@ Machine::GetHeadOffsetDelta( const DBLVECTOR& vAng,
{
// ovviamente tutto è espresso nel riferimento ZERO MACCHINA
// verifico che siano stati assegnati gli angoli necessari, altrimenti errore
if ( vAng.size() < m_vCalcRotAx.size())
return false ;
// aggiorno posizione e direzione fresa su testa a riposo mediante ciclo inverso sugli assi di testa
Point3d ptPosH = m_ptCalcPos ;
Vector3d vtDirH = m_vtCalcDir ;