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:
+36
-2
@@ -164,8 +164,11 @@ Machine::UnloadTool( const string& sHead, int nExit)
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
Machine::LoadTools( const string& sHead)
|
||||
Machine::LoadTools( const string& sHead, int* pnCount)
|
||||
{
|
||||
// annullo eventuale parametro di conteggio
|
||||
if ( pnCount != nullptr)
|
||||
*pnCount = 0 ;
|
||||
// controllo GeomDB e MachMgr
|
||||
if ( m_pGeomDB == nullptr || m_pMchMgr == nullptr)
|
||||
return false ;
|
||||
@@ -188,7 +191,9 @@ Machine::LoadTools( const string& sHead)
|
||||
// recupero l'utensile da attrezzare sull'uscita
|
||||
string sTool ;
|
||||
if ( m_pMchMgr->GetCurrSetupMgr().GetToolName( sHead, nExit, sTool) && ! sTool.empty()) {
|
||||
LoadTool( pExit, sTool) ;
|
||||
bool bOk = LoadTool( pExit, sTool) ;
|
||||
if ( bOk && pnCount != nullptr)
|
||||
++ ( *pnCount) ;
|
||||
}
|
||||
// se nessun utensile, allora pulisco il gruppo dell'uscita
|
||||
else {
|
||||
@@ -201,6 +206,35 @@ Machine::LoadTools( const string& sHead)
|
||||
return EnableHeadInSet( sHead) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
Machine::LoadAllTools( void)
|
||||
{
|
||||
// controllo GeomDB e MachMgr
|
||||
if ( m_pGeomDB == nullptr || m_pMchMgr == nullptr)
|
||||
return false ;
|
||||
// verifico che l'attrezzaggio contenga qualcosa
|
||||
if ( ! m_pMchMgr->GetCurrSetupMgr().Exists())
|
||||
return true ;
|
||||
// ciclo su tutte le teste
|
||||
for each ( const auto& snGro in m_mapGroups) {
|
||||
if ( IsHeadGroup( snGro.second)) {
|
||||
// recupero l'insieme di appartenenza della testa
|
||||
const STRVECTOR& vsHSet = GetHSet( snGro.first) ;
|
||||
if ( vsHSet.empty())
|
||||
continue ;
|
||||
// se testa capofila dell'insieme
|
||||
if ( vsHSet.front() == snGro.first) {
|
||||
// carico prima testa con utensili dell'insieme
|
||||
for ( int i = 0, nTools = 0 ; i < int( vsHSet.size()) && nTools == 0 ; ++ i) {
|
||||
LoadTools( vsHSet[i], &nTools) ;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
Machine::UnloadTools( const string& sHead)
|
||||
|
||||
Reference in New Issue
Block a user