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:
+74
-5
@@ -26,12 +26,15 @@ using namespace std ;
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
enum nMillingKey {
|
||||
KEY_DH = 0,
|
||||
KEY_AB = 0,
|
||||
KEY_AI,
|
||||
KEY_DH,
|
||||
KEY_EAL,
|
||||
KEY_F,
|
||||
KEY_FE,
|
||||
KEY_FS,
|
||||
KEY_FT,
|
||||
KEY_FU,
|
||||
KEY_INV,
|
||||
KEY_LICL,
|
||||
KEY_LIEL,
|
||||
@@ -60,6 +63,7 @@ enum nMillingKey {
|
||||
KEY_TA,
|
||||
KEY_TD,
|
||||
KEY_TH,
|
||||
KEY_TI,
|
||||
KEY_TL,
|
||||
KEY_TNAME,
|
||||
KEY_TUUID,
|
||||
@@ -68,12 +72,15 @@ enum nMillingKey {
|
||||
KEY_ZZZ} ; // rappresenta il numero di elementi
|
||||
|
||||
static const std::array<std::string,KEY_ZZZ> sMillingKey = {
|
||||
"AB",
|
||||
"AI",
|
||||
"DH",
|
||||
"EAL",
|
||||
"F",
|
||||
"FE",
|
||||
"FS",
|
||||
"FT",
|
||||
"FU",
|
||||
"INV",
|
||||
"LICL",
|
||||
"LIEL",
|
||||
@@ -102,6 +109,7 @@ static const std::array<std::string,KEY_ZZZ> sMillingKey = {
|
||||
"TA",
|
||||
"TD",
|
||||
"TH",
|
||||
"TI",
|
||||
"TL",
|
||||
"TN",
|
||||
"TU",
|
||||
@@ -143,6 +151,8 @@ MillingData::CopyFrom( const MachiningData* pMdata)
|
||||
m_sName = pSdata->m_sName ;
|
||||
m_ToolUuid = pSdata->m_ToolUuid ;
|
||||
m_sToolName = pSdata->m_sToolName ;
|
||||
m_sBlockedAxis = pSdata->m_sBlockedAxis ;
|
||||
m_sInitAngs = pSdata->m_sInitAngs ;
|
||||
m_nSolCh = pSdata->m_nSolCh ;
|
||||
m_dSpeed = pSdata->m_dSpeed ;
|
||||
m_dFeed = pSdata->m_dFeed ;
|
||||
@@ -151,6 +161,8 @@ MillingData::CopyFrom( const MachiningData* pMdata)
|
||||
m_dTipFeed = pSdata->m_dTipFeed ;
|
||||
m_dOffsL = pSdata->m_dOffsL ;
|
||||
m_dOffsR = pSdata->m_dOffsR ;
|
||||
m_bToolInvert = pSdata->m_bToolInvert ;
|
||||
m_nFaceUse = pSdata->m_nFaceUse ;
|
||||
m_bInvert = pSdata->m_bInvert ;
|
||||
m_nWorkSide = pSdata->m_nWorkSide ;
|
||||
m_sDepth = pSdata->m_sDepth ;
|
||||
@@ -197,6 +209,8 @@ MillingData::SameAs(const MachiningData* pMdata) const
|
||||
m_sName == pSdata->m_sName &&
|
||||
m_ToolUuid == pSdata->m_ToolUuid &&
|
||||
m_sToolName == pSdata->m_sToolName &&
|
||||
m_sBlockedAxis == pSdata->m_sBlockedAxis &&
|
||||
m_sInitAngs == pSdata->m_sInitAngs &&
|
||||
m_nSolCh == pSdata->m_nSolCh &&
|
||||
abs( m_dSpeed - pSdata->m_dSpeed) < EPS_MACH_ANG_PAR &&
|
||||
abs( m_dFeed - pSdata->m_dFeed) < EPS_MACH_LEN_PAR &&
|
||||
@@ -205,6 +219,8 @@ MillingData::SameAs(const MachiningData* pMdata) const
|
||||
abs( m_dTipFeed - pSdata->m_dTipFeed) < EPS_MACH_LEN_PAR &&
|
||||
abs( m_dOffsL - pSdata->m_dOffsL) < EPS_MACH_LEN_PAR &&
|
||||
abs( m_dOffsR - pSdata->m_dOffsR) < EPS_MACH_LEN_PAR &&
|
||||
m_bToolInvert == pSdata->m_bToolInvert &&
|
||||
m_nFaceUse == pSdata->m_nFaceUse &&
|
||||
m_bInvert == pSdata->m_bInvert &&
|
||||
m_nWorkSide == pSdata->m_nWorkSide &&
|
||||
m_sDepth == pSdata->m_sDepth &&
|
||||
@@ -270,6 +286,12 @@ MillingData::FromString( const string& sString, int& nKey)
|
||||
nKey = FindMillingKey( 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())
|
||||
@@ -290,6 +312,9 @@ MillingData::FromString( const string& sString, int& nKey)
|
||||
case KEY_FT :
|
||||
bOk = ::FromString( sVal, m_dTipFeed) ;
|
||||
break ;
|
||||
case KEY_FU :
|
||||
bOk = ::FromString( sVal, m_nFaceUse) ;
|
||||
break ;
|
||||
case KEY_INV :
|
||||
bOk = ::FromString( sVal, m_bInvert) ;
|
||||
break ;
|
||||
@@ -375,6 +400,9 @@ MillingData::FromString( const string& sString, int& nKey)
|
||||
case KEY_TH :
|
||||
bOk = ::FromString( sVal, m_dTabHeight) ;
|
||||
break ;
|
||||
case KEY_TI :
|
||||
bOk = ::FromString( sVal, m_bToolInvert) ;
|
||||
break ;
|
||||
case KEY_TL :
|
||||
bOk = ::FromString( sVal, m_dTabLen) ;
|
||||
break ;
|
||||
@@ -402,12 +430,15 @@ string
|
||||
MillingData::ToString( int nInd) const
|
||||
{
|
||||
switch ( nInd) {
|
||||
case KEY_AB : return ( sMillingKey[KEY_AB] + "=" + m_sBlockedAxis) ;
|
||||
case KEY_AI : return ( sMillingKey[KEY_AI] + "=" + m_sInitAngs) ;
|
||||
case KEY_DH : return ( sMillingKey[KEY_DH] + "=" + m_sDepth) ;
|
||||
case KEY_EAL : return ( sMillingKey[KEY_EAL] + "=" + ::ToString( m_dEndAddLen)) ;
|
||||
case KEY_F : return ( sMillingKey[KEY_F] + "=" + ::ToString( m_dFeed)) ;
|
||||
case KEY_FE : return ( sMillingKey[KEY_FE] + "=" + ::ToString( m_dEndFeed)) ;
|
||||
case KEY_FS : return ( sMillingKey[KEY_FS] + "=" + ::ToString( m_dStartFeed)) ;
|
||||
case KEY_FT : return ( sMillingKey[KEY_FT] + "=" + ::ToString( m_dTipFeed)) ;
|
||||
case KEY_FU : return ( sMillingKey[KEY_FU] + "=" + ::ToString( m_nFaceUse)) ;
|
||||
case KEY_INV : return ( sMillingKey[KEY_INV] + "=" + ::ToString( m_bInvert)) ;
|
||||
case KEY_LICL : return ( sMillingKey[KEY_LICL] + "=" + ::ToString( m_dLiCompLen)) ;
|
||||
case KEY_LIEL : return ( sMillingKey[KEY_LIEL] + "=" + ::ToString( m_dLiElev)) ;
|
||||
@@ -436,6 +467,7 @@ MillingData::ToString( int nInd) const
|
||||
case KEY_TA : return ( sMillingKey[KEY_TA] + "=" + ::ToString( m_dTabAngle)) ;
|
||||
case KEY_TD : return ( sMillingKey[KEY_TD] + "=" + ::ToString( m_dTabDist)) ;
|
||||
case KEY_TH : return ( sMillingKey[KEY_TH] + "=" + ::ToString( m_dTabHeight)) ;
|
||||
case KEY_TI : return ( sMillingKey[KEY_TI] + "=" + ::ToString( m_bToolInvert)) ;
|
||||
case KEY_TL : return ( sMillingKey[KEY_TL] + "=" + ::ToString( m_dTabLen)) ;
|
||||
case KEY_TNAME : return ( sMillingKey[KEY_TNAME] + "=" + m_sToolName) ;
|
||||
case KEY_TUUID : return ( sMillingKey[KEY_TUUID] + "=" + ::ToString( m_ToolUuid)) ;
|
||||
@@ -449,9 +481,10 @@ MillingData::ToString( int nInd) const
|
||||
bool
|
||||
MillingData::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_OL || nKey == KEY_OR || nKey == KEY_S ||
|
||||
nKey == KEY_SAL || nKey == KEY_SCC) ;
|
||||
return ( nKey == KEY_AB || nKey == KEY_AI || nKey == KEY_EAL || nKey == KEY_F ||
|
||||
nKey == KEY_FE || nKey == KEY_FS || nKey == KEY_FT || nKey == KEY_FU ||
|
||||
nKey == KEY_NNS || nKey == KEY_NNU || nKey == KEY_OL || nKey == KEY_OR ||
|
||||
nKey == KEY_S || nKey == KEY_SAL || nKey == KEY_SCC || nKey == KEY_TI) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
@@ -461,6 +494,16 @@ MillingData::VerifySolCh( int nVal) const
|
||||
return IsValidOperationScc( nVal) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
MillingData::VerifyFaceUse( int nVal) const
|
||||
{
|
||||
return ( nVal == MILL_FU_NONE ||
|
||||
( nVal >= MILL_FU_PARAL_DOWN && nVal <= MILL_FU_PARAL_RIGHT) ||
|
||||
( nVal >= MILL_FU_ORTHO_DOWN && nVal <= MILL_FU_ORTHO_CONT) ||
|
||||
( nVal >= MILL_FU_ORTUP_DOWN && nVal <= MILL_FU_ORTUP_CONT)) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
MillingData::VerifyWorkSide( int nVal) const
|
||||
@@ -532,9 +575,12 @@ MillingData::SetParam( int nType, bool bVal)
|
||||
case MPA_INVERT :
|
||||
m_bInvert = bVal ;
|
||||
return true ;
|
||||
case MPA_LEAVETAB :
|
||||
case MPA_LEAVETAB :
|
||||
m_bLeaveTab = bVal ;
|
||||
return true ;
|
||||
case MPA_TOOLINVERT :
|
||||
m_bToolInvert = bVal ;
|
||||
return true ;
|
||||
}
|
||||
return false ;
|
||||
}
|
||||
@@ -569,6 +615,11 @@ MillingData::SetParam( int nType, int nVal)
|
||||
return false ;
|
||||
m_nSolCh = nVal ;
|
||||
return true ;
|
||||
case MPA_FACEUSE :
|
||||
if ( ! VerifyFaceUse( nVal))
|
||||
return false ;
|
||||
m_nFaceUse = nVal ;
|
||||
return true ;
|
||||
}
|
||||
return false ;
|
||||
}
|
||||
@@ -686,6 +737,12 @@ MillingData::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 ;
|
||||
}
|
||||
@@ -710,6 +767,9 @@ MillingData::GetParam( int nType, bool& bVal) const
|
||||
case MPA_LEAVETAB :
|
||||
bVal = m_bLeaveTab ;
|
||||
return true ;
|
||||
case MPA_TOOLINVERT :
|
||||
bVal = m_bToolInvert ;
|
||||
return true ;
|
||||
}
|
||||
bVal = false ;
|
||||
return false ;
|
||||
@@ -738,6 +798,9 @@ MillingData::GetParam( int nType, int& nVal) const
|
||||
case MPA_SCC :
|
||||
nVal = m_nSolCh ;
|
||||
return true ;
|
||||
case MPA_FACEUSE :
|
||||
nVal = m_nFaceUse ;
|
||||
return true ;
|
||||
}
|
||||
nVal = 0 ;
|
||||
return false ;
|
||||
@@ -854,6 +917,12 @@ MillingData::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 ;
|
||||
|
||||
Reference in New Issue
Block a user