EgtMachKernel :

- correzione nella gestione e utilizzo dell'attrezzaggio.
This commit is contained in:
Dario Sassi
2017-01-19 12:32:26 +00:00
parent 03dd454ef9
commit 868559c293
3 changed files with 18 additions and 10 deletions
+1 -1
View File
@@ -445,7 +445,7 @@ Generator::UpdateTool( const string& sTool)
return false ;
// lo carico in macchina (se esiste attrezzaggio prendo i dati da questo)
string sTcPos ; string sHead ; int nExit ;
if ( ! m_stuMgr.GetToolData( m_sTool, sTcPos, sHead, nExit)) {
if ( ! m_stuMgr.GetToolData( sTool, sTcPos, sHead, nExit)) {
m_pMchMgr->TdbGetCurrToolParam( TPA_HEAD, sHead) ;
m_pMchMgr->TdbGetCurrToolParam( TPA_EXIT, nExit) ;
}
+1 -1
View File
@@ -159,7 +159,7 @@ Machine::SetCurrTool( const string& sTool, const string& sHead, int nExit)
// recupero i dati della testa
Head* pHead = GetHead( nHeadId) ;
if ( pHead == nullptr) {
string sOut = "Missing head " + sHead ;
string sOut = "Missing head " + sHead + " for tool " + sTool ;
LOG_INFO( GetEMkLogger(), sOut.c_str())
return false ;
}
+16 -8
View File
@@ -101,8 +101,12 @@ SetupMgr::Load( void)
bool
SetupMgr::FindTool( const string& sName)
{
// verifico validità utensile
if ( IsEmptyOrSpaces( sName))
return false ;
// eseguo ricerca
for ( size_t i = 0 ; i < m_vStuData.size() ; ++ i) {
if ( EqualNoCase( sName, m_vStuData[i].m_sName))
if ( m_vStuData[i].m_nExit > 0 && EqualNoCase( sName, m_vStuData[i].m_sName))
return true ;
}
return false ;
@@ -113,14 +117,15 @@ bool
SetupMgr::GetPosData( int nPos, string& sTcPos, string& sHead, int& nExit, string& sName)
{
// verifico che la posizione sia valida
if ( nPos < 1 || nPos > int( m_vStuData.size()))
int nI = nPos - 1 ;
if ( nI < 0 || nI >= int( m_vStuData.size()))
return false ;
// assegno i dati
sTcPos = m_vStuData[nPos - 1].m_sTcPos ;
if ( m_vStuData[nPos - 1].m_nExit > 0) {
sHead = m_vStuData[nPos - 1].m_sHead ;
nExit = m_vStuData[nPos - 1].m_nExit ;
sName = m_vStuData[nPos - 1].m_sName ;
sTcPos = m_vStuData[nI].m_sTcPos ;
if ( m_vStuData[nI].m_nExit > 0) {
sHead = m_vStuData[nI].m_sHead ;
nExit = m_vStuData[nI].m_nExit ;
sName = m_vStuData[nI].m_sName ;
}
else {
sHead = "" ;
@@ -134,10 +139,13 @@ SetupMgr::GetPosData( int nPos, string& sTcPos, string& sHead, int& nExit, strin
bool
SetupMgr::GetToolData( const string& sName, string& sTcPos, string& sHead, int& nExit, int* pnPos)
{
// verifico validità utensile
if ( IsEmptyOrSpaces( sName))
return false ;
// cerco l'utensile
int nI = - 1 ;
for ( size_t i = 0 ; i < m_vStuData.size() ; ++ i) {
if ( EqualNoCase( sName, m_vStuData[i].m_sName)) {
if ( m_vStuData[i].m_nExit > 0 && EqualNoCase( sName, m_vStuData[i].m_sName)) {
nI = int( i) ;
break ;
}