EgtMachKernel 1.6l2 :
- possibile rendere corrente testa con utensile nullo (per laser e simili).
This commit is contained in:
+23
-9
@@ -93,17 +93,31 @@ Machine::SetCurrTool( const string& sTool, const string& sHead, int nExit)
|
||||
if ( pExit == nullptr)
|
||||
return false ;
|
||||
// recupero i dati dell'utensile
|
||||
if ( ! LoadTool( sHead, nExit, sTool))
|
||||
return false ;
|
||||
int nToolId = m_pGeomDB->GetFirstNameInGroup( nExitId, sTool) ;
|
||||
if ( nToolId == GDB_ID_NULL || m_pGeomDB->GetGdbType( nToolId) != GDB_TY_GROUP)
|
||||
return false ;
|
||||
int nToolId = GDB_ID_NULL ;
|
||||
double dTLen = 0 ;
|
||||
double dTDiam = 0 ;
|
||||
if ( ! m_pMchMgr->TdbSetCurrTool( sTool) ||
|
||||
! m_pMchMgr->TdbGetCurrToolParam( TPA_LEN, dTLen) ||
|
||||
! m_pMchMgr->TdbGetCurrToolParam( TPA_DIAM, dTDiam))
|
||||
return false ;
|
||||
// se definito
|
||||
if ( ! sTool.empty()) {
|
||||
if ( ! LoadTool( sHead, nExit, sTool))
|
||||
return false ;
|
||||
nToolId = m_pGeomDB->GetFirstNameInGroup( nExitId, sTool) ;
|
||||
if ( nToolId == GDB_ID_NULL || m_pGeomDB->GetGdbType( nToolId) != GDB_TY_GROUP)
|
||||
return false ;
|
||||
if ( ! m_pMchMgr->TdbSetCurrTool( sTool) ||
|
||||
! m_pMchMgr->TdbGetCurrToolParam( TPA_LEN, dTLen) ||
|
||||
! m_pMchMgr->TdbGetCurrToolParam( TPA_DIAM, dTDiam))
|
||||
return false ;
|
||||
}
|
||||
// altrimenti casi speciali senza utensile
|
||||
else {
|
||||
// tolgo eventuale utensile dalla testa
|
||||
if ( ! ResetHeadSet( sHead))
|
||||
return false ;
|
||||
nToolId = GDB_ID_NULL ;
|
||||
dTLen = 0 ;
|
||||
dTDiam = 0 ;
|
||||
m_pMchMgr->TdbSetCurrTool( sTool) ;
|
||||
}
|
||||
// assegno tutti i dati
|
||||
m_nCalcHeadId = nHeadId ;
|
||||
m_nCalcExitId = nExitId ;
|
||||
|
||||
Reference in New Issue
Block a user