EgtMachKernel 2.5i1 :
- aggiunta visualizzazione geometria di lavorazione in doppio per Drill, Pocketing e Milling - a OnSetHead passata anche variabile globale EMC.USERNOTES con note utente dell'utensile - in Simulazione corretto richiamo impostazione virtual milling su utensili con raggio maggiore del massimo gambo ammesso dal portautensile.
This commit is contained in:
+20
-6
@@ -73,6 +73,7 @@ using namespace std ;
|
||||
// 2429 = "Error in Pocketing : machining depth (xxx) bigger than MaxDepth (yyy)"
|
||||
// 2430 = "Error in Pocketing : adjust open edges failed"
|
||||
// 2431 = "Error in Pocketing : LeadIn with Mill NoTip in material"
|
||||
// 2432 = "Error in Pocketing : Mirror for Double calculation failed"
|
||||
// 2451 = "Warning in Pocketing : Skipped entity (xx)"
|
||||
// 2452 = "Warning in Pocketing : No machinable pocket"
|
||||
// 2453 = "Warning in Pocketing : Tool name changed (xx)"
|
||||
@@ -665,12 +666,6 @@ Pocketing::Apply( bool bRecalc, bool bPostApply)
|
||||
m_dTHoldDiam = 0 ;
|
||||
m_pGeomDB->GetInfo( nToolId, TTH_DIAM, m_dTHoldDiam) ;
|
||||
|
||||
// se necessario, eseguo concatenamento ed inserisco i percorsi sotto la geometria ausiliaria
|
||||
if ( bChain && ! Chain( nAuxId)) {
|
||||
m_pMchMgr->SetLastError( 2421, "Error in Pocketing : Chaining failed") ;
|
||||
return false ;
|
||||
}
|
||||
|
||||
// recupero gruppo per geometria di lavorazione (Cutter Location)
|
||||
int nClId = m_pGeomDB->GetFirstNameInGroup( m_nOwnerId, MCH_CL) ;
|
||||
// se non c'è, lo aggiungo
|
||||
@@ -684,6 +679,19 @@ Pocketing::Apply( bool bRecalc, bool bPostApply)
|
||||
else
|
||||
m_pGeomDB->EmptyGroup( nClId) ;
|
||||
|
||||
// elimino eventuale gruppo geometria simmetrica per lavorazione in doppio
|
||||
int nDblId = m_pGeomDB->GetFirstNameInGroup( m_nOwnerId, MCH_DBL) ;
|
||||
if ( nDblId != GDB_ID_NULL) {
|
||||
m_pGeomDB->Erase( nDblId) ;
|
||||
nDblId = GDB_ID_NULL ;
|
||||
}
|
||||
|
||||
// se necessario, eseguo concatenamento ed inserisco i percorsi sotto la geometria ausiliaria
|
||||
if ( bChain && ! Chain( nAuxId)) {
|
||||
m_pMchMgr->SetLastError( 2421, "Error in Pocketing : Chaining failed") ;
|
||||
return false ;
|
||||
}
|
||||
|
||||
// lavoro ogni singola catena
|
||||
bool bOk = true ;
|
||||
int nPathId = m_pGeomDB->GetFirstGroupInGroup( nAuxId) ;
|
||||
@@ -701,6 +709,12 @@ Pocketing::Apply( bool bRecalc, bool bPostApply)
|
||||
// eseguo aggiornamento assi macchina e collegamento con operazione precedente
|
||||
if ( ! Update( bPostApply))
|
||||
return false ;
|
||||
|
||||
// se lavorazione in doppio, aggiungo geometria della parte simmetrica
|
||||
if ( ! CalcMirrorByDouble( nClId, m_Params.m_sUserNotes)) {
|
||||
m_pMchMgr->SetLastError( 2432, "Error in Pocketing : Mirror for Double calculation failed") ;
|
||||
return false ;
|
||||
}
|
||||
|
||||
// aggiorno stato della lavorazione
|
||||
m_nStatus = ( bPostApply ? MCH_ST_OK : MCH_ST_NO_POSTAPPL) ;
|
||||
|
||||
Reference in New Issue
Block a user