EgtMachKernel :

- in calcolo angoli macchina aggiunta segnalazione di direzione utensile irraggiungibile
- in disposizione aggiunti controlli di sottopezzo e grezzo in tavola
- in simulazione la Move ora restituisce uno stato
- migliorato calcolo elevazione per lavorazioni con lama
- la tavola macchina conserva l'area utile.
This commit is contained in:
Dario Sassi
2015-11-23 09:06:44 +00:00
parent 8dd67afcb7
commit 2f016585bb
15 changed files with 134 additions and 49 deletions
+15 -15
View File
@@ -35,11 +35,14 @@ MachMgr::SetTable( const string& sTable)
//----------------------------------------------------------------------------
bool
MachMgr::GetTableRef1( Point3d& ptPos)
MachMgr::GetTableRef( int nInd, Point3d& ptPos)
{
// attualmente previsto solo il riferimento 1
if ( nInd != 1)
return false ;
// recupero la prima operazione, deve essere la disposizione
int nDispId = GetFirstOperation() ;
// recupero l'oggetto disposizione
// recupero il primo oggetto disposizione
Disposition* pDisp = dynamic_cast<Disposition*>( m_pGeomDB->GetUserObj( nDispId)) ;
if ( pDisp == nullptr)
return false ;
@@ -49,22 +52,19 @@ MachMgr::GetTableRef1( Point3d& ptPos)
//----------------------------------------------------------------------------
bool
MachMgr::GetTableArea1( int& nAreaId)
MachMgr::GetTableArea( int nInd, BBox3d& b3Area1)
{
// verifico DB geometrico
if ( m_pGeomDB == nullptr)
// attualmente prevista solo l'area 1
if ( nInd != 1)
return false ;
// recupero la macchina corrente
Machine* pMch = GetCurrMachine() ;
if ( pMch == nullptr)
// recupero la prima operazione, deve essere la disposizione
int nDispId = GetFirstOperation() ;
// recupero il primo oggetto disposizione
Disposition* pDisp = dynamic_cast<Disposition*>( m_pGeomDB->GetUserObj( nDispId)) ;
if ( pDisp == nullptr)
return false ;
// recupero la tavola corrente
int nTabId = pMch->GetCurrTable() ;
if ( nTabId == GDB_ID_NULL)
return false ;
// recupero l'oggetto che ne definisce l'area utile
nAreaId = m_pGeomDB->GetFirstNameInGroup( nTabId, MCH_TAREA + "1") ;
return ( nAreaId != GDB_ID_NULL) ;
// recupero il bounding box
return pDisp->GetTableArea1( b3Area1) ;
}
//----------------------------------------------------------------------------