EgtMachKernel :
- a lavorazione WaterJetting aggiunti parametri necessari.
This commit is contained in:
+196
-3
@@ -28,11 +28,18 @@ using namespace std ;
|
||||
enum nWaterJetting {
|
||||
KEY_AB = 0,
|
||||
KEY_AI,
|
||||
KEY_CSL,
|
||||
KEY_CSP,
|
||||
KEY_EAL,
|
||||
KEY_ECT,
|
||||
KEY_F,
|
||||
KEY_FA,
|
||||
KEY_FT,
|
||||
KEY_HPT,
|
||||
KEY_ICT,
|
||||
KEY_INV,
|
||||
KEY_LICL,
|
||||
KEY_LIH,
|
||||
KEY_LIHR,
|
||||
KEY_LIPR,
|
||||
KEY_LITG,
|
||||
@@ -41,11 +48,15 @@ enum nWaterJetting {
|
||||
KEY_LOPR,
|
||||
KEY_LOTG,
|
||||
KEY_LOTY,
|
||||
KEY_LPT,
|
||||
KEY_NAME,
|
||||
KEY_NNS,
|
||||
KEY_NNU,
|
||||
KEY_OR,
|
||||
KEY_OVL,
|
||||
KEY_PRB,
|
||||
KEY_PRBMAX,
|
||||
KEY_PRBMIN,
|
||||
KEY_S,
|
||||
KEY_SA,
|
||||
KEY_SAL,
|
||||
@@ -59,11 +70,18 @@ enum nWaterJetting {
|
||||
static const std::array<std::string,KEY_ZZZ> sWaterJettingKey = {
|
||||
"AB",
|
||||
"AI",
|
||||
"CSL",
|
||||
"CSP",
|
||||
"EAL",
|
||||
"ECT",
|
||||
"F",
|
||||
"FA",
|
||||
"FT",
|
||||
"HPT",
|
||||
"ICT",
|
||||
"INV",
|
||||
"LICL",
|
||||
"LIH",
|
||||
"LIHR",
|
||||
"LIPR",
|
||||
"LITG",
|
||||
@@ -72,11 +90,15 @@ static const std::array<std::string,KEY_ZZZ> sWaterJettingKey = {
|
||||
"LOPR",
|
||||
"LOTG",
|
||||
"LOTY",
|
||||
"LPT",
|
||||
"NAME",
|
||||
"NNS",
|
||||
"NNU",
|
||||
"OR",
|
||||
"OVL",
|
||||
"PRB",
|
||||
"PRBMAX",
|
||||
"PRBMIN",
|
||||
"S",
|
||||
"SA",
|
||||
"SAL",
|
||||
@@ -132,13 +154,24 @@ WaterJettingData::CopyFrom( const MachiningData* pMdata)
|
||||
m_nWorkSide = pSdata->m_nWorkSide ;
|
||||
m_dOverlap = pSdata->m_dOverlap ;
|
||||
m_dSideAngle = pSdata->m_dSideAngle ;
|
||||
m_dForwardAngle = pSdata->m_dForwardAngle ;
|
||||
m_dStartAddLen = pSdata->m_dStartAddLen ;
|
||||
m_dEndAddLen = pSdata->m_dEndAddLen ;
|
||||
m_bProbing = pSdata->m_bProbing ;
|
||||
m_dProbingMinDist = pSdata->m_dProbingMinDist ;
|
||||
m_dProbingMaxDist = pSdata->m_dProbingMaxDist ;
|
||||
m_nExtCornerType = pSdata->m_nExtCornerType ;
|
||||
m_nIntCornerType = pSdata->m_nIntCornerType ;
|
||||
m_dCornerSlowLen = pSdata->m_dCornerSlowLen ;
|
||||
m_nCornerSlowPerc = pSdata->m_nCornerSlowPerc ;
|
||||
m_nLeadInType = pSdata->m_nLeadInType ;
|
||||
m_dLiTang = pSdata->m_dLiTang ;
|
||||
m_dLiPerp = pSdata->m_dLiPerp ;
|
||||
m_dLiCompLen = pSdata->m_dLiCompLen ;
|
||||
m_bLiHole = pSdata->m_bLiHole ;
|
||||
m_dLiHoleRad = pSdata->m_dLiHoleRad ;
|
||||
m_nLpTurns = pSdata->m_nLpTurns ;
|
||||
m_nHpTurns = pSdata->m_nHpTurns ;
|
||||
m_nLeadOutType = pSdata->m_nLeadOutType ;
|
||||
m_dLoTang = pSdata->m_dLoTang ;
|
||||
m_dLoPerp = pSdata->m_dLoPerp ;
|
||||
@@ -175,13 +208,24 @@ WaterJettingData::SameAs( const MachiningData* pMdata) const
|
||||
m_nWorkSide == pSdata->m_nWorkSide &&
|
||||
abs( m_dOverlap - pSdata->m_dOverlap) < EPS_MACH_LEN_PAR &&
|
||||
abs( m_dSideAngle - pSdata->m_dSideAngle) < EPS_MACH_ANG_PAR &&
|
||||
abs( m_dForwardAngle - pSdata->m_dForwardAngle) < EPS_MACH_ANG_PAR &&
|
||||
abs( m_dStartAddLen - pSdata->m_dStartAddLen) < EPS_MACH_LEN_PAR &&
|
||||
abs( m_dEndAddLen - pSdata->m_dEndAddLen) < EPS_MACH_LEN_PAR &&
|
||||
m_bProbing == pSdata->m_bProbing &&
|
||||
abs( m_dProbingMinDist - pSdata->m_dProbingMinDist) < EPS_MACH_LEN_PAR &&
|
||||
abs( m_dProbingMaxDist - pSdata->m_dProbingMaxDist) < EPS_MACH_LEN_PAR &&
|
||||
m_nExtCornerType == pSdata->m_nExtCornerType &&
|
||||
m_nIntCornerType == pSdata->m_nIntCornerType &&
|
||||
abs( m_dCornerSlowLen - pSdata->m_dCornerSlowLen) < EPS_MACH_LEN_PAR &&
|
||||
m_nCornerSlowPerc == pSdata->m_nCornerSlowPerc &&
|
||||
m_nLeadInType == pSdata->m_nLeadInType &&
|
||||
abs( m_dLiTang - pSdata->m_dLiTang) < EPS_MACH_LEN_PAR &&
|
||||
abs( m_dLiPerp - pSdata->m_dLiPerp) < EPS_MACH_LEN_PAR &&
|
||||
abs( m_dLiCompLen - pSdata->m_dLiCompLen) < EPS_MACH_LEN_PAR &&
|
||||
m_bLiHole == pSdata->m_bLiHole &&
|
||||
abs( m_dLiHoleRad - pSdata->m_dLiHoleRad) < EPS_MACH_LEN_PAR &&
|
||||
m_nLpTurns == pSdata->m_nLpTurns &&
|
||||
m_nHpTurns == pSdata->m_nHpTurns &&
|
||||
m_nLeadOutType == pSdata->m_nLeadOutType &&
|
||||
abs( m_dLoTang - pSdata->m_dLoTang) < EPS_MACH_LEN_PAR &&
|
||||
abs( m_dLoPerp - pSdata->m_dLoPerp) < EPS_MACH_LEN_PAR &&
|
||||
@@ -232,21 +276,42 @@ WaterJettingData::FromString( const string& sString, int& nKey)
|
||||
case KEY_AI :
|
||||
m_sInitAngs = sVal ;
|
||||
break ;
|
||||
case KEY_CSL :
|
||||
bOk = ::FromString( sVal, m_dCornerSlowLen) ;
|
||||
break ;
|
||||
case KEY_CSP :
|
||||
bOk = ::FromString( sVal, m_nCornerSlowPerc) ;
|
||||
break ;
|
||||
case KEY_EAL :
|
||||
bOk = ::FromString( sVal, m_dEndAddLen) ;
|
||||
break ;
|
||||
case KEY_ECT :
|
||||
bOk = ::FromString( sVal, m_nExtCornerType) ;
|
||||
break ;
|
||||
case KEY_F :
|
||||
bOk = ::FromString( sVal, m_dFeed) ;
|
||||
break ;
|
||||
case KEY_FA :
|
||||
bOk = ::FromString( sVal, m_dForwardAngle) ;
|
||||
break ;
|
||||
case KEY_FT :
|
||||
bOk = ::FromString( sVal, m_dTipFeed) ;
|
||||
break ;
|
||||
case KEY_HPT :
|
||||
bOk = ::FromString( sVal, m_nHpTurns) ;
|
||||
break ;
|
||||
case KEY_ICT :
|
||||
bOk = ::FromString( sVal, m_nIntCornerType) ;
|
||||
break ;
|
||||
case KEY_INV :
|
||||
bOk = ::FromString( sVal, m_bInvert) ;
|
||||
break ;
|
||||
case KEY_LICL :
|
||||
bOk = ::FromString( sVal, m_dLiCompLen) ;
|
||||
break ;
|
||||
case KEY_LIH :
|
||||
bOk = ::FromString( sVal, m_bLiHole) ;
|
||||
break ;
|
||||
case KEY_LIHR :
|
||||
bOk = ::FromString( sVal, m_dLiHoleRad) ;
|
||||
break ;
|
||||
@@ -271,6 +336,9 @@ WaterJettingData::FromString( const string& sString, int& nKey)
|
||||
case KEY_LOTY :
|
||||
bOk = ::FromString( sVal, m_nLeadOutType) ;
|
||||
break ;
|
||||
case KEY_LPT :
|
||||
bOk = ::FromString( sVal, m_nLpTurns) ;
|
||||
break ;
|
||||
case KEY_NAME :
|
||||
m_sName = sVal ;
|
||||
bOk = ! m_sName.empty() ;
|
||||
@@ -284,6 +352,15 @@ WaterJettingData::FromString( const string& sString, int& nKey)
|
||||
case KEY_OR :
|
||||
bOk = ::FromString( sVal, m_dOffsR) ;
|
||||
break ;
|
||||
case KEY_PRB :
|
||||
bOk = ::FromString( sVal, m_bProbing) ;
|
||||
break ;
|
||||
case KEY_PRBMAX :
|
||||
bOk = ::FromString( sVal, m_dProbingMaxDist) ;
|
||||
break ;
|
||||
case KEY_PRBMIN :
|
||||
bOk = ::FromString( sVal, m_dProbingMinDist) ;
|
||||
break ;
|
||||
case KEY_OVL :
|
||||
bOk = ::FromString( sVal, m_dOverlap) ;
|
||||
break ;
|
||||
@@ -325,11 +402,18 @@ WaterJettingData::ToString( int nInd) const
|
||||
switch ( nInd) {
|
||||
case KEY_AB : return ( sWaterJettingKey[KEY_AB] + "=" + m_sBlockedAxis) ;
|
||||
case KEY_AI : return ( sWaterJettingKey[KEY_AI] + "=" + m_sInitAngs) ;
|
||||
case KEY_CSL : return ( sWaterJettingKey[KEY_CSL] + "=" + ::ToString( m_dCornerSlowLen)) ;
|
||||
case KEY_CSP : return ( sWaterJettingKey[KEY_CSP] + "=" + ::ToString( m_nCornerSlowPerc)) ;
|
||||
case KEY_EAL : return ( sWaterJettingKey[KEY_EAL] + "=" + ::ToString( m_dEndAddLen)) ;
|
||||
case KEY_ECT : return ( sWaterJettingKey[KEY_ECT] + "=" + ::ToString( m_nExtCornerType)) ;
|
||||
case KEY_F : return ( sWaterJettingKey[KEY_F] + "=" + ::ToString( m_dFeed)) ;
|
||||
case KEY_FA : return ( sWaterJettingKey[KEY_FA] + "=" + ::ToString( m_dForwardAngle)) ;
|
||||
case KEY_FT : return ( sWaterJettingKey[KEY_FT] + "=" + ::ToString( m_dTipFeed)) ;
|
||||
case KEY_HPT : return ( sWaterJettingKey[KEY_HPT] + "=" + ::ToString( m_nHpTurns)) ;
|
||||
case KEY_ICT : return ( sWaterJettingKey[KEY_ICT] + "=" + ::ToString( m_nIntCornerType)) ;
|
||||
case KEY_INV : return ( sWaterJettingKey[KEY_INV] + "=" + ::ToString( m_bInvert)) ;
|
||||
case KEY_LICL : return ( sWaterJettingKey[KEY_LICL] + "=" + ::ToString( m_dLiCompLen)) ;
|
||||
case KEY_LIH : return ( sWaterJettingKey[KEY_LIH] + "=" + ::ToString( m_bLiHole)) ;
|
||||
case KEY_LIHR : return ( sWaterJettingKey[KEY_LIHR] + "=" + ::ToString( m_dLiHoleRad)) ;
|
||||
case KEY_LIPR : return ( sWaterJettingKey[KEY_LIPR] + "=" + ::ToString( m_dLiPerp)) ;
|
||||
case KEY_LITG : return ( sWaterJettingKey[KEY_LITG] + "=" + ::ToString( m_dLiTang)) ;
|
||||
@@ -338,11 +422,15 @@ WaterJettingData::ToString( int nInd) const
|
||||
case KEY_LOPR : return ( sWaterJettingKey[KEY_LOPR] + "=" + ::ToString( m_dLoPerp)) ;
|
||||
case KEY_LOTG : return ( sWaterJettingKey[KEY_LOTG] + "=" + ::ToString( m_dLoTang)) ;
|
||||
case KEY_LOTY : return ( sWaterJettingKey[KEY_LOTY] + "=" + ::ToString( m_nLeadOutType)) ;
|
||||
case KEY_LPT : return ( sWaterJettingKey[KEY_LPT] + "=" + ::ToString( m_nLpTurns)) ;
|
||||
case KEY_NAME : return ( sWaterJettingKey[KEY_NAME] + "=" + m_sName) ;
|
||||
case KEY_NNS : return ( sWaterJettingKey[KEY_NNS] + "=" + m_sSysNotes) ;
|
||||
case KEY_NNU : return ( sWaterJettingKey[KEY_NNU] + "=" + m_sUserNotes) ;
|
||||
case KEY_OR : return ( sWaterJettingKey[KEY_OR] + "=" + ::ToString( m_dOffsR)) ;
|
||||
case KEY_OVL : return ( sWaterJettingKey[KEY_OVL] + "=" + ::ToString( m_dOverlap)) ;
|
||||
case KEY_PRB : return ( sWaterJettingKey[KEY_PRB] + "=" + ::ToString( m_bProbing)) ;
|
||||
case KEY_PRBMAX : return ( sWaterJettingKey[KEY_PRBMAX] + "=" + ::ToString( m_dProbingMaxDist)) ;
|
||||
case KEY_PRBMIN : return ( sWaterJettingKey[KEY_PRBMIN] + "=" + ::ToString( m_dProbingMinDist)) ;
|
||||
case KEY_S : return ( sWaterJettingKey[KEY_S] + "=" + ::ToString( m_dSpeed)) ;
|
||||
case KEY_SA : return ( sWaterJettingKey[KEY_SA] + "=" + ::ToString( m_dSideAngle)) ;
|
||||
case KEY_SAL : return ( sWaterJettingKey[KEY_SAL] + "=" + ::ToString( m_dStartAddLen)) ;
|
||||
@@ -359,7 +447,9 @@ WaterJettingData::ToString( int nInd) const
|
||||
bool
|
||||
WaterJettingData::IsOptional( int nKey) const
|
||||
{
|
||||
return false ;
|
||||
return ( nKey == KEY_FA || nKey == KEY_PRB || nKey == KEY_PRBMAX || nKey == KEY_PRBMIN ||
|
||||
nKey == KEY_ECT || nKey == KEY_ICT || nKey == KEY_CSL || nKey == KEY_CSP ||
|
||||
nKey == KEY_LIH || nKey == KEY_LIHR || nKey == KEY_LPT || nKey == KEY_HPT) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
@@ -376,12 +466,32 @@ WaterJettingData::VerifyWorkSide( int nVal) const
|
||||
return ( nVal == WJET_WS_CENTER || nVal == WJET_WS_LEFT || nVal == WJET_WS_RIGHT) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
WaterJettingData::VerifyExtCornerType( int nVal) const
|
||||
{
|
||||
return ( nVal == WJET_EC_NONE || nVal == WJET_EC_SLOW || nVal == WJET_EC_LOOP) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
WaterJettingData::VerifyIntCornerType( int nVal) const
|
||||
{
|
||||
return ( nVal == WJET_IC_NONE || nVal == WJET_IC_SLOW) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
WaterJettingData::VerifyCornerSlowPerc( int nVal) const
|
||||
{
|
||||
return ( nVal >= 0 && nVal <= 100) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
WaterJettingData::VerifyLeadInType( int nVal) const
|
||||
{
|
||||
return ( nVal == WJET_LI_NONE || nVal == WJET_LI_LINEAR ||
|
||||
nVal == WJET_LI_TANGENT) ;
|
||||
return ( nVal == WJET_LI_NONE || nVal == WJET_LI_LINEAR || nVal == WJET_LI_TANGENT) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
@@ -401,6 +511,15 @@ WaterJettingData::VerifySideAngle( double dVal) const
|
||||
return ( ( dVal > - MAX_SIDE_ANG && dVal < MAX_SIDE_ANG) || abs( dVal - AUTO_SIDE_ANG) < EPS_ANG_SMALL) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
WaterJettingData::VerifyForwardAngle( double dVal) const
|
||||
{
|
||||
const double MAX_FORW_ANG = 30.0 + EPS_ANG_SMALL ;
|
||||
const double AUTO_FORW_ANG = 99 ;
|
||||
return ( ( dVal > - EPS_ZERO && dVal < MAX_FORW_ANG) || abs( dVal - AUTO_FORW_ANG) < EPS_ANG_SMALL) ;
|
||||
}
|
||||
|
||||
//----------------------------------------------------------------------------
|
||||
bool
|
||||
WaterJettingData::VerifyTool( const ToolsMgr* pToolsMgr, const std::string& sVal, const ToolData*& pTdata) const
|
||||
@@ -433,6 +552,12 @@ WaterJettingData::SetParam( int nType, bool bVal)
|
||||
case MPA_INVERT :
|
||||
m_bInvert = bVal ;
|
||||
return true ;
|
||||
case MPA_PROBING :
|
||||
m_bProbing = bVal ;
|
||||
return true ;
|
||||
case MPA_LIHOLE :
|
||||
m_bLiHole = bVal ;
|
||||
return true ;
|
||||
}
|
||||
return false ;
|
||||
}
|
||||
@@ -447,6 +572,21 @@ WaterJettingData::SetParam( int nType, int nVal)
|
||||
return false ;
|
||||
m_nWorkSide = nVal ;
|
||||
return true ;
|
||||
case MPA_EXTCORNERTYPE :
|
||||
if ( ! VerifyExtCornerType( nVal))
|
||||
return false ;
|
||||
m_nExtCornerType = nVal ;
|
||||
break ;
|
||||
case MPA_INTCORNERTYPE :
|
||||
if ( ! VerifyIntCornerType( nVal))
|
||||
return false ;
|
||||
m_nIntCornerType = nVal ;
|
||||
break ;
|
||||
case MPA_CORNERSLOWPERC :
|
||||
if ( ! VerifyCornerSlowPerc( nVal))
|
||||
return false ;
|
||||
m_nCornerSlowPerc = nVal ;
|
||||
break ;
|
||||
case MPA_LEADINTYPE :
|
||||
if ( ! VerifyLeadInType( nVal))
|
||||
return false ;
|
||||
@@ -457,6 +597,12 @@ WaterJettingData::SetParam( int nType, int nVal)
|
||||
return false ;
|
||||
m_nLeadOutType = nVal ;
|
||||
return true ;
|
||||
case MPA_LPTURNS :
|
||||
m_nLpTurns = nVal ;
|
||||
break ;
|
||||
case MPA_HPTURNS :
|
||||
m_nHpTurns = nVal ;
|
||||
break ;
|
||||
case MPA_SCC :
|
||||
if ( ! VerifySolCh( nVal))
|
||||
return false ;
|
||||
@@ -491,12 +637,26 @@ WaterJettingData::SetParam( int nType, double dVal)
|
||||
return false ;
|
||||
m_dSideAngle = dVal ;
|
||||
return true ;
|
||||
case MPA_FORWARDANGLE :
|
||||
if ( ! VerifyForwardAngle( dVal))
|
||||
return false ;
|
||||
m_dForwardAngle = dVal ;
|
||||
return true ;
|
||||
case MPA_STARTADDLEN :
|
||||
m_dStartAddLen = dVal ;
|
||||
return true ;
|
||||
case MPA_ENDADDLEN :
|
||||
m_dEndAddLen = dVal ;
|
||||
return true ;
|
||||
case MPA_PROBINGMINDIST :
|
||||
m_dProbingMinDist = dVal ;
|
||||
return true ;
|
||||
case MPA_PROBINGMAXDIST :
|
||||
m_dProbingMaxDist = dVal ;
|
||||
return true ;
|
||||
case MPA_CORNERSLOWLEN :
|
||||
m_dCornerSlowLen = dVal ;
|
||||
return true ;
|
||||
case MPA_LITANG :
|
||||
m_dLiTang = dVal ;
|
||||
return true ;
|
||||
@@ -570,6 +730,12 @@ WaterJettingData::GetParam( int nType, bool& bVal) const
|
||||
case MPA_INVERT :
|
||||
bVal = m_bInvert ;
|
||||
return true ;
|
||||
case MPA_PROBING :
|
||||
bVal = m_bProbing ;
|
||||
return true ;
|
||||
case MPA_LIHOLE :
|
||||
bVal = m_bLiHole ;
|
||||
return true ;
|
||||
}
|
||||
bVal = false ;
|
||||
return false ;
|
||||
@@ -586,12 +752,27 @@ WaterJettingData::GetParam( int nType, int& nVal) const
|
||||
case MPA_WORKSIDE :
|
||||
nVal = m_nWorkSide ;
|
||||
return true ;
|
||||
case MPA_EXTCORNERTYPE :
|
||||
nVal = m_nExtCornerType ;
|
||||
return true ;
|
||||
case MPA_INTCORNERTYPE :
|
||||
nVal = m_nIntCornerType ;
|
||||
return true ;
|
||||
case MPA_CORNERSLOWPERC :
|
||||
nVal = m_nCornerSlowPerc ;
|
||||
return true ;
|
||||
case MPA_LEADINTYPE :
|
||||
nVal = m_nLeadInType ;
|
||||
return true ;
|
||||
case MPA_LEADOUTTYPE :
|
||||
nVal = m_nLeadOutType ;
|
||||
return true ;
|
||||
case MPA_LPTURNS :
|
||||
nVal = m_nLpTurns ;
|
||||
return true ;
|
||||
case MPA_HPTURNS :
|
||||
nVal = m_nHpTurns ;
|
||||
return true ;
|
||||
case MPA_SCC :
|
||||
nVal = m_nSolCh ;
|
||||
return true ;
|
||||
@@ -623,12 +804,24 @@ WaterJettingData::GetParam( int nType, double& dVal) const
|
||||
case MPA_SIDEANGLE :
|
||||
dVal = m_dSideAngle ;
|
||||
return true ;
|
||||
case MPA_FORWARDANGLE :
|
||||
dVal = m_dForwardAngle ;
|
||||
return true ;
|
||||
case MPA_STARTADDLEN :
|
||||
dVal = m_dStartAddLen ;
|
||||
return true ;
|
||||
case MPA_ENDADDLEN :
|
||||
dVal = m_dEndAddLen ;
|
||||
return true ;
|
||||
case MPA_PROBINGMINDIST :
|
||||
dVal = m_dProbingMinDist ;
|
||||
return true ;
|
||||
case MPA_PROBINGMAXDIST :
|
||||
dVal = m_dProbingMaxDist ;
|
||||
return true ;
|
||||
case MPA_CORNERSLOWLEN :
|
||||
dVal = m_dCornerSlowLen ;
|
||||
return true ;
|
||||
case MPA_LITANG :
|
||||
dVal = m_dLiTang ;
|
||||
return true ;
|
||||
|
||||
Reference in New Issue
Block a user