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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user