EgtMachKernel 1.6i9 :

- aggiunta gestione area della tavola (A1)
- i gruppi che rimangono come testimoni dei pezzi nei grezzi ora hanno livello system.
This commit is contained in:
Dario Sassi
2015-10-01 20:44:55 +00:00
parent 41c09abe37
commit e7d8b2fa83
5 changed files with 31 additions and 2 deletions
BIN
View File
Binary file not shown.
+1
View File
@@ -93,6 +93,7 @@ class MachMgr : public IMachMgr
// Tables and Fixtures
virtual bool SetTable( const std::string& sTable) ;
virtual bool GetTableRef1( Point3d& ptPos) ;
virtual bool GetTableArea1( int& nAreaId) ;
virtual int AddSubPiece( const std::string& sName, const Point3d& ptPos, double dAngRotDeg) ;
virtual bool ShowOnlyTable( bool bVal) ;
// Machine
+20
View File
@@ -47,6 +47,26 @@ MachMgr::GetTableRef1( Point3d& ptPos)
return pDisp->GetTableRef1( ptPos) ;
}
//----------------------------------------------------------------------------
bool
MachMgr::GetTableArea1( int& nAreaId)
{
// verifico DB geometrico
if ( m_pGeomDB == nullptr)
return false ;
// recupero la macchina corrente
Machine* pMch = GetCurrMachine() ;
if ( pMch == 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) ;
}
//----------------------------------------------------------------------------
int
MachMgr::AddSubPiece( const string& sName, const Point3d& ptPos, double dAngRotDeg)
+8 -2
View File
@@ -90,6 +90,8 @@ MachMgr::AddPartToRawPart( int nPartId, int nRawId)
if ( nGroup == GDB_ID_NULL ||
! m_pGeomDB->GroupSwap( nPartId, nGroup, true, true))
return false ;
// impongo il livello system al gruppo
m_pGeomDB->SetLevel( nGroup, GDB_LV_SYSTEM) ;
// mi assicuro sia visibile il pezzo e nascosto il gruppo
m_pGeomDB->SetStatus( nPartId, GDB_ST_ON) ;
m_pGeomDB->SetStatus( nGroup, GDB_ST_OFF) ;
@@ -126,6 +128,8 @@ MachMgr::AddPartToRawPart( int nPartId, const Point3d& ptPos, int nRawId)
if ( nGroup == GDB_ID_NULL ||
! m_pGeomDB->GroupSwap( nPartId, nGroup, true, true))
return false ;
// impongo il livello system al gruppo
m_pGeomDB->SetLevel( nGroup, GDB_LV_SYSTEM) ;
// mi assicuro sia visibile il pezzo e nascosto il gruppo
m_pGeomDB->SetStatus( nPartId, GDB_ST_ON) ;
m_pGeomDB->SetStatus( nGroup, GDB_ST_OFF) ;
@@ -246,8 +250,9 @@ MachMgr::SwapRawPartParts( int nRawId, bool bToRawPart)
int nBase ;
if ( m_pGeomDB->GetInfo( nId, GDB_SI_BASE, nBase)) {
m_pGeomDB->GroupSwap( nId, nBase, true, true) ;
// mi assicuro sia nascosto
// mi assicuro sia nascosto e di livello utente
m_pGeomDB->SetStatus( nId, GDB_ST_OFF) ;
m_pGeomDB->SetLevel( nId, GDB_LV_USER) ;
}
}
// passo al successivo
@@ -264,7 +269,8 @@ MachMgr::ShowRootParts( bool bShow)
int nId = m_pGeomDB->GetFirstGroupInGroup( GDB_ID_ROOT) ;
while ( nId != GDB_ID_NULL) {
// se pezzo, lo nascondo
if ( ! IsMachBase( nId) && ! IsMachAux( nId))
int nLevel ;
if ( m_pGeomDB->GetCalcLevel( nId, nLevel) && nLevel == GDB_LV_USER)
m_pGeomDB->SetStatus( nId, ( bShow ? GDB_ST_ON : GDB_ST_OFF)) ;
// passo al successivo
nId = m_pGeomDB->GetNextGroup( nId) ;
+2
View File
@@ -69,6 +69,8 @@ enum MchHeadType { MCH_HT_NONE = 0,
//----------------------------------------------------------------------------
// Identificativo iniziale riferimenti di tavola
const std::string MCH_TREF = "R" ;
// Identificativo iniziale area di tavola
const std::string MCH_TAREA ="A" ;
//----------------------------------------------------------------------------
// Identificativo iniziale gruppo uscita di teste