diff --git a/Disposition.cpp b/Disposition.cpp index 77c415a..9f9fdd1 100644 --- a/Disposition.cpp +++ b/Disposition.cpp @@ -1367,6 +1367,10 @@ Disposition::SpecialApply( bool bRecalc) m_pMchMgr->SetWarning( 2053, sOut) ; } + // assegno ingombri dei vari percorsi di lavorazione e della lavorazione nel suo complesso + nClId = m_pGeomDB->GetFirstNameInGroup( m_nOwnerId, MCH_CL) ; + CalcAndSetBBox( nClId) ; + // eseguo aggiornamento assi macchina e collegamento con operazione precedente if ( ! SpecialUpdate()) return false ; @@ -1409,6 +1413,9 @@ Disposition::SpecialUpdate( void) m_pMchMgr->SetLastError( 2010, "Error in Disposition : link outstroke ") ; return false ; } + // assegno estremi degli assi dei vari percorsi di lavorazione e della lavorazione nel suo complesso + CalcAndSetAxesBBox() ; + return true ; } diff --git a/EgtMachKernel.rc b/EgtMachKernel.rc index d00c053..556c48e 100644 Binary files a/EgtMachKernel.rc and b/EgtMachKernel.rc differ diff --git a/Operation.cpp b/Operation.cpp index 9a291d3..48023ce 100644 --- a/Operation.cpp +++ b/Operation.cpp @@ -1017,13 +1017,17 @@ Operation::CalcAndSetBBox( int nClId) } } } - m_pGeomDB->SetInfo( nClPathId, KEY_PMIN, b3Grp.GetMin()) ; - m_pGeomDB->SetInfo( nClPathId, KEY_PMAX, b3Grp.GetMax()) ; - b3AllMch.Add( b3Grp) ; + if ( ! b3Grp.IsEmpty()) { + m_pGeomDB->SetInfo( nClPathId, KEY_PMIN, b3Grp.GetMin()) ; + m_pGeomDB->SetInfo( nClPathId, KEY_PMAX, b3Grp.GetMax()) ; + b3AllMch.Add( b3Grp) ; + } nClPathId = m_pGeomDB->GetNext( nClPathId) ; } - m_pGeomDB->SetInfo( nClId, KEY_MMIN, b3AllMch.GetMin()) ; - m_pGeomDB->SetInfo( nClId, KEY_MMAX, b3AllMch.GetMax()) ; + if ( ! b3AllMch.IsEmpty()) { + m_pGeomDB->SetInfo( nClId, KEY_MMIN, b3AllMch.GetMin()) ; + m_pGeomDB->SetInfo( nClId, KEY_MMAX, b3AllMch.GetMax()) ; + } return true ; }