EgtMachKernel 1.8e5 :

- gestione da parametri lavorazione di angoli iniziali suggeriti e asse rotante bloccato
- in fresatura, svuotatura, incisione e lav. generica aggiunta possibilità di invertire direzione utensile
- in fresatura aggiunto parametro per tipo lavorazione faccia (perpendicolare, parallela, ...)
- differenziata distanza sicurezza standard da distanza sicurezza per rinvio da sotto
- migliorati approcci e retrazioni con rinvio da sotto
- migliorata segnalazione errori.
This commit is contained in:
Dario Sassi
2017-05-31 14:18:11 +00:00
parent c9ab1c76ed
commit 6c7a60b60a
48 changed files with 1214 additions and 234 deletions
+15 -7
View File
@@ -31,6 +31,9 @@ using namespace std ;
// 2003 = "Error in MoveToCornerRawPart xx"
// 2004 = "Error in MoveToCenterRawPart xx"
// 2005 = "Error in ApplyRotationToRawPart xx"
// 2006 = "Error in OnSpecialApplyDisposition (xxx)"
// 2007 = "Error in Disposition : axes values not calculable"
// 2008 = "Error in Disposition : link movements not calculable"
//----------------------------------------------------------------------------
static std::string DIS_TABLE = "Tab" ;
@@ -1080,17 +1083,22 @@ Disposition::SpecialApply( bool bRecalc)
bOk = false ;
m_nShifts = - 1 ;
string sOut = " Error in " + ON_SPECIAL_APPLY + " (" + ToString( nErr) + ")" ;
LOG_INFO( GetEMkLogger(), sOut.c_str())
m_pMchMgr->SetLastError( 2006, sOut) ;
}
// se disposizione vuota, esco
if ( m_nShifts <= 0)
// se disposizione vuota o errore, esco
if ( m_nShifts <= 0 || ! bOk)
return bOk ;
// calcolo assi macchina
string sHint = "" ;
bOk = bOk && CalculateAxesValues( sHint) ;
if ( ! CalculateAxesValues( "")) {
m_pMchMgr->SetLastError( 2007, "Error in Disposition : axes values not calculable") ;
return false ;
}
// gestione movimenti all'inizio di ogni singolo percorso di lavorazione e alla fine di tutti
bOk = bOk && AdjustStartEndMovements() ;
return bOk ;
if ( ! AdjustStartEndMovements()) {
m_pMchMgr->SetLastError( 2008, "Error in Disposition : link movements not calculable") ;
return false ;
}
return true ;
}
else
return true ;