EgtMachKernel 1.6r8 :

- aggiunta gestione SCC (Solution Choice Criterion) nelle lavorazioni
- possibilità di calcolo Tip con dimensioni massime anzichè quelle di lavoro
- migliorato controllo pezzi prima di inserimento nei grezzi
- migliorato caricamento tavola al cambio di gruppo di lavoro
- aggiunta prima versione di risalita tra i percorsi di lavorazione in base a controllo collisioni (ora solo box)
- in simulazione imposto variabile nome tavola prima di OnDispositionStart.
This commit is contained in:
Dario Sassi
2016-06-02 07:03:24 +00:00
parent 3cd21182d3
commit fe0cbd0191
37 changed files with 593 additions and 110 deletions
+25 -1
View File
@@ -17,6 +17,7 @@
#include "MachiningDataFactory.h"
#include "MachiningConst.h"
#include "/EgtDev/Include/EmkToolConst.h"
#include "/EgtDev/Include/EmkSimuGenConst.h"
#include "/EgtDev/Include/EGnStringUtils.h"
#include <array>
#include <cassert>
@@ -44,6 +45,7 @@ enum nDrillingKey {
KEY_PS,
KEY_S,
KEY_SAL,
KEY_SCC,
KEY_ST,
KEY_SUBTYPE,
KEY_TNAME,
@@ -71,6 +73,7 @@ static const std::array<std::string,KEY_ZZZ> sDrillingKey = {
"PS",
"S",
"SAL",
"SCC",
"ST",
"SUB",
"TN",
@@ -110,6 +113,7 @@ DrillingData::CopyFrom( const MachiningData* pMdata)
// eseguo copia
m_Uuid = pDdata->m_Uuid ;
m_sName = pDdata->m_sName ;
m_nSolCh = pDdata->m_nSolCh ;
m_ToolUuid = pDdata->m_ToolUuid ;
m_sToolName = pDdata->m_sToolName ;
m_dSpeed = pDdata->m_dSpeed ;
@@ -151,6 +155,7 @@ DrillingData::SameAs(const MachiningData* pMdata) const
m_sName == pDdata->m_sName &&
m_ToolUuid == pDdata->m_ToolUuid &&
m_sToolName == pDdata->m_sToolName &&
m_nSolCh == pDdata->m_nSolCh &&
abs( m_dSpeed - pDdata->m_dSpeed) < EPS_MACH_ANG_PAR &&
abs( m_dFeed - pDdata->m_dFeed) < EPS_MACH_LEN_PAR &&
abs( m_dEndFeed - pDdata->m_dEndFeed) < EPS_MACH_LEN_PAR &&
@@ -273,6 +278,9 @@ DrillingData::FromString( const string& sString, int& nKey)
case KEY_SAL :
bOk = ::FromString( sVal, m_dStartAddLen) ;
break ;
case KEY_SCC :
bOk = ::FromString( sVal, m_nSolCh) ;
break ;
case KEY_ST :
bOk = ::FromString( sVal, m_dStep) ;
break ;
@@ -319,6 +327,7 @@ DrillingData::ToString( int nKey) const
case KEY_PS : return ( sDrillingKey[KEY_PS] + "=" + ::ToString( m_dStartPos)) ;
case KEY_S : return ( sDrillingKey[KEY_S] + "=" + ::ToString( m_dSpeed)) ;
case KEY_SAL : return ( sDrillingKey[KEY_SAL] + "=" + ::ToString( m_dStartAddLen)) ;
case KEY_SCC : return ( sDrillingKey[KEY_SCC] + "=" + ::ToString( m_nSolCh)) ;
case KEY_ST : return ( sDrillingKey[KEY_ST] + "=" + ::ToString( m_dStep)) ;
case KEY_TNAME : return ( sDrillingKey[KEY_TNAME] + "=" + m_sToolName) ;
case KEY_TUUID : return ( sDrillingKey[KEY_TUUID] + "=" + ::ToString( m_ToolUuid)) ;
@@ -334,7 +343,14 @@ DrillingData::IsOptional( int nKey) const
{
return ( nKey == KEY_EAL || nKey == KEY_F || nKey == KEY_FE || nKey == KEY_FS || nKey == KEY_FT ||
nKey == KEY_NNS || nKey == KEY_NNU || nKey == KEY_S || nKey == KEY_SAL ||
nKey == KEY_SUBTYPE || nKey == KEY_OFF || nKey == KEY_OVL) ;
nKey == KEY_SUBTYPE || nKey == KEY_OFF || nKey == KEY_OVL || nKey == KEY_SCC) ;
}
//----------------------------------------------------------------------------
bool
DrillingData::VerifySolCh( int nVal) const
{
return IsValidOperationScc( nVal) ;
}
//----------------------------------------------------------------------------
@@ -382,6 +398,11 @@ DrillingData::SetParam( int nType, int nVal)
case MPA_SUBTYPE :
m_nSubType = nVal ;
return true ;
case MPA_SCC :
if ( ! VerifySolCh( nVal))
return false ;
m_nSolCh = nVal ;
return true ;
}
return false ;
}
@@ -509,6 +530,9 @@ DrillingData::GetParam( int nType, int& nVal) const
case MPA_SUBTYPE :
nVal = m_nSubType ;
return true ;
case MPA_SCC :
nVal = m_nSolCh ;
return true ;
}
return false ;
}