EgtMachKernel :
- aggiunta gestione quota di base del tool holder ( se negativa indica spazio libero su testa).
This commit is contained in:
+17
-7
@@ -561,12 +561,13 @@ ToolsMgr::SaveCurrTool( void)
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
ToolsMgr::UpdateCurrToolHolderData( double dTHoldLen, double dTHoldDiam)
|
||||
ToolsMgr::UpdateCurrToolHolderData( double dTHoldBase, double dTHoldLen, double dTHoldDiam)
|
||||
{
|
||||
// verifico validità utensile corrente
|
||||
if ( ! m_bCurrTool)
|
||||
return false ;
|
||||
// Aggiorno i dati nelle note di sistema
|
||||
SetValInNotes( TSI_THBASE, dTHoldBase, m_tdCurrTool.m_sSysNotes) ;
|
||||
SetValInNotes( TSI_THLEN, dTHoldLen, m_tdCurrTool.m_sSysNotes) ;
|
||||
SetValInNotes( TSI_THDIAM, dTHoldDiam, m_tdCurrTool.m_sSysNotes) ;
|
||||
return true ;
|
||||
@@ -679,21 +680,24 @@ ToolsMgr::GetCurrToolMaxDepth( double dSafe, double& dMaxDepth) const
|
||||
// se fresa
|
||||
else if ( ( m_tdCurrTool.m_nType & TF_MILL) != 0) {
|
||||
// recupero le dimensioni del porta utensili
|
||||
double dTHoldBase = 0 ;
|
||||
double dTHoldLen = 0 ;
|
||||
double dTHoldDiam = 0 ;
|
||||
if ( ! GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THLEN, dTHoldLen) ||
|
||||
if ( ! GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THBASE, dTHoldBase) ||
|
||||
! GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THLEN, dTHoldLen) ||
|
||||
! GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THDIAM, dTHoldDiam)) {
|
||||
(const_cast<ToolsMgr*>(this))->SaveCurrTool() ;
|
||||
Save() ;
|
||||
GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THBASE, dTHoldBase) ;
|
||||
GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THLEN, dTHoldLen) ;
|
||||
GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THDIAM, dTHoldDiam) ;
|
||||
}
|
||||
// calcolo il massimo affondamento (lunghezza TH negativa significa che TH è parte della testa)
|
||||
// calcolo il massimo affondamento
|
||||
dMaxDepth = m_tdCurrTool.m_dLen - dSafe ;
|
||||
if ( m_tdCurrTool.m_dDiam > dTHoldDiam)
|
||||
dMaxDepth -= min( 0., dTHoldLen) ;
|
||||
dMaxDepth -= dTHoldBase ;
|
||||
else
|
||||
dMaxDepth -= max( 0., dTHoldLen) ;
|
||||
dMaxDepth -= dTHoldLen ;
|
||||
return true ;
|
||||
}
|
||||
// se mortasatrice o sega a catena
|
||||
@@ -734,12 +738,15 @@ ToolsMgr::GetCurrToolThDiam( double& dThDiam) const
|
||||
( m_tdCurrTool.m_nType & TF_MILL) != 0 ||
|
||||
( m_tdCurrTool.m_nType & TF_CHISEL) != 0) {
|
||||
// recupero le dimensioni del porta utensili
|
||||
double dTHoldBase = 0 ;
|
||||
double dTHoldLen = 0 ;
|
||||
double dTHoldDiam = 0 ;
|
||||
if ( ! GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THLEN, dTHoldLen) ||
|
||||
if ( ! GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THBASE, dTHoldBase) ||
|
||||
! GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THLEN, dTHoldLen) ||
|
||||
! GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THDIAM, dTHoldDiam)) {
|
||||
(const_cast<ToolsMgr*>(this))->SaveCurrTool() ;
|
||||
Save() ;
|
||||
GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THBASE, dTHoldBase) ;
|
||||
GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THLEN, dTHoldLen) ;
|
||||
GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THDIAM, dTHoldDiam) ;
|
||||
}
|
||||
@@ -770,12 +777,15 @@ ToolsMgr::GetCurrToolThLength( double& dThLen) const
|
||||
( m_tdCurrTool.m_nType & TF_MILL) != 0 ||
|
||||
( m_tdCurrTool.m_nType & TF_CHISEL) != 0) {
|
||||
// recupero le dimensioni del porta utensili
|
||||
double dTHoldBase = 0 ;
|
||||
double dTHoldLen = 0 ;
|
||||
double dTHoldDiam = 0 ;
|
||||
if ( ! GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THLEN, dTHoldLen) ||
|
||||
if ( ! GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THBASE, dTHoldBase) ||
|
||||
! GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THLEN, dTHoldLen) ||
|
||||
! GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THDIAM, dTHoldDiam)) {
|
||||
(const_cast<ToolsMgr*>(this))->SaveCurrTool() ;
|
||||
Save() ;
|
||||
GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THBASE, dTHoldBase) ;
|
||||
GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THLEN, dTHoldLen) ;
|
||||
GetValInNotes( m_tdCurrTool.m_sSysNotes, TSI_THDIAM, dTHoldDiam) ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user