EgtMachKernel 1.9j6 :
- prima versione gestione lati aperti di svuotature - corrette Clone di lavorazioni per Copia - migliorata gestione visualizzazione Anteprima utensile in lavorazione.
This commit is contained in:
+11
-7
@@ -224,14 +224,20 @@ Machining::ToolPreview( int nEntId, int nFlag) const
|
||||
// verifico validità gestori DB geometrico e CAM
|
||||
if ( m_pGeomDB == nullptr || m_pMchMgr == nullptr)
|
||||
return GDB_ID_NULL ;
|
||||
// recupero la testa nel gruppo per anteprima utensile
|
||||
int nId = m_pGeomDB->GetFirstGroupInGroup( m_pGeomDB->GetFirstNameInGroup( GetOwner(), MCH_ST)) ;
|
||||
if ( nId == GDB_ID_NULL)
|
||||
return GDB_ID_NULL ;
|
||||
m_pGeomDB->SetStatus( nId, GDB_ST_OFF) ;
|
||||
// recupero gruppo per geometria di lavorazione (Cutter Location)
|
||||
int nClId = m_pGeomDB->GetFirstNameInGroup( GetOwner(), MCH_CL) ;
|
||||
if ( nClId == GDB_ID_NULL)
|
||||
return GDB_ID_NULL ;
|
||||
int nParentId ;
|
||||
// se entità nulla
|
||||
if ( nEntId == GDB_ID_NULL || ! m_pGeomDB->ExistsObj( nEntId)) {
|
||||
// recupero il gruppo di appartenenza
|
||||
int nParentId = m_pGeomDB->GetFirstGroupInGroup( nClId) ;
|
||||
nParentId = m_pGeomDB->GetFirstGroupInGroup( nClId) ;
|
||||
// se richiesta successiva
|
||||
if ( nFlag == MCH_TPM_AFTER)
|
||||
nEntId = GetToolPreviewNext( m_pGeomDB, nEntId, nParentId) ;
|
||||
@@ -245,7 +251,7 @@ Machining::ToolPreview( int nEntId, int nFlag) const
|
||||
// altrimenti
|
||||
else {
|
||||
// verifico che l'entità stia in un sottogruppo di CL
|
||||
int nParentId = m_pGeomDB->GetParentId( nEntId) ;
|
||||
nParentId = m_pGeomDB->GetParentId( nEntId) ;
|
||||
if ( m_pGeomDB->GetParentId( nParentId) == nClId) {
|
||||
// se richiesta successiva
|
||||
if ( nFlag == MCH_TPM_AFTER)
|
||||
@@ -257,6 +263,9 @@ Machining::ToolPreview( int nEntId, int nFlag) const
|
||||
else
|
||||
nEntId = GDB_ID_NULL ;
|
||||
}
|
||||
// se esiste il gruppo genitore, visualizzo testa preview
|
||||
if ( nParentId != GDB_ID_NULL)
|
||||
m_pGeomDB->SetStatus( nId, GDB_ST_ON) ;
|
||||
// recupero i dati di questa entità
|
||||
const CamData* pCamData = GetCamData( m_pGeomDB->GetUserObj( nEntId)) ;
|
||||
if ( pCamData == nullptr)
|
||||
@@ -265,11 +274,6 @@ Machining::ToolPreview( int nEntId, int nFlag) const
|
||||
AdjustEndPointForAxesCalc( pCamData, ptEnd) ;
|
||||
Vector3d vtTool = pCamData->GetToolDir() ;
|
||||
Vector3d vtBAux = pCamData->GetBackAuxDir() ;
|
||||
// recupero la testa nel gruppo per anteprima utensile
|
||||
int nId = m_pGeomDB->GetFirstGroupInGroup( m_pGeomDB->GetFirstNameInGroup( GetOwner(), MCH_ST)) ;
|
||||
if ( nId == GDB_ID_NULL)
|
||||
return GDB_ID_NULL ;
|
||||
m_pGeomDB->SetStatus( nId, GDB_ST_ON) ;
|
||||
// dati correnti testa/uscita
|
||||
int nExitId = m_pGeomDB->GetFirstNameInGroup( nId, MCH_EXIT + ToString( GetExitNbr())) ;
|
||||
Frame3d frExit ;
|
||||
|
||||
Reference in New Issue
Block a user