EgtExchange 2.3c2 :
- in ImportCNC gestiti offset anche degli eventuali assi rotanti.
This commit is contained in:
+30
-13
@@ -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 ;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user