EgtMachKernel :
- aggiunta GetRawPartBBox - corretta impostazione feed finale in Milling - modifiche a Simulator per disposizioni con path vuoti e dati aux.
This commit is contained in:
+21
-5
@@ -355,6 +355,9 @@ Simulator::UpdateTool( bool bFirst)
|
||||
// recupero i dati
|
||||
string sTool ; string sHead ; int nExit ; string sTcPos ;
|
||||
pDisp->GetToolData( sTool, sHead, nExit, sTcPos) ;
|
||||
// !!! PROVVISORIO !!! Per disposizioni con percorso dummy con movimenti ausiliari
|
||||
if ( sTcPos == "***")
|
||||
return true ;
|
||||
// se esiste utensile corrente e cambierà, lo scarico
|
||||
if ( ! m_sTool.empty() && sTool != m_sTool) {
|
||||
// eventuale lancio script per scarico utensile
|
||||
@@ -542,13 +545,16 @@ bool
|
||||
Simulator::ManageOperationEnd( int& nStatus)
|
||||
{
|
||||
bool bOk = false ;
|
||||
// se è una lavorazione
|
||||
if ( GetMachining( m_pGeomDB->GetUserObj( m_nOpId)) != nullptr) {
|
||||
// non c'è operazione in corso (solo prima disposizione senza lavorazioni)
|
||||
if ( m_nOpId == GDB_ID_NULL)
|
||||
bOk = true ;
|
||||
// se altrimenti è una lavorazione
|
||||
else if ( GetMachining( m_pGeomDB->GetUserObj( m_nOpId)) != nullptr) {
|
||||
// richiamo gestione evento fine lavorazione
|
||||
bOk = OnMachiningEnd() ;
|
||||
}
|
||||
// se è una disposizione
|
||||
if ( GetDisposition( m_pGeomDB->GetUserObj( m_nOpId)) != nullptr) {
|
||||
// se altrimenti è una disposizione
|
||||
else if ( GetDisposition( m_pGeomDB->GetUserObj( m_nOpId)) != nullptr) {
|
||||
// richiamo gestione evento fine disposizione
|
||||
bOk = OnDispositionEnd() ;
|
||||
}
|
||||
@@ -585,7 +591,7 @@ Simulator::FindAndManagePathStart( int& nStatus)
|
||||
m_dCoeff = 0 ;
|
||||
}
|
||||
}
|
||||
// se trovato nuovo CLpath, gestisco inizio percorso di lavoro
|
||||
// se trovato nuovo CLpath con entità, gestisco inizio percorso di lavoro
|
||||
if ( m_nEntId != GDB_ID_NULL) {
|
||||
++ m_nCLPathInd ;
|
||||
// recupero punto di inizio del percorso
|
||||
@@ -614,6 +620,16 @@ Simulator::FindAndManagePathStart( int& nStatus)
|
||||
return false ;
|
||||
}
|
||||
}
|
||||
// se altrimenti trovato nuovo CL path vuoto
|
||||
else if ( m_nCLPathId != GDB_ID_NULL) {
|
||||
// non ci possono essere eventi ausiliari di inizio
|
||||
m_nAuxSTot = 0 ;
|
||||
m_nAuxSInd = 0 ;
|
||||
// recupero il numero di eventi ausiliari di fine
|
||||
if ( ! m_pGeomDB->GetInfo( m_nCLPathId, KEY_AE_TOT, m_nAuxETot))
|
||||
m_nAuxETot = 0 ;
|
||||
m_nAuxEInd = 0 ;
|
||||
}
|
||||
|
||||
return true ;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user