EgtMachKernel 1.8f4 :

- correzioni per rinvio da sotto speciale (MDC)
- ottimizzato caricamento altri utensili su testa con più uscite
- salvato stato visualizzazione macchina e aggiunta funzione per restituirlo
- si garantisce la visualizzazione completa della macchina durante Apply e Update delle lavorazioni.
This commit is contained in:
Dario Sassi
2017-06-27 13:54:41 +00:00
parent 7aa2675f49
commit b88aa9cf18
19 changed files with 159 additions and 35 deletions
+41
View File
@@ -116,6 +116,47 @@ Machining::GetEndPoint( Point3d& ptEnd) const
return false ;
}
//----------------------------------------------------------------------------
bool
Machining::ShowTool( int nPath, double dFraz) const
{
// verifico validità gestore DB geometrico
if ( m_pGeomDB == nullptr)
return false ;
// recupero gruppo per geometria di lavorazione (Cutter Location)
int nClId = m_pGeomDB->GetFirstNameInGroup( GetOwner(), MCH_CL) ;
if ( nClId == GDB_ID_NULL)
return false ;
// recupero la prima entità del primo sottogruppo
int nEntId = m_pGeomDB->GetFirstInGroup( m_pGeomDB->GetFirstGroupInGroup( nClId)) ;
if ( nEntId == GDB_ID_NULL)
return false ;
// recupero i dati di questa entità
const CamData* pCamData = GetCamData( m_pGeomDB->GetUserObj( nEntId)) ;
if ( pCamData == nullptr)
return false ;
Point3d ptEnd = pCamData->GetEndPoint() ;
Vector3d vtTool = pCamData->GetToolDir() ;
// creo o svuoto gruppo per anteprima utensile
int nStId = m_pGeomDB->GetFirstNameInGroup( GetOwner(), MCH_ST) ;
// se non c'è, lo aggiungo
if ( nStId == GDB_ID_NULL) {
nStId = m_pGeomDB->AddGroup( GDB_ID_NULL, GetOwner(), Frame3d()) ;
if ( nStId == GDB_ID_NULL)
return false ;
m_pGeomDB->SetName( nStId, MCH_ST) ;
m_pGeomDB->SetLevel( nStId, GDB_LV_TEMP) ;
}
// altrimenti lo svuoto
else
m_pGeomDB->EmptyGroup( nStId) ;
// copio la testa della lavorazione nel gruppo
int nHeadId = m_pMchMgr->GetHeadId( GetHeadName()) ;
int nId = m_pGeomDB->CopyGlob( nHeadId, GDB_ID_NULL, nStId) ;
m_pGeomDB->SetStatus( nId, GDB_ST_ON) ;
return true ;
}
//----------------------------------------------------------------------------
bool
Machining::PostApply( void)