EgtMachKernel 1.6v8 :
- gestita posizione Tavola Home diversa da posizione 0 Macchina in disposizione - in generazione si assegna il nome macchina - nel confronto attrezzaggio utensili si tiene conto della posizione in ToolChanger - se angoli indeterminati ma si determinano con asse ausiliario, li rendo tali direttamente - aggiunto comando per ricaricare DB utensili e lavorazioni - aggiunta funzione GetPhaseLastOperation - ora inserimento lavorazione avviene alla fine della fase corrente - migliorato split di grezzo con lavorazioni - in taglio di lama e fresatura irrobustito allungamenti/accorciamenti percorso.
This commit is contained in:
+9
-5
@@ -90,7 +90,7 @@ Generator::Run( const string& sCncFile, const std::string& sInfo)
|
||||
}
|
||||
|
||||
// apertura file di output ed evento inizio programma
|
||||
if ( bOk && ! OnProgramStart( sCncFile, sInfo)) {
|
||||
if ( bOk && ! OnProgramStart( m_pMachine->GetMachineName(), sCncFile, sInfo)) {
|
||||
bOk = false ;
|
||||
LOG_INFO( GetEMkLogger(), "OnProgramStart error") ;
|
||||
}
|
||||
@@ -466,12 +466,14 @@ Generator::OnEnd( void)
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
Generator::OnProgramStart( const string& sCncFile, const string& sInfo)
|
||||
Generator::OnProgramStart( const string& sMachName, const string& sCncFile, const string& sInfo)
|
||||
{
|
||||
// apro il file di output
|
||||
bool bOk = m_pMachine->WriterOpen( sCncFile) ;
|
||||
if ( ! bOk)
|
||||
LOG_INFO( GetEMkLogger(), "Error opening Cnc file") ;
|
||||
// assegno nome macchina
|
||||
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_MACHNAME, sMachName) ;
|
||||
// assegno nome file
|
||||
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_FILE, sCncFile) ;
|
||||
// assegno info
|
||||
@@ -545,10 +547,11 @@ Generator::ProcessToolData( void)
|
||||
return a.sHead < b.sHead ; }) ;
|
||||
// emetto l'elenco degli utensili
|
||||
bool bOk = true ;
|
||||
string sPrevHead ; int nPrevExit = 0 ; string sPrevTool ;
|
||||
string sPrevHead ; int nPrevExit = 0 ; string sPrevTcPos ; string sPrevTool ;
|
||||
for ( size_t i = 0 ; i < vTdata.size() ; ++ i) {
|
||||
// se posizione diversa
|
||||
if ( vTdata[i].sHead != sPrevHead || vTdata[i].nExit != nPrevExit) {
|
||||
// se posizione diversa (testa o uscita o toolchanger)
|
||||
if ( vTdata[i].sHead != sPrevHead || vTdata[i].nExit != nPrevExit ||
|
||||
vTdata[i].sTcPos != sPrevTcPos) {
|
||||
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_TOOL, vTdata[i].sName) ;
|
||||
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_HEAD, vTdata[i].sHead) ;
|
||||
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_EXIT, vTdata[i].nExit) ;
|
||||
@@ -563,6 +566,7 @@ Generator::ProcessToolData( void)
|
||||
sPrevHead = vTdata[i].sHead ;
|
||||
nPrevExit = vTdata[i].nExit ;
|
||||
sPrevTool = vTdata[i].sName ;
|
||||
sPrevTcPos = vTdata[i].sTcPos ;
|
||||
}
|
||||
// altrimenti
|
||||
else {
|
||||
|
||||
Reference in New Issue
Block a user