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:
Dario Sassi
2016-04-06 06:30:52 +00:00
parent f1b037db13
commit 2c8c8457a2
21 changed files with 4072 additions and 25 deletions
+29
View File
@@ -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