EgtMachKernel 1.6w1 :
- in simulazione si restituiscono info anche su assi ausiliari e info su tipo asse (lineare o rotante) - in generazione assegnata max speed a EMT.SMAX su evento OnToolData.
This commit is contained in:
+9
-6
@@ -499,7 +499,7 @@ Generator::OnProgramEnd( void)
|
||||
bool
|
||||
Generator::ProcessToolData( void)
|
||||
{
|
||||
struct ToolData {
|
||||
struct MyToolData {
|
||||
string sName ;
|
||||
string sHead ;
|
||||
int nExit ;
|
||||
@@ -507,10 +507,11 @@ Generator::ProcessToolData( void)
|
||||
int nComp ;
|
||||
double dDiam ;
|
||||
double dLen ;
|
||||
ToolData( void)
|
||||
: sName(), sHead(), nExit( 0), sTcPos(), nComp(0), dDiam( 0), dLen( 0) {}
|
||||
double dMaxSpeed ;
|
||||
MyToolData( void)
|
||||
: sName(), sHead(), nExit( 0), sTcPos(), nComp(0), dDiam( 0), dLen( 0), dMaxSpeed( 0) {}
|
||||
} ;
|
||||
typedef vector<ToolData> TDATAVECTOR ;
|
||||
typedef vector<MyToolData> TDATAVECTOR ;
|
||||
TDATAVECTOR vTdata ;
|
||||
// ciclo sulle lavorazioni per ricavare gli utensili utilizzati
|
||||
int nOpId = m_pMchMgr->GetFirstActiveOperation() ;
|
||||
@@ -526,7 +527,7 @@ Generator::ProcessToolData( void)
|
||||
if ( ! m_pMchMgr->GetMachiningParam( MPA_TOOL, sTool))
|
||||
return false ;
|
||||
// Recupero i dati dell'utensile
|
||||
ToolData Tdata ;
|
||||
MyToolData Tdata ;
|
||||
if ( m_pMchMgr->TdbSetCurrTool( sTool)) {
|
||||
Tdata.sName = sTool ;
|
||||
m_pMchMgr->TdbGetCurrToolParam( TPA_HEAD, Tdata.sHead) ;
|
||||
@@ -535,6 +536,7 @@ Generator::ProcessToolData( void)
|
||||
m_pMchMgr->TdbGetCurrToolParam( TPA_CORR, Tdata.nComp) ;
|
||||
m_pMchMgr->TdbGetCurrToolParam( TPA_DIAM, Tdata.dDiam) ;
|
||||
m_pMchMgr->TdbGetCurrToolParam( TPA_LEN, Tdata.dLen) ;
|
||||
m_pMchMgr->TdbGetCurrToolParam( TPA_MAXSPEED, Tdata.dMaxSpeed) ;
|
||||
vTdata.push_back( Tdata) ;
|
||||
}
|
||||
}
|
||||
@@ -542,7 +544,7 @@ Generator::ProcessToolData( void)
|
||||
nOpId = m_pMchMgr->GetNextActiveOperation( nOpId) ;
|
||||
}
|
||||
// ordino l'elenco degli utensili
|
||||
std::sort( vTdata.begin(), vTdata.end(), []( const ToolData& a, const ToolData& b)
|
||||
std::sort( vTdata.begin(), vTdata.end(), []( const MyToolData& a, const MyToolData& b)
|
||||
{ if ( a.sHead == b.sHead)
|
||||
return a.nExit < b.nExit ;
|
||||
else
|
||||
@@ -561,6 +563,7 @@ Generator::ProcessToolData( void)
|
||||
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_TCOMP, vTdata[i].nComp) ;
|
||||
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_TDIAM, vTdata[i].dDiam) ;
|
||||
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_TLEN, vTdata[i].dLen) ;
|
||||
bOk = bOk && m_pMachine->LuaSetGlobVar( GLOB_VAR + GVAR_SMAX, vTdata[i].dMaxSpeed) ;
|
||||
// se esiste, chiamo la funzione di emissione dati utensile
|
||||
if ( m_pMachine->LuaExistsFunction( ON_TOOL_DATA))
|
||||
bOk = bOk && m_pMachine->LuaCallFunction( ON_TOOL_DATA) ;
|
||||
|
||||
Reference in New Issue
Block a user