EgtMachKernel 1.9i3 :

- in fresature e svuotature aggiunto controllo massimo affondamento anche con lavorazione a step.
This commit is contained in:
Dario Sassi
2018-09-21 06:37:40 +00:00
parent 3016bcf90b
commit ddd26ec19c
13 changed files with 199 additions and 63 deletions
+12 -5
View File
@@ -136,22 +136,29 @@ Machine::LoadTool( Exit* pExit, const string& sTool)
int nSolidId = m_pGeomDB->GetFirstNameInGroup( nTGrpId, "SOLID") ;
if ( nSolidId == GDB_ID_NULL)
return false ;
// sposto eventuali info relative al porta utensile (ToolHolder) nel gruppo SOLID
double dVal ;
if ( m_pGeomDB->GetInfo( nTGrpId, TTH_LEN, dVal))
m_pGeomDB->SetInfo( nSolidId, TTH_LEN, dVal) ;
if ( m_pGeomDB->GetInfo( nTGrpId, TTH_DIAM, dVal))
m_pGeomDB->SetInfo( nSolidId, TTH_DIAM, dVal) ;
if ( m_pGeomDB->GetInfo( nTGrpId, TTH_STEM_DIAM, dVal))
m_pGeomDB->SetInfo( nSolidId, TTH_STEM_DIAM, dVal) ;
// sposto il gruppo SOLID nell'uscita ed elimino la sua vecchia base
m_pGeomDB->RelocateGlob( nSolidId, nExGrp, GDB_FIRST_SON) ;
m_pGeomDB->Erase( nTGrpId) ;
// rinomino il gruppo SOLID con il nome dell'utensile
if ( ! m_pGeomDB->SetName( nSolidId, sTool)) {
string sOut = "LoadTool error : " + sTool + " invalid name" ;
LOG_INFO( GetEMkLogger(), sOut.c_str())
return false ;
}
// lo ruoto 90 deg attorno alla X locale
int nT = m_pGeomDB->GetFirstGroupInGroup( nExGrp) ;
if ( nT == GDB_ID_NULL)
return false ;
m_pGeomDB->Rotate( nT, ORIG, X_AX, 0, 1) ;
m_pGeomDB->Rotate( nSolidId, ORIG, X_AX, 0, 1) ;
// se mortasa, lo ruoto 90 deg attorno a Z
int nType ;
if ( m_pMchMgr->TdbGetCurrToolParam( TPA_TYPE, nType) && nType == TT_MORTISE_STD)
m_pGeomDB->Rotate( nT, ORIG, Z_AX, 0, 1) ;
m_pGeomDB->Rotate( nSolidId, ORIG, Z_AX, 0, 1) ;
pExit->SetTool( sTool) ;
return true ;
}