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:
Dario Sassi
2017-05-08 08:26:55 +00:00
parent 9e716a2d64
commit 73f37314a7
4 changed files with 42 additions and 10 deletions
+21 -5
View File
@@ -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 ;
}