EgtExchange 2.3c2 :

- in ImportCNC gestiti offset anche degli eventuali assi rotanti.
This commit is contained in:
Dario Sassi
2021-03-22 14:36:59 +00:00
parent 98086adadd
commit 07f5866b2a
3 changed files with 33 additions and 13 deletions
+30 -13
View File
@@ -118,6 +118,9 @@ ImportCnc::Import( const string& sFile, IGeomDB* pGDB, int nIdGroup, int nFlag)
m_dRotAxB = NAN ;
m_dRotAxC = NAN ;
SaveRotAxes() ;
m_dOffsAxA = 0 ;
m_dOffsAxB = 0 ;
m_dOffsAxC = 0 ;
m_colCurr = BLACK ;
m_sToolName.clear() ;
m_nExit = 1 ;
@@ -459,11 +462,13 @@ ImportCnc::ParseG( const string& sToken)
case 56 :
case 57 :
m_vtOffs = V_NULL ;
m_dOffsAxA = 0 ; m_dOffsAxB = 0 ; m_dOffsAxC = 0 ;
break ;
case 58 :
case 59 :
m_nCommand = OFFS ;
m_vtOffs = V_NULL ;
m_dOffsAxA = 0 ; m_dOffsAxB = 0 ; m_dOffsAxC = 0 ;
break ;
case 70 :
m_dLinCoeff = ONEINCH ;
@@ -679,10 +684,14 @@ ImportCnc::ParseA( const string& sToken)
{
double dVal ;
int nStart = ( sToken[1] == '=' ? 2 : 1) ;
if ( ! FromString( sToken.substr( nStart), dVal))
dVal = 0 ;
m_dRotAxA = ( m_bAbsCoord ? dVal : m_dRotAxA + dVal) ;
m_bToMove = true ;
if ( FromString( sToken.substr( nStart), dVal)) {
if ( m_nCommand == OFFS)
m_dOffsAxA = dVal ;
else {
m_dRotAxA = ( m_bAbsCoord ? m_dOffsAxA + dVal : m_dRotAxA + dVal) ;
m_bToMove = true ;
}
}
return true ;
}
@@ -692,10 +701,14 @@ ImportCnc::ParseB( const string& sToken)
{
double dVal ;
int nStart = ( sToken[1] == '=' ? 2 : 1) ;
if ( ! FromString( sToken.substr( nStart), dVal))
dVal = 0 ;
m_dRotAxB = ( m_bAbsCoord ? dVal : m_dRotAxB + dVal) ;
m_bToMove = true ;
if ( FromString( sToken.substr( nStart), dVal)) {
if ( m_nCommand == OFFS)
m_dOffsAxB = dVal ;
else {
m_dRotAxB = ( m_bAbsCoord ? m_dOffsAxB + dVal : m_dRotAxB + dVal) ;
m_bToMove = true ;
}
}
return true ;
}
@@ -713,13 +726,17 @@ ImportCnc::ParseC( const string& sToken)
m_nArcType = RADIUS ;
return true ;
}
// altrimenti è l'asse rotante C
// altrimenti può essere l'asse rotante C
double dVal ;
int nStart = ( sToken[1] == '=' ? 2 : 1) ;
if ( ! FromString( sToken.substr( nStart), dVal))
dVal = 0 ;
m_dRotAxC = ( m_bAbsCoord ? dVal : m_dRotAxC + dVal) ;
m_bToMove = true ;
if ( FromString( sToken.substr( nStart), dVal)) {
if ( m_nCommand == OFFS)
m_dOffsAxC = dVal ;
else {
m_dRotAxC = ( m_bAbsCoord ? m_dOffsAxC + dVal : m_dRotAxC + dVal) ;
m_bToMove = true ;
}
}
return true ;
}