EgtMachKernel 1.6v4 :

- nelle info di simulazione si restituisce il token dell'asse invece del nome
- in attesa dell'attrezzaggio, nei collegamenti si fa risalire a Zmax una testa con info ZMAXONROT=1 e rotazione.
This commit is contained in:
Dario Sassi
2016-10-10 10:08:09 +00:00
parent 7667345e08
commit ab0cca6cd1
6 changed files with 17 additions and 6 deletions
BIN
View File
Binary file not shown.
+1 -1
View File
@@ -225,7 +225,7 @@ class MachMgr : public IMachMgr
// Simulation
bool SimStart( void) override ;
bool SimMove( int& nStatus) override ;
bool SimGetAxisInfoPos( int nI, std::string& sName, double& dVal) override ;
bool SimGetAxisInfoPos( int nI, std::string& sToken, double& dVal) override ;
bool SimGetToolInfo( std::string& sName, double& dSpeed) override ;
bool SimGetMoveInfo( int& nGmove, double& dFeed) override ;
bool SimSetStep( double dStep) override ;
+2 -2
View File
@@ -52,13 +52,13 @@ MachMgr::SimMove( int& nStatus)
//----------------------------------------------------------------------------
bool
MachMgr::SimGetAxisInfoPos( int nI, string& sName, double& dVal)
MachMgr::SimGetAxisInfoPos( int nI, string& sToken, double& dVal)
{
// verifico simulatore
if ( m_pSimul == nullptr)
return false ;
// recupero quote
return m_pSimul->GetAxisInfoPos( nI, sName, dVal) ;
return m_pSimul->GetAxisInfoPos( nI, sToken, dVal) ;
}
//----------------------------------------------------------------------------
+10
View File
@@ -1327,6 +1327,16 @@ Operation::TestCollisionAvoid( const DBLVECTOR& vAxStart, const DBLVECTOR& vAxEn
// il numero di assi deve essere costante
if ( vAxName.size() != vAxStart.size() || vAxName.size() != vAxEnd.size())
return false ;
// !!! Temporaneo in attesa di gestione attrezzaggio !!!
// Se testa con Info ZMAXONROT != 0 e variazione assi rotanti -> collisione
int nHeadId = pMch->GetCurrHead() ;
int nVal = 0 ;
if ( m_pGeomDB->GetInfo( nHeadId, "ZMAXONROT", nVal) && nVal != 0) {
if ( vAxName.size() > 3 && abs( vAxEnd[3] - vAxStart[3]) > 100 * EPS_ANG_SMALL)
return false ;
if ( vAxName.size() > 4 && abs( vAxEnd[4] - vAxStart[4]) > 100 * EPS_ANG_SMALL)
return false ;
}
// Porto la macchina in home
pMch->ResetAllAxesPos() ;
// Elenco grezzi attivi
+3 -2
View File
@@ -384,7 +384,7 @@ Simulator::Move( int& nStatus)
//----------------------------------------------------------------------------
bool
Simulator::GetAxisInfoPos( int nI, string& sName, double& dVal)
Simulator::GetAxisInfoPos( int nI, string& sToken, double& dVal)
{
// Verifiche
if ( m_pMchMgr == nullptr || m_pGeomDB == nullptr)
@@ -392,7 +392,8 @@ Simulator::GetAxisInfoPos( int nI, string& sName, double& dVal)
// recupero i dati dell'asse
if ( nI < 0 || nI >= int( m_AxesName.size()))
return false ;
sName = m_AxesName[nI] ;
string sName = m_AxesName[nI] ;
sToken = m_AxesToken[nI] ;
return m_pMchMgr->GetAxisPos( sName, dVal) ;
}
+1 -1
View File
@@ -29,7 +29,7 @@ class Simulator
bool Init( MachMgr* pMchMgr) ;
bool Start( void) ;
bool Move( int& nStatus) ;
bool GetAxisInfoPos( int nI, std::string& sName, double& dVal) ;
bool GetAxisInfoPos( int nI, std::string& sToken, double& dVal) ;
bool GetToolInfo( std::string& sName, double& dSpeed) ;
bool GetMoveInfo( int& nGmove, double& dFeed) ;
bool SetStep( double dStep) ;