EgtMachKernel :
- in taglio di lama aggiunta feed per passata di ritorno.
This commit is contained in:
@@ -71,6 +71,8 @@ MPA2TPA( int nType)
|
||||
case MPA_STARTFEED : return TPA_STARTFEED ;
|
||||
case MPA_ENDFEED : return TPA_ENDFEED ;
|
||||
case MPA_TIPFEED : return TPA_TIPFEED ;
|
||||
case MPA_VERTFEED : return TPA_FEED ;
|
||||
case MPA_BACKFEED : return TPA_FEED ;
|
||||
case MPA_OFFSR : return TPA_RADOFFSET ;
|
||||
case MPA_OFFSL : return TPA_LONOFFSET ;
|
||||
}
|
||||
|
||||
+4
-4
@@ -798,8 +798,8 @@ MachiningsMgr::SetCurrMachiningParam( int nType, double dVal)
|
||||
return m_pCurrMach->SetParam( nType, dVal) ;
|
||||
}
|
||||
// se feed
|
||||
else if ( nType == MPA_FEED ||
|
||||
nType == MPA_STARTFEED || nType == MPA_ENDFEED || nType == MPA_TIPFEED || nType == MPA_VERTFEED) {
|
||||
else if ( nType == MPA_FEED || nType == MPA_STARTFEED || nType == MPA_ENDFEED ||
|
||||
nType == MPA_TIPFEED || nType == MPA_VERTFEED || nType == MPA_BACKFEED) {
|
||||
// recupero valore da utensile
|
||||
const ToolData* pTdata ;
|
||||
if ( ! m_pCurrMach->GetTool( m_pTsMgr, pTdata))
|
||||
@@ -945,8 +945,8 @@ MachiningsMgr::GetCurrMachiningParam( int nType, double& dVal) const
|
||||
return pTdata->GetParam( MPA2TPA( nType), dVal) ;
|
||||
}
|
||||
// se feed
|
||||
else if ( nType == MPA_FEED ||
|
||||
nType == MPA_STARTFEED || nType == MPA_ENDFEED || nType == MPA_TIPFEED || nType == MPA_VERTFEED) {
|
||||
else if ( nType == MPA_FEED || nType == MPA_STARTFEED || nType == MPA_ENDFEED ||
|
||||
nType == MPA_TIPFEED || nType == MPA_VERTFEED || nType == MPA_BACKFEED) {
|
||||
// recupero il valore
|
||||
if ( ! m_pCurrMach->GetParam( nType, dVal))
|
||||
return false ;
|
||||
|
||||
+7
-1
@@ -296,6 +296,9 @@ Sawing::SetParam( int nType, double dVal)
|
||||
case MPA_TIPFEED :
|
||||
m_Params.m_dTipFeed = ( AreSameLenValue( dVal, m_TParams.m_dTipFeed) ? 0 : dVal) ;
|
||||
return true ;
|
||||
case MPA_BACKFEED :
|
||||
m_Params.m_dBackFeed = ( AreSameLenValue( dVal, m_TParams.m_dFeed) ? 0 : dVal) ;
|
||||
return true ;
|
||||
case MPA_OFFSR :
|
||||
m_Params.m_dOffsR = ( AreSameLenValue( dVal, m_TParams.m_dOffsR) ? UNKNOWN_PAR : dVal) ;
|
||||
return true ;
|
||||
@@ -676,6 +679,9 @@ Sawing::GetParam( int nType, double& dVal) const
|
||||
case MPA_TIPFEED :
|
||||
dVal = GetTipFeed() ;
|
||||
return true ;
|
||||
case MPA_BACKFEED :
|
||||
dVal = GetBackFeed() ;
|
||||
return true ;
|
||||
case MPA_OFFSR :
|
||||
dVal =GetOffsR() ;
|
||||
return true ;
|
||||
@@ -1738,7 +1744,7 @@ Sawing::GenerateLineCl( const ICurveLine* pLine, const Vector3d& vtTool, const V
|
||||
if ( AddLinearMove( ptP2) == GDB_ID_NULL)
|
||||
return false ;
|
||||
// movimento di lato
|
||||
SetFeed( GetFeed()) ;
|
||||
SetFeed( ( IsEven( i) ? GetBackFeed() : GetFeed())) ;
|
||||
if ( AddLinearMove( ptP3) == GDB_ID_NULL)
|
||||
return false ;
|
||||
}
|
||||
|
||||
@@ -137,6 +137,8 @@ class Sawing : public Machining
|
||||
{ return ( IsNullLenValue( m_Params.m_dEndFeed) ? m_TParams.m_dEndFeed : m_Params.m_dEndFeed) ; }
|
||||
double GetTipFeed( void) const
|
||||
{ return ( IsNullLenValue( m_Params.m_dTipFeed) ? m_TParams.m_dTipFeed : m_Params.m_dTipFeed) ; }
|
||||
double GetBackFeed( void) const
|
||||
{ return ( IsNullLenValue( m_Params.m_dBackFeed) ? m_TParams.m_dFeed : m_Params.m_dBackFeed) ; }
|
||||
double GetOffsL( void) const
|
||||
{ return ( IsUnknownValue( m_Params.m_dOffsL) ? m_TParams.m_dOffsL : m_Params.m_dOffsL) ; }
|
||||
double GetOffsR( void) const
|
||||
|
||||
+15
-1
@@ -33,6 +33,7 @@ enum nSawingKey {
|
||||
KEY_DH,
|
||||
KEY_EAL,
|
||||
KEY_F,
|
||||
KEY_FB,
|
||||
KEY_FE,
|
||||
KEY_FS,
|
||||
KEY_FT,
|
||||
@@ -72,6 +73,7 @@ static const std::array<std::string,KEY_ZZZ> sSawingKey = {
|
||||
"DH",
|
||||
"EAL",
|
||||
"F",
|
||||
"FB",
|
||||
"FE",
|
||||
"FS",
|
||||
"FT",
|
||||
@@ -145,6 +147,7 @@ SawingData::CopyFrom( const MachiningData* pMdata)
|
||||
m_dEndFeed = pSdata->m_dEndFeed ;
|
||||
m_dStartFeed = pSdata->m_dStartFeed ;
|
||||
m_dTipFeed = pSdata->m_dTipFeed ;
|
||||
m_dBackFeed = pSdata->m_dBackFeed ;
|
||||
m_dOffsL = pSdata->m_dOffsL ;
|
||||
m_dOffsR = pSdata->m_dOffsR ;
|
||||
m_bInvert = pSdata->m_bInvert ;
|
||||
@@ -196,6 +199,7 @@ SawingData::SameAs(const MachiningData* pMdata) const
|
||||
AreSameLenValue( m_dEndFeed, pSdata->m_dEndFeed) &&
|
||||
AreSameLenValue( m_dStartFeed, pSdata->m_dStartFeed) &&
|
||||
AreSameLenValue( m_dTipFeed, pSdata->m_dTipFeed) &&
|
||||
AreSameLenValue( m_dBackFeed, pSdata->m_dBackFeed) &&
|
||||
AreSameLenValue( m_dOffsL, pSdata->m_dOffsL) &&
|
||||
AreSameLenValue( m_dOffsR, pSdata->m_dOffsR) &&
|
||||
m_bInvert == pSdata->m_bInvert &&
|
||||
@@ -281,6 +285,9 @@ SawingData::FromString( const string& sString, int& nKey)
|
||||
case KEY_F :
|
||||
bOk = ::FromString( sVal, m_dFeed) ;
|
||||
break ;
|
||||
case KEY_FB :
|
||||
bOk = ::FromString( sVal, m_dBackFeed) ;
|
||||
break ;
|
||||
case KEY_FE :
|
||||
bOk = ::FromString( sVal, m_dEndFeed) ;
|
||||
break ;
|
||||
@@ -388,6 +395,7 @@ SawingData::ToString( int nInd) const
|
||||
case KEY_DH : return ( sSawingKey[KEY_DH] + "=" + m_sDepth) ;
|
||||
case KEY_EAL : return ( sSawingKey[KEY_EAL] + "=" + ::ToString( m_dEndAddLen)) ;
|
||||
case KEY_F : return ( sSawingKey[KEY_F] + "=" + ::ToString( m_dFeed)) ;
|
||||
case KEY_FB : return ( sSawingKey[KEY_FB] + "=" + ::ToString( m_dBackFeed)) ;
|
||||
case KEY_FE : return ( sSawingKey[KEY_FE] + "=" + ::ToString( m_dEndFeed)) ;
|
||||
case KEY_FS : return ( sSawingKey[KEY_FS] + "=" + ::ToString( m_dStartFeed)) ;
|
||||
case KEY_FT : return ( sSawingKey[KEY_FT] + "=" + ::ToString( m_dTipFeed)) ;
|
||||
@@ -426,7 +434,7 @@ bool
|
||||
SawingData::IsOptional( int nKey) const
|
||||
{
|
||||
return ( nKey == KEY_AB || nKey == KEY_AI ||
|
||||
nKey == KEY_F || nKey == KEY_FE || nKey == KEY_FS || nKey == KEY_FT ||
|
||||
nKey == KEY_F || nKey == KEY_FB || 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_SCC || nKey == KEY_STB || nKey == KEY_STEA || nKey == KEY_STIA ||
|
||||
nKey == KEY_STSA || nKey == KEY_STSAB) ;
|
||||
@@ -605,6 +613,9 @@ SawingData::SetParam( int nType, double dVal)
|
||||
case MPA_TIPFEED :
|
||||
m_dTipFeed = dVal ;
|
||||
return true ;
|
||||
case MPA_BACKFEED :
|
||||
m_dBackFeed = dVal ;
|
||||
return true ;
|
||||
case MPA_OFFSL :
|
||||
m_dOffsL = dVal ;
|
||||
return true ;
|
||||
@@ -766,6 +777,9 @@ SawingData::GetParam( int nType, double& dVal) const
|
||||
case MPA_TIPFEED :
|
||||
dVal = m_dTipFeed ;
|
||||
return true ;
|
||||
case MPA_BACKFEED :
|
||||
dVal = m_dBackFeed ;
|
||||
return true ;
|
||||
case MPA_OFFSL :
|
||||
dVal = m_dOffsL ;
|
||||
return true ;
|
||||
|
||||
+8
-7
@@ -24,10 +24,11 @@ struct SawingData : public MachiningData
|
||||
std::string m_sBlockedAxis ; // eventuale asse rotante bloccato (Nome=val)
|
||||
int m_nSolCh ; // criterio scelta soluzione (quando possibili molteplici)
|
||||
double m_dSpeed ; // velocità di rotazione (+ se CCW, - se CW) ( se 0 da utensile)
|
||||
double m_dFeed ; // velocità di lavorazione normale ( se 0 da utensile)
|
||||
double m_dStartFeed ; // velocità di lavorazione iniziale ( se 0 da utensile)
|
||||
double m_dEndFeed ; // velocità di lavorazione finale ( se 0 da utensile)
|
||||
double m_dTipFeed ; // velocità di lavorazione di testa ( se 0 da utensile)
|
||||
double m_dFeed ; // velocità di lavorazione normale ( se 0 da utensile)
|
||||
double m_dStartFeed ; // velocità di lavorazione iniziale ( se 0 da utensile)
|
||||
double m_dEndFeed ; // velocità di lavorazione finale ( se 0 da utensile)
|
||||
double m_dTipFeed ; // velocità di lavorazione di testa ( se 0 da utensile)
|
||||
double m_dBackFeed ; // velocità di lavorazione al ritorno ( se 0 da utensile)
|
||||
double m_dOffsR ; // offset radiale ( se UNKNOWN_PAR da utensile)
|
||||
double m_dOffsL ; // offset longitudinale ( se UNKNOWN_PAR da utensile)
|
||||
bool m_bInvert ; // flag di inversione direzione lavorazione
|
||||
@@ -36,9 +37,9 @@ struct SawingData : public MachiningData
|
||||
std::string m_sDepth ; // affondamento (espressione numerica)
|
||||
double m_dStartPos ; // quota di inizio lavorazione (sempre >= 0)
|
||||
double m_dStep ; // passo di affondamento (0=nessun passo)
|
||||
double m_dStepBack ; // passo di affondamento all'indietro (0=nessun passo)
|
||||
double m_dStepBack ; // passo di affondamento al ritorno (0=nessun passo)
|
||||
double m_dStepSideAng ; // passo di affondameto su tagli inclinati (0=nessun passo)
|
||||
double m_dStepSideAngBack ;// passo di affondameto su tagli inclinati all'indietro (0=nessun passo)
|
||||
double m_dStepSideAngBack ;// passo di affondameto su tagli inclinati al ritorno (0=nessun passo)
|
||||
double m_dStepExtArc ; // passo di affondamento su esterno archi (0=nessun passo)
|
||||
double m_dStepIntArc ; // passo di affondamento su interno archi (0=nessun passo)
|
||||
int m_nStepType ; // tipo di lavorazione a step (a gradini, una via, va e vieni)
|
||||
@@ -54,7 +55,7 @@ struct SawingData : public MachiningData
|
||||
std::string m_sUserNotes ; // note dell'utente
|
||||
|
||||
SawingData( void)
|
||||
: m_ToolUuid(), m_nSolCh( 0), m_dSpeed( 0), m_dFeed( 0), m_dStartFeed( 0), m_dEndFeed( 0), m_dTipFeed( 0),
|
||||
: m_ToolUuid(), m_nSolCh( 0), m_dSpeed( 0), m_dFeed( 0), m_dStartFeed( 0), m_dEndFeed( 0), m_dTipFeed( 0), m_dBackFeed( 0),
|
||||
m_dOffsR( UNKNOWN_PAR), m_dOffsL( UNKNOWN_PAR),
|
||||
m_bInvert( false), m_nWorkSide( 0), m_nHeadSide(0), m_dStartPos( 0), m_dStep( 0), m_dStepBack( UNKNOWN_PAR),
|
||||
m_dStepSideAng( UNKNOWN_PAR), m_dStepSideAngBack( UNKNOWN_PAR), m_dStepExtArc( 0), m_dStepIntArc( 0), m_nStepType( 0),
|
||||
|
||||
Reference in New Issue
Block a user