EgtMachKernel 1.6o4 :
- aggiunte lavorazioni di sgrossatura e finitura con lama di cornici lineari - al caricamento, se gruppo macchinata errato, lo sposto in un gruppo di errore anzichè cancellarlo - aggiunta GetRawGlobBox.
This commit is contained in:
@@ -325,6 +325,35 @@ Machining::GetDistanceFromRawBottom( int nPhase, int nPathId, double dToler, dou
|
||||
return true ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
Machining::GetRawGlobBox( int nPhase, int nPathId, BBox3d& b3Raw)
|
||||
{
|
||||
if ( m_pMchMgr == nullptr || m_pGeomDB == nullptr)
|
||||
return false ;
|
||||
// inizializzo box
|
||||
b3Raw.Reset() ;
|
||||
// ricerco grezzi interessati dal percorso
|
||||
BBox3d b3Compo ;
|
||||
if ( ! m_pGeomDB->GetGlobalBBox( nPathId, b3Compo))
|
||||
return false ;
|
||||
b3Compo.Expand( 10 * EPS_SMALL, 10 * EPS_SMALL, 0) ;
|
||||
int nRawId = m_pMchMgr->GetFirstRawPart() ;
|
||||
while ( nRawId != GDB_ID_NULL) {
|
||||
// verifico che il grezzo compaia nella fase
|
||||
if ( m_pMchMgr->VerifyRawPartPhase( nRawId, nPhase)) {
|
||||
BBox3d b3OneRaw ;
|
||||
int nRawSolidId = m_pGeomDB->GetFirstNameInGroup( nRawId, MACH_RAW_SOLID) ;
|
||||
if ( m_pGeomDB->GetGlobalBBox( nRawSolidId, b3OneRaw) && b3Compo.OverlapsXY( b3OneRaw)) {
|
||||
b3Raw.Add( b3OneRaw) ;
|
||||
}
|
||||
}
|
||||
// passo al grezzo successivo
|
||||
nRawId = m_pMchMgr->GetNextRawPart( nRawId) ;
|
||||
}
|
||||
return true ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
|
||||
Reference in New Issue
Block a user