EgtMachKernel 1.8e5 :

- gestione da parametri lavorazione di angoli iniziali suggeriti e asse rotante bloccato
- in fresatura, svuotatura, incisione e lav. generica aggiunta possibilità di invertire direzione utensile
- in fresatura aggiunto parametro per tipo lavorazione faccia (perpendicolare, parallela, ...)
- differenziata distanza sicurezza standard da distanza sicurezza per rinvio da sotto
- migliorati approcci e retrazioni con rinvio da sotto
- migliorata segnalazione errori.
This commit is contained in:
Dario Sassi
2017-05-31 14:18:11 +00:00
parent c9ab1c76ed
commit 6c7a60b60a
48 changed files with 1214 additions and 234 deletions
+32 -3
View File
@@ -26,7 +26,9 @@ using namespace std ;
//----------------------------------------------------------------------------
enum nDrillingKey {
KEY_DH = 0,
KEY_AB = 0,
KEY_AI,
KEY_DH,
KEY_EAL,
KEY_F,
KEY_FE,
@@ -54,6 +56,8 @@ enum nDrillingKey {
KEY_ZZZ} ; // rappresenta il numero di elementi
static const std::array<std::string,KEY_ZZZ> sDrillingKey = {
"AB",
"AI",
"DH",
"EAL",
"F",
@@ -113,9 +117,11 @@ 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_sBlockedAxis = pDdata->m_sBlockedAxis ;
m_sInitAngs = pDdata->m_sInitAngs ;
m_nSolCh = pDdata->m_nSolCh ;
m_dSpeed = pDdata->m_dSpeed ;
m_dFeed = pDdata->m_dFeed ;
m_dEndFeed = pDdata->m_dEndFeed ;
@@ -155,6 +161,8 @@ DrillingData::SameAs(const MachiningData* pMdata) const
m_sName == pDdata->m_sName &&
m_ToolUuid == pDdata->m_ToolUuid &&
m_sToolName == pDdata->m_sToolName &&
m_sBlockedAxis == pDdata->m_sBlockedAxis &&
m_sInitAngs == pDdata->m_sInitAngs &&
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 &&
@@ -214,6 +222,12 @@ DrillingData::FromString( const string& sString, int& nKey)
nKey = FindDrillingKey( ToUpper( sKey)) ;
bool bOk = ( nKey >= 0) ;
switch ( nKey) {
case KEY_AB :
m_sBlockedAxis = sVal ;
break ;
case KEY_AI :
m_sInitAngs = sVal ;
break ;
case KEY_DH :
m_sDepth = sVal ;
if ( m_sDepth.empty())
@@ -308,6 +322,8 @@ string
DrillingData::ToString( int nKey) const
{
switch ( nKey) {
case KEY_AB : return ( sDrillingKey[KEY_AB] + "=" + m_sBlockedAxis) ;
case KEY_AI : return ( sDrillingKey[KEY_AI] + "=" + m_sInitAngs) ;
case KEY_DH : return ( sDrillingKey[KEY_DH] + "=" + m_sDepth) ;
case KEY_EAL : return ( sDrillingKey[KEY_EAL] + "=" + ::ToString( m_dEndAddLen)) ;
case KEY_F : return ( sDrillingKey[KEY_F] + "=" + ::ToString( m_dFeed)) ;
@@ -341,7 +357,8 @@ DrillingData::ToString( int nKey) const
bool
DrillingData::IsOptional( int nKey) const
{
return ( nKey == KEY_EAL || nKey == KEY_F || nKey == KEY_FE || nKey == KEY_FS || nKey == KEY_FT ||
return ( nKey == KEY_AB || nKey == KEY_AI || 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_SCC) ;
}
@@ -494,6 +511,12 @@ DrillingData::SetParam( int nType, const string& sVal)
case MPA_OFFSET_STR :
m_sOffset = sVal ;
return true ;
case MPA_INITANGS :
m_sInitAngs = sVal ;
return true ;
case MPA_BLOCKEDAXIS :
m_sBlockedAxis = sVal ;
return true ;
}
return false ;
}
@@ -620,6 +643,12 @@ DrillingData::GetParam( int nType, string& sVal) const
case MPA_OFFSET_STR :
sVal = m_sOffset ;
return true ;
case MPA_INITANGS :
sVal = m_sInitAngs ;
return true ;
case MPA_BLOCKEDAXIS :
sVal = m_sBlockedAxis ;
return true ;
}
sVal = "" ;
return false ;