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 nGenMachiningKey {
KEY_DH = 0,
KEY_AB = 0,
KEY_AI,
KEY_DH,
KEY_F,
KEY_FE,
KEY_FS,
@@ -41,12 +43,15 @@ enum nGenMachiningKey {
KEY_S,
KEY_SCC,
KEY_SUBTYPE,
KEY_TI,
KEY_TNAME,
KEY_TUUID,
KEY_UUID,
KEY_ZZZ} ; // rappresenta il numero di elementi
static const std::array<std::string,KEY_ZZZ> sGenMachiningKey = {
"AB",
"AI",
"DH",
"F",
"FE",
@@ -62,6 +67,7 @@ static const std::array<std::string,KEY_ZZZ> sGenMachiningKey = {
"S",
"SCC",
"SUB",
"TI",
"TN",
"TU",
"UUID"} ;
@@ -99,9 +105,11 @@ GenMachiningData::CopyFrom( const MachiningData* pMdata)
// eseguo copia
m_Uuid = pGdata->m_Uuid ;
m_sName = pGdata->m_sName ;
m_nSolCh = pGdata->m_nSolCh ;
m_ToolUuid = pGdata->m_ToolUuid ;
m_sToolName = pGdata->m_sToolName ;
m_sBlockedAxis = pGdata->m_sBlockedAxis ;
m_sInitAngs = pGdata->m_sInitAngs ;
m_nSolCh = pGdata->m_nSolCh ;
m_dSpeed = pGdata->m_dSpeed ;
m_dFeed = pGdata->m_dFeed ;
m_dEndFeed = pGdata->m_dEndFeed ;
@@ -109,6 +117,7 @@ GenMachiningData::CopyFrom( const MachiningData* pMdata)
m_dTipFeed = pGdata->m_dTipFeed ;
m_dOffsL = pGdata->m_dOffsL ;
m_dOffsR = pGdata->m_dOffsR ;
m_bToolInvert = pGdata->m_bToolInvert ;
m_bInvert = pGdata->m_bInvert ;
m_sDepth = pGdata->m_sDepth ;
m_dStartPos = pGdata->m_dStartPos ;
@@ -134,6 +143,8 @@ GenMachiningData::SameAs(const MachiningData* pMdata) const
m_sName == pGdata->m_sName &&
m_ToolUuid == pGdata->m_ToolUuid &&
m_sToolName == pGdata->m_sToolName &&
m_sBlockedAxis == pGdata->m_sBlockedAxis &&
m_sInitAngs == pGdata->m_sInitAngs &&
m_nSolCh == pGdata->m_nSolCh &&
abs( m_dSpeed - pGdata->m_dSpeed) < EPS_MACH_ANG_PAR &&
abs( m_dFeed - pGdata->m_dFeed) < EPS_MACH_LEN_PAR &&
@@ -142,6 +153,7 @@ GenMachiningData::SameAs(const MachiningData* pMdata) const
abs( m_dTipFeed - pGdata->m_dTipFeed) < EPS_MACH_LEN_PAR &&
abs( m_dOffsL - pGdata->m_dOffsL) < EPS_MACH_LEN_PAR &&
abs( m_dOffsR - pGdata->m_dOffsR) < EPS_MACH_LEN_PAR &&
m_bToolInvert == pGdata->m_bToolInvert &&
m_bInvert == pGdata->m_bInvert &&
m_sDepth == pGdata->m_sDepth &&
abs( m_dStartPos - pGdata->m_dStartPos) < EPS_MACH_LEN_PAR &&
@@ -186,6 +198,12 @@ GenMachiningData::FromString( const string& sString, int& nKey)
nKey = FindGenMachiningKey( 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())
@@ -237,6 +255,9 @@ GenMachiningData::FromString( const string& sString, int& nKey)
case KEY_TNAME :
m_sToolName = sVal ;
break ;
case KEY_TI :
bOk = ::FromString( sVal, m_bToolInvert) ;
break ;
case KEY_TUUID :
bOk = ::FromString( sVal, m_ToolUuid) ;
break ;
@@ -255,6 +276,8 @@ string
GenMachiningData::ToString( int nKey) const
{
switch ( nKey) {
case KEY_AB : return ( sGenMachiningKey[KEY_AB] + "=" + m_sBlockedAxis) ;
case KEY_AI : return ( sGenMachiningKey[KEY_AI] + "=" + m_sInitAngs) ;
case KEY_DH : return ( sGenMachiningKey[KEY_DH] + "=" + m_sDepth) ;
case KEY_F : return ( sGenMachiningKey[KEY_F] + "=" + ::ToString( m_dFeed)) ;
case KEY_FE : return ( sGenMachiningKey[KEY_FE] + "=" + ::ToString( m_dEndFeed)) ;
@@ -270,6 +293,7 @@ GenMachiningData::ToString( int nKey) const
case KEY_S : return ( sGenMachiningKey[KEY_S] + "=" + ::ToString( m_dSpeed)) ;
case KEY_SCC : return ( sGenMachiningKey[KEY_SCC] + "=" + ::ToString( m_nSolCh)) ;
case KEY_SUBTYPE : return ( sGenMachiningKey[KEY_SUBTYPE] + "=" + ::ToString( m_nSubType)) ;
case KEY_TI : return ( sGenMachiningKey[KEY_TI] + "=" + ::ToString( m_bToolInvert)) ;
case KEY_TNAME : return ( sGenMachiningKey[KEY_TNAME] + "=" + m_sToolName) ;
case KEY_TUUID : return ( sGenMachiningKey[KEY_TUUID] + "=" + ::ToString( m_ToolUuid)) ;
case KEY_UUID : return ( sGenMachiningKey[KEY_UUID] + "=" + ::ToString( m_Uuid)) ;
@@ -281,7 +305,7 @@ GenMachiningData::ToString( int nKey) const
bool
GenMachiningData::IsOptional( int nKey) const
{
return false ;
return ( nKey == KEY_AB || nKey == KEY_AI || nKey == KEY_TI) ;
}
//----------------------------------------------------------------------------
@@ -324,6 +348,9 @@ GenMachiningData::SetParam( int nType, bool bVal)
case MPA_INVERT :
m_bInvert = bVal ;
return true ;
case MPA_TOOLINVERT :
m_bToolInvert = bVal ;
return true ;
}
return false ;
}
@@ -405,6 +432,12 @@ GenMachiningData::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 ;
}
@@ -426,6 +459,9 @@ GenMachiningData::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 ;
@@ -510,6 +546,12 @@ GenMachiningData::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 ;