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
+45 -3
View File
@@ -26,7 +26,9 @@ using namespace std ;
//----------------------------------------------------------------------------
enum nChiselingKey {
KEY_DH = 0,
KEY_AB = 0,
KEY_AI,
KEY_DH,
KEY_EAL,
KEY_F,
KEY_FE,
@@ -41,6 +43,7 @@ enum nChiselingKey {
KEY_PS,
KEY_SCC,
KEY_ST,
KEY_TI,
KEY_TNAME,
KEY_TUUID,
KEY_UUID,
@@ -48,6 +51,8 @@ enum nChiselingKey {
KEY_ZZZ} ; // rappresenta il numero di elementi
static const std::array<std::string,KEY_ZZZ> sChiselingKey = {
"AB",
"AI",
"DH",
"EAL",
"F",
@@ -63,6 +68,7 @@ static const std::array<std::string,KEY_ZZZ> sChiselingKey = {
"PS",
"SCC",
"ST",
"TI",
"TN",
"TU",
"UUID",
@@ -101,15 +107,18 @@ ChiselingData::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_dFeed = pDdata->m_dFeed ;
m_dEndFeed = pDdata->m_dEndFeed ;
m_dTipFeed = pDdata->m_dTipFeed ;
m_dOffsL = pDdata->m_dOffsL ;
m_dOffsR = pDdata->m_dOffsR ;
m_nWorkSide = pDdata->m_nWorkSide ;
m_bToolInvert = pDdata->m_bToolInvert ;
m_bInvert = pDdata->m_bInvert ;
m_sDepth = pDdata->m_sDepth ;
m_dStartPos = pDdata->m_dStartPos ;
@@ -137,6 +146,8 @@ ChiselingData::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_dFeed - pDdata->m_dFeed) < EPS_MACH_LEN_PAR &&
abs( m_dEndFeed - pDdata->m_dEndFeed) < EPS_MACH_LEN_PAR &&
@@ -144,6 +155,7 @@ ChiselingData::SameAs(const MachiningData* pMdata) const
abs( m_dOffsL - pDdata->m_dOffsL) < EPS_MACH_LEN_PAR &&
abs( m_dOffsR - pDdata->m_dOffsR) < EPS_MACH_LEN_PAR &&
m_nWorkSide == pDdata->m_nWorkSide &&
m_bToolInvert == pDdata->m_bToolInvert &&
m_bInvert == pDdata->m_bInvert &&
m_sDepth == pDdata->m_sDepth &&
abs( m_dStartPos - pDdata->m_dStartPos) < EPS_MACH_LEN_PAR &&
@@ -190,6 +202,12 @@ ChiselingData::FromString( const string& sString, int& nKey)
nKey = FindChiselingKey( 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())
@@ -238,6 +256,9 @@ ChiselingData::FromString( const string& sString, int& nKey)
case KEY_ST :
bOk = ::FromString( sVal, m_dStep) ;
break ;
case KEY_TI :
bOk = ::FromString( sVal, m_bToolInvert) ;
break ;
case KEY_TNAME :
m_sToolName = sVal ;
break ;
@@ -262,6 +283,8 @@ string
ChiselingData::ToString( int nKey) const
{
switch ( nKey) {
case KEY_AB : return ( sChiselingKey[KEY_AB] + "=" + m_sBlockedAxis) ;
case KEY_AI : return ( sChiselingKey[KEY_AI] + "=" + m_sInitAngs) ;
case KEY_DH : return ( sChiselingKey[KEY_DH] + "=" + m_sDepth) ;
case KEY_EAL : return ( sChiselingKey[KEY_EAL] + "=" + ::ToString( m_dEndAddLen)) ;
case KEY_F : return ( sChiselingKey[KEY_F] + "=" + ::ToString( m_dFeed)) ;
@@ -277,6 +300,7 @@ ChiselingData::ToString( int nKey) const
case KEY_PS : return ( sChiselingKey[KEY_PS] + "=" + ::ToString( m_dStartPos)) ;
case KEY_SCC : return ( sChiselingKey[KEY_SCC] + "=" + ::ToString( m_nSolCh)) ;
case KEY_ST : return ( sChiselingKey[KEY_ST] + "=" + ::ToString( m_dStep)) ;
case KEY_TI : return ( sChiselingKey[KEY_TI] + "=" + ::ToString( m_bToolInvert)) ;
case KEY_TNAME : return ( sChiselingKey[KEY_TNAME] + "=" + m_sToolName) ;
case KEY_TUUID : return ( sChiselingKey[KEY_TUUID] + "=" + ::ToString( m_ToolUuid)) ;
case KEY_UUID : return ( sChiselingKey[KEY_UUID] + "=" + ::ToString( m_Uuid)) ;
@@ -289,7 +313,7 @@ ChiselingData::ToString( int nKey) const
bool
ChiselingData::IsOptional( int nKey) const
{
return false ;
return ( nKey == KEY_AB || nKey == KEY_AI || nKey == KEY_TI) ;
}
//----------------------------------------------------------------------------
@@ -338,6 +362,9 @@ ChiselingData::SetParam( int nType, bool bVal)
case MPA_INVERT :
m_bInvert = bVal ;
return true ;
case MPA_TOOLINVERT :
m_bToolInvert = bVal ;
return true ;
}
return false ;
}
@@ -424,6 +451,12 @@ ChiselingData::SetParam( int nType, const string& sVal)
case MPA_USERNOTES :
m_sUserNotes = sVal ;
return true ;
case MPA_INITANGS :
m_sInitAngs = sVal ;
return true ;
case MPA_BLOCKEDAXIS :
m_sBlockedAxis = sVal ;
return true ;
}
return false ;
}
@@ -445,6 +478,9 @@ ChiselingData::GetParam( int nType, bool& bVal) const
case MPA_INVERT :
bVal = m_bInvert ;
return true ;
case MPA_TOOLINVERT :
bVal = m_bToolInvert ;
return true ;
}
bVal = false ;
return false ;
@@ -532,6 +568,12 @@ ChiselingData::GetParam( int nType, string& sVal) const
case MPA_USERNOTES :
sVal = m_sUserNotes ;
return true ;
case MPA_INITANGS :
sVal = m_sInitAngs ;
return true ;
case MPA_BLOCKEDAXIS :
sVal = m_sBlockedAxis ;
return true ;
}
sVal = "" ;
return false ;